Foros del Web » Programando para Internet » PHP »

Problemas con buscador php mysql

Estas en el tema de Problemas con buscador php mysql en el foro de PHP en Foros del Web. Bueno antes que nada quiero enviarles un cordial saludo a todos y agradecer a quien pudiera ayudarme. Bueno al tema, resulta que cree un formulario ...
  #1 (permalink)  
Antiguo 29/01/2010, 18:45
 
Fecha de Ingreso: julio-2009
Mensajes: 63
Antigüedad: 14 años, 9 meses
Puntos: 0
Problemas con buscador php mysql

Bueno antes que nada quiero enviarles un cordial saludo a todos y agradecer a quien pudiera ayudarme.

Bueno al tema, resulta que cree un formulario para poder buscar datos en mi base mysql por el campo folio, el cual en un momento pense que funcionaba muy bien ya la consulta se realizaba y tanto el if como el else cumplian bien sus condiciones y me mostraba el resultado, el problema comenzo cuando me di cuenta que si buscaba un registro en la base mysql y este estaba repetido en dos query's de la base, el formulario unicamente me devolvia un solo registro aun cuando sabia que habian dos o mas registros con el mismo folio en mi base, repito el formulario solo me mostraba uno, no entiendo que es lo que puede estar pasando en mi codigo, algo me suena que ando poniendo el while en el lugar equivocado.

Si alguien pudiera echarme una mano se los agradeceria muchisimo, acepto cualquier sugerencia o comentarios.

aqui les dejo el codigo el primero sera el formulario de busqueda y el segundo el script que procesa la pagina, como informacion adicional quiero comentarles que yo utilizo todo el codigo en la misma pagina y en el form action la llamo asi misma para que procese la consulta.

Código HTML:
Ver original
  1. <title>Busqueda de soportes por folio</title>
  2. </head>
  3. <table border="0" width="100%" cellspacing="0" cellpadding="0">
  4. <tr>
  5. <td>
  6. <table border="0" width="100%" cellspacing="1" cellpadding="0" style="border-collapse: collapse">
  7. <tr>
  8. <td width="50%"><b><font face="Calibri" style="font-size: 14pt" color="#000080">
  9. Visualizar soportes.</font></b></td>
  10. <td width="50%">
  11. <p align="right">&nbsp;</td>
  12. </tr>
  13. <hr color="#FF0000">
  14. <p><form action="visualizar_soportes.php" method="POST">
  15. <p><font face="Calibri" color="#000080">Búsqueda de soporte por folio:</font><br>
  16. <input class="text" name="buscar" size="30" type="text" /><br>
  17. <input type="submit" value="Buscar Soporte." style="font-family: Calibri; font-size: 14"></div></p>
  18. </form></td>
  19. </tr>
  20. </body>
  21. </html>


Esta es la otra parte del codigo.

Código PHP:
Ver original
  1. <?php
  2. $servidor="localhost";
  3. $usuario="*********";
  4. $password="********";
  5. $db="mi_base";
  6.  
  7. if (!isset($_POST['buscar'])){
  8. echo "<div class='required field style1'><center><b>Por favor digita el número de folio que deseas buscar.</b></center></div> \n";
  9. }
  10.  
  11. $conexion= mysql_connect ($servidor, $usuario, $password);
  12. mysql_select_db ($db, $conexion);
  13.  
  14. $buscar2 = $_POST['buscar'] ;
  15. $cons_sql = "SELECT * FROM soportes WHERE Folio = '$buscar2' ORDER BY Id DESC";
  16. $result = mysql_query($cons_sql, $conexion);
  17. if ($campo = mysql_fetch_array($result)){
  18.  
  19. //////////////////////////////////////////////////////////////////////////////////////////////////
  20. //EN ESTA PARTE VA LA TABLA DONDE ME MUESTRA LOS RESULTADOS NO LA//
  21. //MUESTRO POR QUE LA CANTIDAD DE CARACTERES MAXIMA ES DE 10 MIL  //
  22. ////////////////////////////////////////////////////////////////////////////////////////////////
  23.  
  24. while ($campo = mysql_fetch_array($result));
  25. echo " \n";
  26. } else {
  27.     echo "<div class='required field style1'><center><b>¡ No se encontro ningun soporte con ese No. de folio !</b></center></div>\n";
  28. }
  29. ?>

Última edición por shawn1986; 29/01/2010 a las 18:58
  #2 (permalink)  
Antiguo 29/01/2010, 19:10
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 14 años, 10 meses
Puntos: 27
Respuesta: Problemas con buscador php mysql

Código PHP:
<?
$nroReg 
mysql_nun_row$result );
if (
$nroReg){
    while ( 
$row mysql_fetch_array($result) ){
      echo 
"<br>";
      echo 
$row['campo1'];
      echo 
" <br>";
      echo 
$row['campo2'];
    }
} else {
    
?>
        <div class="required field style1"><center>
        <b>¡ No se encontro ningun soporte con ese No. de folio !</b>
        </center></div><br>
    <?
}
?>
espero que te sirva
  #3 (permalink)  
Antiguo 29/01/2010, 19:18
 
Fecha de Ingreso: julio-2009
Mensajes: 63
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problemas con buscador php mysql

Cita:
Iniciado por luis010182 Ver Mensaje
Código PHP:
<?
$nroReg 
mysql_nun_row$result );
if (
$nroReg){
    while ( 
$row mysql_fetch_array($result) ){
      echo 
"<br>";
      echo 
$row['campo1'];
      echo 
" <br>";
      echo 
$row['campo2'];
    }
} else {
    
?>
        <div class="required field style1"><center>
        <b>¡ No se encontro ningun soporte con ese No. de folio !</b>
        </center></div><br>
    <?
}
?>
espero que te sirva
Ok ok muchas gracias ahora mismo lo pruebo y te comento que tal me resulto !!!

Resulta que probe el codigo y sigue igual, me muestra solo un registro aun cuando tengo mas de 3 con el mismo folio, cualquier otra sugerencia sera bien recibida.

Última edición por shawn1986; 29/01/2010 a las 19:35
  #4 (permalink)  
Antiguo 29/01/2010, 20:12
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 14 años, 10 meses
Puntos: 27
Respuesta: Problemas con buscador php mysql

Hace un echo de la variable $cons_sql y el resultado ejecutalo en phpmyadmin y fijate cuantos registro te filtra.
y hace un echo de mysql_nun_row( $result );
para saber cuantos registros llegan a lado de php.

Etiquetas: mysql, buscadores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:00.