Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/08/2011, 16:48
thehack
 
Fecha de Ingreso: abril-2010
Mensajes: 151
Antigüedad: 14 años, 8 meses
Puntos: 1
Busqueda no muestra el resultado

hola que tal chicos tengo un problema con un sistema que estoy recien empezando en mi trabajo laboral de cada dia resulta que tengo un buscador el cual busca los resultados de la db pero el problema es que en el registro que se hizo debe de buscarse tanto por la cedula del padre como la de la madre e alli el problema hice y me muestra en el buscador el numero de registro pero cuando coloco 1859 cuando coloco el 4to numero no me muestra nada asi coloque el numero completo

aqui mi consulta

Código PHP:
Ver original
  1. $items = 50;
  2. $page = 1;
  3.  
  4. if(isset($_GET['page']) and is_numeric($_GET['page']) and $page = $_GET['page'])
  5.         $limit = " LIMIT ".(($page-1)*$items).",$items";
  6.     else
  7.         $limit = " LIMIT $items";
  8.  
  9.  if(isset($_GET['q']) and !preg_replace('^ *$',$_GET['q'])){
  10.         $q = mysql_escape_string($_GET['q']); //para ejecutar consulta
  11.         $busqueda = htmlentities($q); //para mostrar en pantalla
  12.  
  13.         $sqlStr = "SELECT
  14. p.dp_id_folio,
  15. p.dp_nombre_apellidos,
  16. m.d_id_folio,
  17. m.d_nombre_apellidos,
  18. m.d_cedula_madre,
  19. p.dp_cedula_padre
  20. FROM
  21. datos_padre AS p
  22. INNER JOIN datos_madre AS m ON m.d_id_folio = p.dp_id_folio
  23. WHERE dp_cedula_padre LIKE '%$q%'
  24. AND d_cedula_madre LIKE '%$q%'";
  25.              
  26.         $sqlStrAux = "SELECT
  27. SUM(p.dp_id_folio + m.d_id_folio) as total,
  28. m.d_nombre_apellidos,
  29. m.d_cedula_madre,
  30. p.dp_cedula_padre,
  31. p.dp_nombre_apellidos
  32. FROM
  33. datos_padre AS p
  34. INNER JOIN datos_madre AS m ON m.d_id_folio = p.dp_id_folio
  35. WHERE dp_cedula_padre LIKE '%$q%'
  36. AND d_cedula_madre LIKE '%$q%'";
  37.              
  38.     }else{
  39.         $sqlStr = "SELECT
  40. *
  41. FROM
  42. datos_padre ,
  43. datos_madre";
  44.            
  45.         $sqlStrAux = "SELECT
  46. SUM(p.dp_id_folio + m.d_id_folio) as total,
  47. m.d_nombre_apellidos,
  48. m.d_cedula_madre,
  49. p.dp_cedula_padre,
  50. p.dp_nombre_apellidos
  51. FROM
  52. datos_padre AS p
  53. INNER JOIN datos_madre AS m ON m.d_id_folio = p.dp_id_folio
  54. WHERE dp_cedula_padre LIKE '%$q%'
  55. AND d_cedula_madre LIKE '%$q%'";
  56.  
  57.                
  58.     }
  59.  
  60. $aux = $db->fetch_assoc($db->query($sqlStrAux));
  61. $query = $db->query($sqlStr.$limit);
  62. ?>
  63.  
  64.     <form action="index.php" onsubmit="return buscar()">
  65.       <label>Buscar</label> <input type="text" id="q" name="q" value="<?php if(isset($q)) echo $busqueda;?>" onKeyUp="return buscar()">
  66.       <input type="submit" value="Buscar" id="boton">
  67.       <span id="loading"></span>
  68.     </form>
  69.    
  70.     <div id="resultados">
  71. <p><?php
  72.  
  73.  
  74.         if($aux['total'] and isset($busqueda)){
  75.                 echo "{$aux['total']} Resultado".($aux['total']>1?'s':'')." que coinciden con tu b&uacute;squeda \"<strong>$busqueda</strong>\".";
  76.             }elseif($aux['total'] and !isset($q)){
  77.                 echo "Total de registros: {$aux['total']}";
  78.             }elseif(!$aux['total'] and isset($q)){
  79.                 echo"No hay registros que coincidan con tu b&uacute;squeda \"<strong>$busqueda</strong>\"";
  80.             }
  81.     ?></p>
  82.  
  83. <?php
  84.         if($aux['total']>0){
  85.             $p = new pagination;
  86.             $p->Items($aux['total']);
  87.             $p->limit($items);
  88.             if(isset($q))
  89.                     $p->target("/buscar/?q=".urlencode($q));
  90.                 else
  91.                     $p->target("/buscar/");
  92.             $p->currentPage($page);
  93.             $p->show();
  94.             echo "\t<table class=\"registros\">\n";
  95.             echo "<tr class=\"titulos\"><td>CEDULA</td></tr>\n";
  96.             $r=0;
  97.             while($row = mysql_fetch_assoc($query)){
  98.                          
  99.           echo "<tr class=\"row$r\">"; echo"<td><a href=\"{$tsConfig['url']}/busqueda.php?q={$row['dp_id_folio']}\" target=\"_blank\">".htmlentities($row['dp_cedula_padre'])."</a></td>";
  100.        
  101.             echo'<td><form action="/imprimir-nacimiento.php" method="post" target="_blank"><input type="hidden" name="id_folio" id="id_folio" value="'. $row['dp_id_folio'].'"><input type="image" class="editar"/></form></td> ';
  102.           echo '</tr>';
  103.          
  104.           echo"<tr><td><a href=\"{$tsConfig['url']}/busqueda.php?q={$row['d_id_folio']}\" target=\"_blank\">".htmlentities($row['d_cedula_madre'])."</a></td></tr>";
  105.           if($r%2==0)++$r;else--$r;
  106.         }
  107.             echo "\t</table>\n";
  108.             $p->show();
  109.         }
  110.     ?></div>

me muestra el resultado de las cedulas tanto del padre como la de la madre pero si ay mas de cien me daria problemas con la busqueda porq no me muestra coolocando los numero completos


espero me entiendan y puedan ayudarme