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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Buscador que estoy haciendo falla en algo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Buscador que estoy haciendo falla en algo  (Leído 1,894 veces)
z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Buscador que estoy haciendo falla en algo
« en: 11 Noviembre 2013, 21:20 pm »

Hola buenas, pues estoy haciendo un buscador en PHP para mis juegos, y como podréis observar siempre me saca todos los juegos (que son 4 que aquí podéis ver) cuando hago cualquier busqueda:



Código
  1.  
  2. $int = 0;
  3.  
  4. /*// Catbg header
  5. echo '<div class="cat_bar">
  6.     <h3 class="catbg">', $context['youraction_Head'], '</h3>
  7. </div>';
  8.  
  9. // Windowbg2 Content
  10. echo '<div class="windowbg2">
  11.   <span class="topslice"><span></span></span>
  12.     <div class="content">
  13.  
  14.     </div>
  15.   <span class="botslice"><span></span></span>
  16. </div><br />';*/
  17.  
  18. // Catbg header
  19. echo '<div class="cat_bar">
  20.   <h3 class="catbg">Resultados de la b&uacute;squeda:</h3>
  21. </div>';
  22.  
  23. // Windowbg2 Content
  24. echo '<div class="windowbg2">
  25.   <span class="topslice"><span></span></span>
  26.     <div class="content">';
  27.  
  28. echo '<table>'; //Se inicia la tabla
  29.  
  30. $FullString = $_POST['busqueda']; //Se pone una string general
  31. if(strpos($FullString,' ') !== false) { //Y si tiene espacios (lo que quiere decir varias palabras)
  32.    $Array = explode(' ', $_POST['busqueda']); //Pues se hace un array con esta
  33.    foreach ($Array AS $Values) { //Y por cada valor se hace una busqueda en MySQL
  34.     $result = mysql_query("SELECT DISTINCT * FROM juegos WHERE nombre LIKE '%$Values%' OR descripcion LIKE '%$Values%'");
  35. $total = mysql_num_rows($result); //Esto se cuenta para hacer de una forma chapucera las separaciones de los elementos por <hr>'s
  36.  
  37. while($rs2 = mysql_fetch_array($result)) { //Y aqui se muestran los resultados
  38.  
  39.    $int++; //Por cada while se suma uno a int
  40.  
  41.    echo '<tr><td class="txt_desc" bgcolor="#FFFFFF"><img src="'.$rs2['miniatura'].'" width="104" height="70" align="left"><span style="position:relative;left:10px;"><span class="titulos"><a href="http://'.$_SERVER['SERVER_NAME'].'/game.php?id='.$rs2['id'].'">'.$rs2['nombre'].'</a></span><br>'.$rs2['descripcion'].'</span></td></tr>'; //Se hace un echo a toda la query para mostrarla
  42.  
  43.    if($int<$total){echo '<tr><td><hr width="98%" color="#000000" size="2"></td></tr>';}else{echo '</table><br>';} //Y si int es mayor al total de numeros de tablas en la query, pues se cierra la tabla y san sacabo...
  44.  
  45. }
  46. }
  47.  
  48. } else { //Y esto lo mismo, pero en caso de que fuese una palabra individual
  49. $result = mysql_query("SELECT DISTINCT * FROM juegos WHERE nombre LIKE '%$FullString%' OR descripcion LIKE '%$FullScreen%'");
  50. $total = mysql_num_rows($result);
  51.  
  52. while($rs2 = mysql_fetch_array($result)) {
  53.  
  54.    $int++;
  55.  
  56.    echo '<tr><td class="txt_desc" bgcolor="#FFFFFF"><img src="'.$rs2['miniatura'].'" width="104" height="70" align="left"><span style="position:relative;left:10px;"><span class="titulos"><a href="http://'.$_SERVER['SERVER_NAME'].'/game.php?id='.$rs2['id'].'">'.$rs2['nombre'].'</a></span><br>'.$rs2['descripcion'].'</span></td></tr>';
  57.  
  58.    if($int<$total){echo '<tr><td><hr width="98%" color="#000000" size="2"></td></tr>';}else{echo '</table><br>';}
  59.  
  60. }
  61.  
  62. }
  63.  
  64.     echo '</div>
  65.   <span class="botslice"><span></span></span>
  66. </div><br />';

No se lo que me puede estar fallando, yo optaria a que serían las Queries que no las estoy haciendo bien...

Código
  1. SELECT DISTINCT * FROM juegos WHERE nombre LIKE '%$Values%' OR descripcion LIKE '%$Values%'

Así que, si alguien me puede decir en que estoy fallando, pues...

Y si queréis los juegos:

En examinar tengo esto:



Y en estructura esto:



Un saludo.
Gracias.
:P



Ya he resuelto esto yo solo, lo único que hice fue cambiar el OR por un AND, en WHERE nombre LIKE '%$Values%' OR descripcion LIKE '%$Values%', pero alguien me puede razonar porque?

Gracias.


« Última modificación: 12 Noviembre 2013, 15:49 pm por Ikillnukes » En línea


Interesados hablad por Discord.
:ohk<any>


Desconectado Desconectado

Mensajes: 1.744


Yo lo que quiero que me salga bien es la vida.


Ver Perfil WWW
Re: Buscador que estoy haciendo falla en algo
« Respuesta #1 en: 12 Noviembre 2013, 15:54 pm »

No importa que caracter escribas siempre te saca todos los resultados?
Por que si pones "a" siempre va a sacar todos, probaste poner "Probando" para ver si solo encuentra 1 resultado?

Si pudieras poner tu tabla en un SQL podría ayudarte mejor.

Edito: Respondí tarde.

Saludos



« Última modificación: 12 Noviembre 2013, 15:58 pm por @ohk » En línea

Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.
z3nth10n


Desconectado Desconectado

Mensajes: 1.583


"Jack of all trades, master of none." - Zenthion


Ver Perfil WWW
Re: Buscador que estoy haciendo falla en algo
« Respuesta #2 en: 12 Noviembre 2013, 16:56 pm »

Edito: Respondí tarde.

No pasa nada, gracias igualmente por las molestias, aún puedes explicarme porque con un AND funciona y con un OR no.
En línea


Interesados hablad por Discord.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Haciendo un buscador « 1 2 »
PHP
den_22 18 5,678 Último mensaje 13 Abril 2010, 05:02 am
por Shell Root
¿ Que estoy haciendo mal ? « 1 2 »
Programación Visual Basic
Mr.Know 13 6,044 Último mensaje 15 Junio 2010, 12:16 pm
por Psyke1
Falla algo del diccionario, supongo ya que no se ingles y algo de ruta dice. Per
Wireless en Linux
mimosin69 2 2,799 Último mensaje 12 Abril 2011, 22:15 pm
por mimosin69
Python: algo estoy haciendo mal
Ejercicios
Astergoth 8 5,481 Último mensaje 27 Mayo 2017, 02:15 am
por Astergoth
Anda mal el IF, o estoy haciendo algo mal? Visual 6.0
Programación Visual Basic
RiasChan 4 2,712 Último mensaje 12 Marzo 2018, 17:30 pm
por RiasChan
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines