Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: mokoMonster en 24 Febrero 2011, 03:24 am



Título: Problema en sentencia de búsqueda con varios valores.
Publicado por: mokoMonster en 24 Febrero 2011, 03:24 am
He probado este código pero no funciona, nunca he trabajado con sentencias de búsqueda que contengan varios valores, se me ocurrió que podía ser así:
Código:
$query=mysql_query("SELECT * FROM taxista WHERE (pais,estado,ciudad,horario,zona) like ('"%$pais%"','"%$estado%"','"%$ciudad%"','"%$horario%"','"%$zona%"')",$link);
$array=mysql_fetch_array($query);
Pero obviamente estoy haciendo algo mal por que me arroja este error: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/blablabla/public_html/dos/html/buscataxi.php on line 67

La linea 67 es la que escribí anteriormente.

Saludos y gracias por su ayuda.


Título: Re: Problema en sentencia de búsqueda con varios valores.
Publicado por: RedZer en 24 Febrero 2011, 04:41 am
no seria algo asi
Código
  1. $buscar ="esta variable es la que recuperarias osea lo que estas buscando "
  2. SELECT pais,estado,ciudad,horario,zona FROM taxista WHERE pais LIKE '%".$buscar."%' or estado LIKE '%".$buscar."%' or ciudad LIKE '%".$buscar."%' or horario LIKE '%".$buscar."%' or zona LIKE '%".$buscar."%'


Título: Re: Problema en sentencia de búsqueda con varios valores.
Publicado por: Shell Root en 24 Febrero 2011, 04:42 am
Primero, no se si estará bien la sintaxis de MySQL...

Pero debería de ser así:
Código
  1. $query = mysql_query("SELECT * FROM taxista WHERE (pais, estado, ciudad, horario, zona) LIKE ('%".$pais."%', '%".$estado."%', '%".$ciudad."%', '%".$horario."%', '%".$zona."%')", $link);


Título: Re: Problema en sentencia de búsqueda con varios valores.
Publicado por: seba123neo en 24 Febrero 2011, 04:50 am
creo que despues del WHERE va asi:

Código
  1. WHERE (pais LIKE '%$pais%' OR estado LIKE '%$estado%' OR ciudad LIKE '%$ciudad%' OR horario LIKE '%$horario%' OR zona LIKE '%$zona%');"
  2.  


Título: Re: Problema en sentencia de búsqueda con varios valores.
Publicado por: mokoMonster en 24 Febrero 2011, 20:15 pm
Wow! Muchas gracias a los 3, así es como quedó:

Código
  1. $query = mysql_query("SELECT nombre,telefono,pais,estado,ciudad,horario,zona FROM taxista WHERE (pais LIKE '%".$pais."%' AND estado LIKE '%".$estado."%' AND ciudad LIKE '%".$ciudad."%' AND horario LIKE '%".$horario."%' AND zona LIKE '%".$zona."%')", $link);
  2. $qur = mysql_num_rows($query);
  3. echo '<table border="1">';
  4. echo '<tr><td width="200"><b>Nombre del chofer</b></td><td width="200"><b>Telefono</b></td><td width="200"><b>Ciudad</b></td><td width="200"><b>Link</b></td></tr>';
  5. IF($qur > 0)
  6. {
  7. while($row=mysql_fetch_array($query))
  8. {
  9. printf("<tr><td> %s </td><td> %s </td><td> %s </td><td><a href='tid.php?id=%s' >Ver mas</a></td></tr>",$row['nombre'],$row['telefono'],$row['ciudad'],$row['id_taxista']);
  10. }
  11. mysql_free_result($query);
  12. mysql_close($link);
  13. }
  14. echo '</table>';

Solo que no pude hacer que el id_taxista tome su valor en la sentencia printf.. :( Pero ya lo resolveré.

Muchas gracias tíos! :)


Título: Re: Problema en sentencia de búsqueda con varios valores.
Publicado por: leo1972 en 27 Febrero 2014, 13:21 pm
Gracias a todos los que han aportado en este hilo.
Me ha servido mucho!!!

Saludos.

Leonardo