Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/11/2015, 05:00
ommmm
 
Fecha de Ingreso: octubre-2015
Ubicación: Barcelona
Mensajes: 66
Antigüedad: 8 años, 7 meses
Puntos: 0
Pregunta Buscador con formulario

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.
Gracias por su tiempo!!


CODIGO: Buscar1.php (formulario)

Código HTML:
Ver original
  1.     <head>
  2.         <title>GRUPO PREMO</title>
  3.         <META http-equiv="Content-Type" CONTENT="text/html; charset=utf-8">
  4.     </head>
  5.  
  6.  
  7.     <body bgcolor="#F75353">
  8.     <center>
  9.  
  10. <form name="buscar" action="BuscarFrm.php" method="get">
  11. <table align="center" bgcolor="#A9E2F3">
  12.                     <tr>
  13.                      
  14.            
  15.  
  16.  
  17.                         <td>IdRFQ</td>
  18.                         <td colspan="3"> <input type="text" name="IdRFQ" size="50"  /></td>
  19.            
  20.                         <td>Data</td>
  21.                         <td colspan="3"> <input type="text" name="Data" size="50"  /></td>
  22.  
  23.                          <td>Supplier</td>
  24.                         <td colspan="3"> <input type="text" name="Suppliers" size="50" /></td>
  25.  
  26.  <tr>
  27.             <tr>
  28.              <tr>
  29.             <tr>
  30.             <tr>
  31.             <tr>
  32.              <tr>
  33.             <tr>
  34.             <tr>
  35.             <tr>
  36.             <tr>
  37.             <tr>
  38.             <tr>
  39.             <tr>
  40.             <tr>
  41.             <tr>
  42.                         <td>Project Part Nombre</td>
  43.                         <td colspan="3"> <input type="text" name="Project Part Nombre" size="50" /></td>
  44.  
  45.                         <td>RM Part Number</td>
  46.                         <td colspan="3"> <input type="text" name="RM Part Number" size="50" /></td>
  47.  
  48.                         <td>Price</td>
  49.                         <td colspan="3"> <input type="text" name="Price" size="50" /></td>
  50.                      
  51.  <tr>
  52.             <tr>
  53.              <tr>
  54.             <tr>
  55.             <tr>
  56.             <tr>
  57.              <tr>
  58.             <tr>
  59.             <tr>
  60.             <tr>
  61.             <tr>
  62.             <tr>
  63.             <tr>
  64.             <tr>
  65.             <tr>
  66.             <tr>  
  67.                         <td>Cry2</td>
  68.                         <td colspan="3"> <input type="text" name="Cry2" size="50" /></td>    
  69.  
  70.                         <td>MOQ</td>
  71.                         <td colspan="3"> <input type="text" name="MOQ" size="50" /></td>  
  72.  
  73.                         <td>Volume</td>
  74.                         <td colspan="3"> <input type="text" name="Volume" size="50" /></td>              
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.                     </tr>
  82.                     <tr>
  83.                         <td colspan="4">
  84.                             <right><input type="submit" name="buscar"value="Serch"/>    
  85.                         </td>
  86.                     </tr>
  87.                 </table>
  88. </form>
  89. </center>
  90. </body>
  91. </html>



CODIGO: BuscarFrm.php (acción)

Código PHP:
Ver original
  1. <?php
  2.          
  3.         include '../header.php';
  4.     ?>
  5.  
  6.     <td>
  7. <?php
  8. // conectar al servidor
  9. $server_link = mysql_connect("localhost", "root", "");
  10. if(!$server_link){
  11.     die("Fall&oacute; la Conexi&oacute;n ". mysql_error());
  12. }
  13. // seleccionamos la base de datos
  14. $db_selected = mysql_select_db("bd_ofertas_para_productos", $server_link);
  15. if(!$db_selected){
  16.     die("No se pudo seleccionar la Base de Datos ". mysql_error());
  17. }
  18. // varificamos que el formulario halla sido enviado
  19. if(isset($_GET['buscar']) && $_GET['buscar'] == 'Buscar'){
  20.    
  21.     // hacemos la consulta de busqueda
  22.     $sqlBuscar = mysql_query("SELECT idrfq, data, suppliers, Project Part Nombre, RM Part Number, Price, Cry2, MOQ, Volume  
  23.                              MATCH (idrfq, data, suppliers, Project Part Nombre, RM Part Number, Price, Cry2, MOQ, Volume)
  24.                              AGAINST ('$frase' IN BOOLEAN MODE) AS coincidencias
  25.                              FROM rfq
  26.                              WHERE MATCH (idrfq, data, suppliers, Project Part Nombre, RM Part Number, Price, Cry2, MOQ, Volume)
  27.                              AGAINST ('$frase' IN BOOLEAN MODE)
  28.                              ORDER BY coincidencias DESC", $server_link)
  29.                               or die(mysql_error());
  30.  
  31.                                 while ($frase = mysql_fetch_assoc($sqlBuscar)) {
  32.                             echo("\n                                <tr>
  33.  
  34.                                    <td>".$frase['IdRFQ']."</td>
  35.  
  36.                                    <td>".$frase['Data']."</td>
  37.                                      
  38.                                    <td>".$frase['Suppliers']."</td>
  39.  
  40.                                    <td>".$frase['Project Part Nombre']."</td>
  41.  
  42.                                    <td>".$frase['RM Part Number']."</td>
  43.  
  44.                                    <td>".$frase['Price']."</td>
  45.  
  46.                                    <td>".$frase['Cry2']."</td>
  47.  
  48.                                    <td>".$frase['MOQ']."</td>
  49.  
  50.                                    <td>".$frase['Volume']."</td>
  51.  
  52.                                                                                        
  53.  
  54.                                    
  55.                                </tr>") ;
  56.                         }                              
  57.     $totalRows = mysql_num_rows($sqlBuscar);
  58.     // Enviamos un mensaje
  59.     // indicando la cantidad de resultados ($totalRows)
  60.     // para la frase busada ($frase)
  61.     if(!empty($totalRows)){
  62.         echo stripslashes("<p>Su busqueda arrojo; <strong>$totalRows</strong> resultados para <strong>$frase</strong></p>");        
  63.         // mostramos los resultados
  64.         while($row = mysql_fetch_array($sqlBuscar)){
  65.             echo "<strong><a href='#'>$row[suppliers]</a>:</strong> <em>Coincidencias: ". round($row['coincidencias']) ."</em><br />";
  66.             echo "<p>".substr(strip_tags($row['suppliers']), 0, 255)."...</p>";
  67.         }
  68.     }
  69.     // si se ha enviado vacio el formulario
  70.     // mostramos un mensaje del tipo Oops...!
  71.     elseif(empty($_GET['frase'])){
  72.         echo "Debe introducir una palabra o frase.";
  73.     }
  74.     // si no hay resultados
  75.     // otro mensaje del tipo Oops...!
  76.     elseif($totalRows == 0){
  77.         echo stripslashes("Su busqueda no arrojo resultados para <strong>$frase</strong>");
  78.     }
  79. }
  80. ?>