Foros del Web » Programando para Internet » PHP »

Mostrar resultados

Estas en el tema de Mostrar resultados en el foro de PHP en Foros del Web. Buenas tardes, estoy trabajando con un buscador, pero me estoy liando con el php, resulta que uni dos codigos que tenia para (obvio) formar uno ...
  #1 (permalink)  
Antiguo 22/08/2009, 16:54
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Mostrar resultados

Buenas tardes, estoy trabajando con un buscador, pero me estoy liando con el php, resulta que uni dos codigos que tenia para (obvio) formar uno solo, en fin en el primero me mostraba los datos de la db, pero todos los datos, ahora quiero ponerle un filtro para que dependiendo de lo que busca le muestre todos los datos rederentes a su ingreso, el codigo es este.

Código php:
Ver original
  1. <?php
  2.  
  3. include('config.php');
  4.  
  5. if(isset($_GET['search_word']))
  6. {
  7. $search_word=$_GET['search_word'];
  8.  
  9. $sql=mysql_query("SELECT * FROM tabla_registros WHERE matricula LIKE '%$search_word%' ORDER BY registrado");
  10.  
  11. $count=mysql_num_rows($sql);
  12.  
  13. if($count > 0)
  14. {
  15.  
  16. while($row=mysql_fetch_array($sql))
  17. {
  18. $matricula=$row['matricula'];
  19. $bold_word='<b>'.$search_word.'</b>';
  20. $final_msg = str_ireplace($search_word, $bold_word, $matricula);
  21. ?>
  22.  
  23. echo "<table cellspacing='1' class='tablesorter'>
  24. <thead>
  25. <tr>
  26. <th>Nombre</th>
  27. <th>Matricula</th>
  28. <th>Concepto pagado</th>
  29. <th>Cantidad pagada</th>
  30. <th>Folio de pago</th>
  31. </tr>
  32. </thead>";
  33.  
  34. while($row = mysql_fetch_array($sql))
  35.   {
  36.   echo "<tbody> <tr>";
  37.   echo "<td class='name'>" . $row['nombre'] . "</td>";
  38.   echo "<td class='id'>" . $row['matricula'] . "</td>";
  39.   echo "<td>" . $row['concepto'] . "</td>";
  40.   echo "<td> $ " . $row['valor'] . " pesos</td>";
  41.   echo "<td>" . $row['folio'] . "</td>";
  42.   echo "</tr>";
  43.   }
  44. echo "</tbody> </table>";
  45.  
  46. <?php
  47. }
  48. }
  49. else
  50. {
  51.  
  52. echo "Verifica la matricula, no se encontraron registros.";
  53.  
  54. }
  55.  
  56. }
  57. ?>

entonces... hace la conexion y la consulta y me imprime en pantalla la tabla pero no me da los datos, mas graficamente me arroja un error y esto:




donde esta el o los errores?
  #2 (permalink)  
Antiguo 22/08/2009, 17:07
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Mostrar resultados

Fijate bien lo que haces

Código PHP:
Ver original
  1. while($row=mysql_fetch_array($sql))
  2. {
  3. $matricula=$row['matricula'];
  4. $bold_word='<b>'.$search_word.'</b>';
  5. $final_msg = str_ireplace($search_word, $bold_word, $matricula);
  6. ?> //<---------------------------------------------------------- aqui esta el error
  7.  
  8. echo "<table cellspacing='1' class='tablesorter'>
  9. <thead>
  10. <tr>
  11. <th>Nombre</th>
  12. <th>Matricula</th>
  13. <th>Concepto pagado</th>
  14. <th>Cantidad pagada</th>
  15. <th>Folio de pago</th>
  16. </tr>
  17. </thead>";

Estas saliendote de PHP para entrar como html y tienes un echo que es de PHP declarado como html
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 22/08/2009, 18:10
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Mostrar resultados

Pffff.... tienes razon jajaja una disculpa, bueno cheque el codigo y me quedo asi:

Código php:
Ver original
  1. <?php
  2.  
  3. include('config.php');
  4.  
  5. if(isset($_GET['search_word']))
  6. {
  7. $search_word=$_GET['search_word'];
  8.  
  9. $sql=mysql_query("SELECT * FROM tabla_registros WHERE matricula LIKE '%$search_word%' ORDER BY registrado");
  10. $con = mysql_connect($mysql_hostname, $mysql_user, $mysql_password);
  11. mysql_select_db($mysql_database, $con);
  12. mysql_query("SET NAMES 'utf8'");
  13.  
  14. $count=mysql_num_rows($sql);
  15.  
  16. if($count > 0)
  17. {
  18.  
  19. while($row=mysql_fetch_array($sql))
  20. {
  21. $matricula=$row['matricula'];
  22. $bold_word='<b>'.$search_word.'</b>';
  23. $final_msg = str_ireplace($search_word, $bold_word, $matricula);
  24.  
  25.  
  26. echo "<table cellspacing='1' class='tablesorter'>
  27. <thead>
  28. <tr>
  29. <th>Nombre</th>
  30. <th>Matricula</th>
  31. <th>Concepto pagado</th>
  32. <th>Cantidad pagada</th>
  33. <th>Folio de pago</th>
  34. </tr>
  35. </thead>";
  36.  
  37. while($row = mysql_fetch_array($sql))
  38.   {
  39.   echo "<tbody> <tr>";
  40.   echo "<td class='name'>" . $row['nombre'] . "</td>";
  41.   echo "<td class='id'>" . $row['matricula'] . "</td>";
  42.   echo "<td>" . $row['concepto'] . "</td>";
  43.   echo "<td> $ " . $row['valor'] . " pesos</td>";
  44.   echo "<td>" . $row['folio'] . "</td>";
  45.   echo "</tr>";
  46.   }
  47. echo "</tbody> </table>";
  48.  
  49. }
  50. }
  51. else
  52. {
  53.  
  54. echo "Verifica la matricula, no se encontraron registros.";
  55.  
  56. }
  57.  
  58. }
  59. ?>

pero ahora solo me apatece la primera sila de la tabla pero nada de informacion.

Última edición por tampon; 22/08/2009 a las 18:31
  #4 (permalink)  
Antiguo 22/08/2009, 19:10
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Mostrar resultados

Código PHP:
Ver original
  1. <?php
  2.  
  3. include('config.php');
  4.  
  5. if(isset($_GET['search_word'])){
  6. $search_word=$_GET['search_word'];
  7.  
  8. $sql=mysql_query("SELECT * FROM tabla_registros WHERE matricula LIKE '%$search_word%' ORDER BY registrado");
  9. $con = mysql_connect($mysql_hostname, $mysql_user, $mysql_password);
  10. mysql_select_db($mysql_database, $con);
  11. mysql_query("SET NAMES 'utf8'");
  12.  
  13. $count=mysql_num_rows($sql);
  14.  
  15. if($count > 0){
  16.  
  17. while($row=mysql_fetch_array($sql) or die(mysql_error())){
  18. $matricula=$row['matricula'];
  19. $bold_word='<b>'.$search_word.'</b>';
  20. $final_msg = str_ireplace($search_word, $bold_word, $matricula);
  21.  
  22.  
  23. echo "<table cellspacing='1' class='tablesorter'>
  24. <thead>
  25. <tr>
  26. <th>Nombre</th>
  27. <th>Matricula</th>
  28. <th>Concepto pagado</th>
  29. <th>Cantidad pagada</th>
  30. <th>Folio de pago</th>
  31. </tr>
  32. </thead>";
  33.  
  34.   echo "<tbody> <tr>";
  35.   echo "<td class='name'>" . $row['nombre'] . "</td>";
  36.   echo "<td class='id'>" . $row['matricula'] . "</td>";
  37.   echo "<td>" . $row['concepto'] . "</td>";
  38.   echo "<td> $ " . $row['valor'] . " pesos</td>";
  39.   echo "<td>" . $row['folio'] . "</td>";
  40.   echo "</tr>";
  41.  
  42. echo "</tbody> </table>";
  43.  
  44. }
  45. }else{
  46.  echo "Verifica la matricula, no se encontraron registros.";
  47. }
  48. }
  49. ?>
__________________
Hospedaje Web al mejor costo!
  #5 (permalink)  
Antiguo 22/08/2009, 19:21
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Mostrar resultados

Me salvaste el dia hermano, llevava ya mucho rato editando codigos que empesaba a hacer tonterias pero me ayudaste con un problema, gracias!
  #6 (permalink)  
Antiguo 22/08/2009, 20:17
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Mostrar resultados

Me tome un break y segui con esto, ya funciona, gracias, ya cheke las tildes y eñes estaba mal, pro tengo un ultimo problema con esto.

al arrojarem los datos, me muestra varias tablas, por ejemplo si el dato (al que se le esta haciendo la consulta) tiene mas de un registro (por ejemplo 2) me manda cada registro en cada tabla, osea dos tablas.




como le hago en el php para que me aparesca la informacion en una sola tablas, asi:

  #7 (permalink)  
Antiguo 22/08/2009, 20:27
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Mostrar resultados

Código PHP:
Ver original
  1. <?php
  2.  
  3. include('config.php');
  4.  
  5. if(isset($_GET['search_word'])){
  6. $search_word=$_GET['search_word'];
  7.  
  8. $sql=mysql_query("SELECT * FROM tabla_registros WHERE matricula LIKE '%$search_word%' ORDER BY registrado");
  9. $con = mysql_connect($mysql_hostname, $mysql_user, $mysql_password);
  10. mysql_select_db($mysql_database, $con);
  11. mysql_query("SET NAMES 'utf8'");
  12.  
  13. $count=mysql_num_rows($sql);
  14.  
  15. if($count > 0){
  16.  
  17. echo "<table cellspacing='1' class='tablesorter'>";
  18.  
  19. while($row=mysql_fetch_array($sql) or die(mysql_error())){
  20. $matricula=$row['matricula'];
  21. $bold_word='<b>'.$search_word.'</b>';
  22. $final_msg = str_ireplace($search_word, $bold_word, $matricula);
  23.  
  24.  
  25. echo "
  26. <thead>
  27. <tr>
  28. <th>Nombre</th>
  29. <th>Matricula</th>
  30. <th>Concepto pagado</th>
  31. <th>Cantidad pagada</th>
  32. <th>Folio de pago</th>
  33. </tr>
  34. </thead>";
  35.  
  36.   echo "<tbody> <tr>";
  37.   echo "<td class='name'>" . $row['nombre'] . "</td>";
  38.   echo "<td class='id'>" . $row['matricula'] . "</td>";
  39.   echo "<td>" . $row['concepto'] . "</td>";
  40.   echo "<td> $ " . $row['valor'] . " pesos</td>";
  41.   echo "<td>" . $row['folio'] . "</td>";
  42.   echo "</tr>";
  43. }
  44. echo "</tbody> </table>";
  45. }else{
  46.  echo "Verifica la matricula, no se encontraron registros.";
  47. }
  48. }
  49. ?>

Saludos
__________________
Hospedaje Web al mejor costo!
  #8 (permalink)  
Antiguo 22/08/2009, 20:34
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Mostrar resultados

pues si me los pone en una sola tabla, pero me repite la primera fila

  #9 (permalink)  
Antiguo 22/08/2009, 20:41
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Mostrar resultados

pero ahi yo llevo distintos valores en las dos filas...
__________________
Hospedaje Web al mejor costo!
  #10 (permalink)  
Antiguo 22/08/2009, 20:43
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Mostrar resultados

pero no hay forma de unirlos, estoy intentando con el siclo while que tenia, pero me da error.
  #11 (permalink)  
Antiguo 22/08/2009, 20:45
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Mostrar resultados

osea, lo que quieres::

FULANITO 1
FULANITO 1
-----------------------
PEPE
----------------------
FULANITO DE TAL
FULANITO DE TAL
------------------------
JOSE
---------------------
LUIS


eso?
__________________
Hospedaje Web al mejor costo!
  #12 (permalink)  
Antiguo 22/08/2009, 20:47
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Mostrar resultados

no exactamente, mas bien la busqueda se hace por la columna matricula y se muestran los registros relacionados a matricula, el caso es que lo ponga todo en una sola tabla (lo cual ya quedo gracias) pero lo que me gustaria seria que no se repitiera la primera fila (la verde)
  #13 (permalink)  
Antiguo 22/08/2009, 20:52
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: Mostrar resultados

Código PHP:
Ver original
  1. <?php
  2.  
  3. include('config.php');
  4.  
  5. if(isset($_GET['search_word'])){ //isset
  6. $search_word=$_GET['search_word'];
  7.  
  8. $sql=mysql_query("SELECT * FROM tabla_registros WHERE matricula LIKE '%$search_word%' ORDER BY registrado");
  9. $con = mysql_connect($mysql_hostname, $mysql_user, $mysql_password);
  10. mysql_select_db($mysql_database, $con);
  11. mysql_query("SET NAMES 'utf8'");
  12.  
  13. $count=mysql_num_rows($sql);
  14.  
  15. if($count > 0){ // count
  16.  
  17. echo "<table cellspacing='1' class='tablesorter'>";
  18.  echo "
  19. <thead>
  20. <tr>
  21. <th>Nombre</th>
  22. <th>Matricula</th>
  23. <th>Concepto pagado</th>
  24. <th>Cantidad pagada</th>
  25. <th>Folio de pago</th>
  26. </tr>
  27. </thead>";
  28. while($row=mysql_fetch_array($sql)){ // while
  29. $matricula=$row['matricula'];
  30. $bold_word='<b>'.$search_word.'</b>';
  31. $final_msg = str_ireplace($search_word, $bold_word, $matricula);
  32.  
  33.  
  34.  
  35.  
  36.   echo "<tbody> <tr>";
  37.   echo "<td class='name'>" . $row['nombre'] . "</td>";
  38.   echo "<td class='id'>" . $row['matricula'] . "</td>";
  39.   echo "<td>" . $row['concepto'] . "</td>";
  40.   echo "<td> $ " . $row['valor'] . " pesos</td>";
  41.   echo "<td>" . $row['folio'] . "</td>";
  42.   echo "</tr>";
  43. } // while
  44. echo "</tbody> </table>";
  45. }else{ // count
  46.  echo "Verifica la matricula, no se encontraron registros.";
  47. }
  48. } // isset
  49. ?>

no sé, si asi sirva la verdad pero checalo y dime que paso. Saludos
__________________
Hospedaje Web al mejor costo!
  #14 (permalink)  
Antiguo 22/08/2009, 20:58
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Mostrar resultados

En realidad no se por que no se puede dar mas karma, voz sos grande sos maradona! gracias!
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 20:41.