elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Sistema de busqueda!!! no me da!!!!! (Cerrado)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Sistema de busqueda!!! no me da!!!!! (Cerrado)  (Leído 3,066 veces)
Zeroql


Desconectado Desconectado

Mensajes: 957


Todo lo k sucede sucede por una razon


Ver Perfil WWW
Sistema de busqueda!!! no me da!!!!! (Cerrado)
« en: 27 Junio 2011, 22:09 pm »

Buenas
bueno estoy ahora haciendo un sistema de busqueda para la pagina web, con un sistema de multipaginas para mostrar solo 10 resultados por pagina, bueno eso es lo que esta en la configuracion de la base de datos. (el valor se puede cambiar)

pero no me muestra los resultados. aqui dejo el code que estoy haciendo para ver k problema es el k tengo....


Código
  1. <?
  2. //if (!isset($_POST['s'])) { $msg="error no se ha encontrado el meotod get"; exit(); }
  3.  
  4. include ('adm/conexion.php');
  5. include ('adm/rconfig.php');
  6.  
  7. $itemv=readconfig('search'); //saber cuantos resultados se van a ver.
  8.  
  9. //TODO ESTA ZONA ES PARA SABER CUANTOS RESULTADOS SE VAN A MOSTRAR
  10. $page=0; $N=0; $numrows=0; $msg="ninguno";$cont=0;
  11. if (isset($_GET['p'])) { $page=trim($_GET['p']); }
  12. else { $page=1; }
  13.  
  14. //Mostrar desde que resultados dependiendo del numero de pagina en la que se encuentre
  15. switch ($page) {
  16. case 1: $N=1; break;
  17. case 2: $N=11; break;
  18. case 3: $N=21; break;
  19. case 4: $N=31; break;
  20. case 5: $N=41; break;
  21. case 6: $N=51; break;
  22. case 7: $N=61; break;
  23. case 8: $N=71; break;
  24. case 9: $N=81; break;
  25. case 10: $N=91; break;
  26. }
  27.  
  28. //Un sistema para el contador de los numeros mostrados
  29. //*************************************************************************
  30. $resultN=($N-1)+$itemv;
  31. trim($_GET['s']);
  32. if ($_GET['s']!=NULL) {
  33. $link=conectarse();
  34. mysql_select_db('agsiscom',$link)or die ('Error al seleccionar la Base de Datos '.mysql_error());
  35. $result=mysql_query("SELECT * FROM items WHERE search LIKE '%" .$_GET['s']. "%'");
  36. if (mysql_fetch_array($result)){
  37. $numrows=mysql_num_rows($result);
  38. $idx=0;
  39. $codigo=array(); $txtsearch=array();
  40. while ($row=mysql_fetch_assoc($result)){
  41. echo $row['codigo']; echo $row['search'];
  42. $codigo[$idx]=$row['codigo'];
  43. $txtserach[$idx]=$row['search'];
  44. $cont=$idx+1;
  45. $idx++;
  46. }
  47. } else {
  48. $msg="No hay coincidencias en la palabra buscada.";
  49. }
  50. }
  51. ?>
  52.  
  53. <h2>Resultados de la busqueda</h2>
  54.      <?
  55.   if ($msg!="") {
  56. $final=($cont % $resultN);
  57. for($idx=0;$idx<$final;$idx++) {
  58.     echo "<div class='marker'><div class='wrapper'>";
  59.         echo "<p class='pad_bot2'><a href='showitem.php?cod=".$codigo[$idx]."'>".$txtsearch[$idx]."</a></p>";
  60.                 echo "</div></div>";
  61. }
  62. echo "<p class='pad_bot2'>";
  63. if ($page>1) { echo "Anterior "; }
  64. $numpages=($numrows % $itemv);
  65. for ($idx=1;$idx<=$numpages;$idx++) {
  66. echo "<a href='search.php?s=".$_GET['s'].",p=".($idx)."'> <strong>".$idx."</strong> </a>";
  67. }
  68. if ($page<$numpages) { echo "<a href='search.php?s=".$_GET['s'].",p=".($page+1)."'>Siguiente</a>"; }
  69. echo "</p>";
  70. } else { echo "<p class='pad_bot2'>".$msg."</p>"; }
  71.  ?>
  72.  
  73.  

no he podido saber cual es el problema pero no me imprime $msg, asi que pienso que si hace la consulta y trae resultados.

alguien le ve el problema???

les agradezco la ayuda


« Última modificación: 28 Junio 2011, 16:24 pm por Zeroql » En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Sistema de busqueda!!! no me da!!!!!
« Respuesta #1 en: 27 Junio 2011, 22:23 pm »

jeje que desmadre xD no seria mas sencillo usar una consulta con limit y offset? y el offset seria el numero de pagina*limit :)


En línea

Ojo por ojo, y el mundo acabará ciego.
Zeroql


Desconectado Desconectado

Mensajes: 957


Todo lo k sucede sucede por una razon


Ver Perfil WWW
Re: Sistema de busqueda!!! no me da!!!!!
« Respuesta #2 en: 28 Junio 2011, 14:27 pm »

Nakp estuve investigando el limit y el offset y solo encuentro errores ocasionados, no veo ni informacion en php.net
me podrias dar n ejemplo pequeño o un lugar donde encuentre info???

te lo agradezco
En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
Re: Sistema de busqueda!!! no me da!!!!!
« Respuesta #3 en: 28 Junio 2011, 15:06 pm »

Se usa de la siguiente forma en una consulta:

Citar
SELECT * FROM `user` WHERE 1=1 LIMIT 0,10

Donde LIMIT 0(Offset),10(Limite), cuando pensas en paginaciòn esta es la consulta que tenes que utilizar.
Prueba haciendo consultas desde phpmyadmin, para entenderlo mejor  :)
En línea

Zeroql


Desconectado Desconectado

Mensajes: 957


Todo lo k sucede sucede por una razon


Ver Perfil WWW
Re: Sistema de busqueda!!! no me da!!!!!
« Respuesta #4 en: 28 Junio 2011, 15:53 pm »

Bueno ya implemente el code que uds me dieron por cierto muchas gracias por el limit, no lo conocia en SQL.
el problema es que ahora no me muestra ningun resultado de la busqueda

bueno dejo el code completo de la pagina y me digan que tengo mal.

Código
  1. <?
  2.  
  3. $msg=NULL; $page=0; $rowtot=NULL;$total=0;
  4.  
  5. if (!isset($_GET['s'])) { $msg="Error no se ha encontrado el metodo get"; exit(); }
  6.  
  7. include ('adm/conexion.php');
  8. include ('adm/rconfig.php');
  9.  
  10. $limit=(int)readconfig('search'); //saber cuantos resultados se van a ver.
  11.  
  12. if (isset($_GET['p'])) {
  13. $page=(int)trim($_GET['p']);
  14. }
  15. else {
  16. $page=1;
  17. }
  18. $offset = ($page-1) * $limit;
  19. //La consulta SQL y paginacion
  20. //*************************************************************************
  21. trim($_GET['s']);
  22. if ($_GET['s']!=NULL) {
  23. $link=conectarse();
  24. mysql_select_db('agsiscom',$link)or die ('Error al seleccionar la Base de Datos '.mysql_error());
  25. $rs = mysql_query("SELECT SQL_CALC_FOUND_ROWS * FROM items WHERE search LIKE '%".$_GET['s']."%' LIMIT ".$offset.",".$limit);
  26. $sqlrt=mysql_query("SELECT FOUND_ROWS() as total");
  27. if ($rs){
  28. $rowtot = mysql_fetch_assoc($sqlrt);
  29. $total = $rowtot["total"];
  30. } else { $msg="No hay coincidencias para la palabra buscada."; }
  31. } else {
  32. $msg="No se ha definido un texto para buscar.";
  33. }
  34. ?>
  35.  
  36. <h2>Resultados de la busqueda</h2>
  37.      <?
  38.   if ($msg!="") {
  39. while ($row=mysql_fetch_assoc($rs))
  40.         {
  41.     echo "<div class='marker'><div class='wrapper'>";
  42.         echo "<p class='pad_bot2'><a href='showitem.php?cod=".$row['codigo']."'>".$row['search']."</a></p>";
  43.                 echo "</div></div>";
  44. }
  45. echo "<p class='pad_bot2'>";
  46. if ($page>1) { echo "<a href='search.php?s=".$_GET['s'].",p=".($page-1)."'>Anterior</a>"; }
  47. $npages=ceil($total/$limit);
  48. for ($idx=1;$idx<=$npages;$idx++) {
  49. if ($page==$idx) {
  50. echo "<a href='search.php?s=".$_GET['s'].",p=".($idx)."'><strong><font color='#0033FF'> ".$idx."</font></strong> </a>";
  51. }else {
  52. echo "<a href='search.php?s=".$_GET['s'].",p=".($idx)."'> <strong>".$idx."</strong> </a>";
  53. }
  54. }
  55. if ($page<$npages) { echo "<a href='search.php?s=".$_GET['s'].",p=".($page+1)."'>Siguiente</a>"; }
  56. echo "</p>";
  57. } else { echo "<p class='pad_bot2'>".$msg."</p>"; }
  58.  ?>
  59.  

ejecute la consulta en mysql bajo phpmyadmin y me da perfectamente...
el problema es que tampoco me imprime lo de la numeracion de las paginas...

que tengo mal ahora????
En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

Zeroql


Desconectado Desconectado

Mensajes: 957


Todo lo k sucede sucede por una razon


Ver Perfil WWW
Re: Sistema de busqueda!!! no me da!!!!!
« Respuesta #5 en: 28 Junio 2011, 16:24 pm »

ok ya corregi el error.
radicaba cuando se comprobaba la variable $msg

Código
  1. if ($msg!="")
  2.  

resulta que la varible no se estaba tomando en cuenta, asi que la saque aparte e hice esto:

Código
  1. if ($msg!="" or $msg!=NULL){ echo "<p class='pad_bot2'>".$msg."</p>"; exit(); }

algo mas que tenia malo era el paso de la variable p
lo hacia con una coma cuando al pasar variables con GET se dede separar con &

Código
  1. echo "&laquo;<a href='search.php?s=".$_GET['s']."&amp;p=".($page-1)."'>Anterior</a> ";
  2.  
  3. GRACIAS A TODOS POR SU COLABORACION.
  4.  
  5. :xD  :D
  6.  
En línea

Dime y lo olvido, enseñame y lo recuerdo, involucrame y lo aprendo.
/.-ZEROQL.-\   -----  #937675#

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Sistema de busqueda!!! no me da!!!!! (Cerrado)
« Respuesta #6 en: 28 Junio 2011, 16:36 pm »

es mas efectivo comprobar la variable con la funcion empty? Si es un array vacio, false, null, 0, '' devolvera true
En línea

Ojo por ojo, y el mundo acabará ciego.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Google traslada su sistema de búsqueda cifrada
Noticias
wolfbcn 1 1,920 Último mensaje 27 Junio 2010, 21:59 pm
por Skeletron
[Source] Sistema de Archivo y Busqueda Progresiva.(De gestion)
Programación Visual Basic
79137913 5 3,047 Último mensaje 28 Septiembre 2010, 20:06 pm
por 79137913
Un sistema de busqueda por combo box
PHP
Zeroql 4 4,873 Último mensaje 18 Julio 2011, 17:55 pm
por Zeroql
Como motrar el sistema de búsqueda clásico de Windows (98,Me)
Windows
okik 1 2,350 Último mensaje 14 Febrero 2015, 22:01 pm
por Br1ant
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines