Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => 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í: $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 (php) [Seleccionar]
$buscar ="esta variable es la que recuperarias osea lo que estas buscando "
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 (php) [Seleccionar]
$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 (sql) [Seleccionar]
WHERE (pais LIKE '%$pais%' OR estado LIKE '%$estado%' OR ciudad LIKE '%$ciudad%' OR horario LIKE '%$horario%' OR zona LIKE '%$zona%');"
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 (sql) [Seleccionar]
$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);
$qur = mysql_num_rows($query);
echo '<table border="1">';
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>';
if($qur > 0)
{
while($row=mysql_fetch_array($query))
{
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']);
}
mysql_free_result($query);
mysql_close($link);
}
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