
Buscador con formulario
Publicado por Octavi (6 intervenciones) el 05/11/2015 10:32:37
Saludos a todos,
Estoy intentando hacer un buscador con diferentes columnas de una tabla.
Lo idela seria que pudiera rellenar los campos que quisiera y que me salieran las coincidencias con estos.
Para hacer-lo he partido de un buscador simple, que te da coincidencias sólo de una columna.
Ya llevo bastantes horas probando diferentes combinacions y no consigo que me funcione, lo raro es que no me sale error, bueno no me sale nada a parte del header...
Culquier tipo de ayuda, se agradecerá mucho.
Muchas gracias por su tiempo!!
CODIGO: Buscar1.php (formulario)
CODIGO: BuscarFrm.php (acción)
Estoy intentando hacer un buscador con diferentes columnas de una tabla.
Lo idela seria que pudiera rellenar los campos que quisiera y que me salieran las coincidencias con estos.
Para hacer-lo he partido de un buscador simple, que te da coincidencias sólo de una columna.
Ya llevo bastantes horas probando diferentes combinacions y no consigo que me funcione, lo raro es que no me sale error, bueno no me sale nada a parte del header...
Culquier tipo de ayuda, se agradecerá mucho.
Muchas gracias por su tiempo!!
CODIGO: Buscar1.php (formulario)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<html>
<head>
<title>GRUPO PREMO</title>
<META http-equiv="Content-Type" CONTENT="text/html; charset=utf-8">
</head>
<body bgcolor="#F75353">
<center>
<form name="buscar" action="BuscarFrm.php" method="get">
<table align="center" bgcolor="#A9E2F3">
<tr>
<td>IdRFQ</td>
<td colspan="3"> <input type="text" name="IdRFQ" size="50" /></td>
<td>Data</td>
<td colspan="3"> <input type="text" name="Data" size="50" /></td>
<td>Supplier</td>
<td colspan="3"> <input type="text" name="Suppliers" size="50" /></td>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<td>Project Part Nombre</td>
<td colspan="3"> <input type="text" name="Project Part Nombre" size="50" /></td>
<td>RM Part Number</td>
<td colspan="3"> <input type="text" name="RM Part Number" size="50" /></td>
<td>Price</td>
<td colspan="3"> <input type="text" name="Price" size="50" /></td>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<tr>
<td>Cry2</td>
<td colspan="3"> <input type="text" name="Cry2" size="50" /></td>
<td>MOQ</td>
<td colspan="3"> <input type="text" name="MOQ" size="50" /></td>
<td>Volume</td>
<td colspan="3"> <input type="text" name="Volume" size="50" /></td>
</tr>
<tr>
<td colspan="4">
<right><input type="submit" name="buscar"value="Serch"/>
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
CODIGO: BuscarFrm.php (acción)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
include '../header.php';
?>
<td>
<?php
// conectar al servidor
$server_link = mysql_connect("localhost", "root", "");
if(!$server_link){
die("Falló la Conexión ". mysql_error());
}
// seleccionamos la base de datos
$db_selected = mysql_select_db("bd_ofertas_para_productos", $server_link);
if(!$db_selected){
die("No se pudo seleccionar la Base de Datos ". mysql_error());
}
// varificamos que el formulario halla sido enviado
if(isset($_GET['buscar']) && $_GET['buscar'] == 'Buscar'){
$IdRFQ = $_GET['IdRFQ'];
$Data = $_GET['data'];
$Suppliers = $_GET['suppliers'];
$Price = $_GET['price'];
$Cry2 = $_GET['cry2'];
$MOQ = $_GET['moq'];
$Volume = $_GET['volume'];
$Investment = $_GET['investment'];
$Cry = $_GET['cry'];
$Timing = $_GET['timing'];
$Incoterms = $_GET['incoterms'];
$Comments = $_GET['comments'];
// hacemos la consulta de busqueda
$sqlBuscar = mysql_query("SELECT idrfq, data, suppliers, Project Part Nombre, RM Part Number, Price, Cry2, MOQ, Volume
MATCH (idrfq, data, suppliers, Project Part Nombre, RM Part Number, Price, Cry2, MOQ, Volume)
AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
FROM rfq
WHERE MATCH (idrfq, data, suppliers, Project Part Nombre, RM Part Number, Price, Cry2, MOQ, Volume)
AGAINST ('$frase' IN BOOLEAN MODE)
ORDER BY coincidencias DESC", $server_link)
or die(mysql_error());
$totalRows = mysql_num_rows($sqlBuscar);
// Enviamos un mensaje
// indicando la cantidad de resultados ($totalRows)
// para la frase busada ($frase)
if(!empty($totalRows)){
echo stripslashes("<p>Su busqueda arrojo; <strong>$totalRows</strong> resultados para <strong>$frase</strong></p>");
// mostramos los resultados
while($row = mysql_fetch_array($sqlBuscar)){
echo "<strong><a href='#'>$row[suppliers]</a>:</strong> <em>Coincidencias: ". round($row['coincidencias']) ."</em><br />";
echo "<p>".substr(strip_tags($row['suppliers']), 0, 255)."...</p>";
}
}
// si se ha enviado vacio el formulario
// mostramos un mensaje del tipo Oops...!
elseif(empty($_GET['frase'])){
echo "Debe introducir una palabra o frase.";
}
// si no hay resultados
// otro mensaje del tipo Oops...!
elseif($totalRows == 0){
echo stripslashes("Su busqueda no arrojo resultados para <strong>$frase</strong>");
}
}
?>
Valora esta pregunta


0