Foros del Web » Programando para Internet » PHP »

Por favor ayuda en consulta a base de datos

Estas en el tema de Por favor ayuda en consulta a base de datos en el foro de PHP en Foros del Web. Buenas tengo la siguiente consulta a la base de datos Código PHP: mysql_select_db ( $database_conexion1 ,  $conexion1 ); $query_Recordset1  =  sprintf ( "SELECT * FROM canales WHERE sat like '$sate' OR canal like '$canal' OR en like '$fta' ORDER BY canal ASC" ,  $colname_Recordset1 ...
  #1 (permalink)  
Antiguo 12/09/2008, 03:52
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 17 años, 7 meses
Puntos: 1
Por favor ayuda en consulta a base de datos

Buenas tengo la siguiente consulta a la base de datos

Código PHP:
mysql_select_db($database_conexion1$conexion1);
$query_Recordset1 sprintf("SELECT * FROM canales WHERE sat like '$sate' OR canal like '$canal' OR en like '$fta' ORDER BY canal ASC"$colname_Recordset1);
$Recordset1 mysql_query($query_Recordset1$conexion1) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 mysql_num_rows($Recordset1); 
La consulta esta bien realizada y me muestra el contenido, pero no es lo deseado, lo deseado es que primero busque por $sate, despues dentro de $sate busque por $canal y despues por $fta.

Es que ahora mismo, si un usuario en su busqueda da valor a los tres campos, $sate, $canal y $fta, me esta dando un resultado de busqueda de todo lo que contemple uno de esos tres campos y no es como deseo, lo que deseo es primero por sate, dentro de sate despues por canal y dentro de canal por fta.

Espero que me entiendan lo que pretendo decir, muchas gracias por sus respuestas
  #2 (permalink)  
Antiguo 12/09/2008, 05:31
Avatar de Emirodgar  
Fecha de Ingreso: junio-2008
Mensajes: 1.255
Antigüedad: 15 años, 10 meses
Puntos: 121
Respuesta: Por favor ayuda en consulta a base de datos

Anida las consultas, algo así:

Cita:
select * from tabla1 t1 where t1.campo1 = ''
and t1.campo2 in (select * from... where t1.campo2='' ... )
De esta manera vas haciendo cada consulta en función de las otras.
  #3 (permalink)  
Antiguo 12/09/2008, 05:34
 
Fecha de Ingreso: mayo-2008
Mensajes: 42
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Por favor ayuda en consulta a base de datos

puedes sustituir los OR por AND y así te mostrará los registros que contengan las 3 variables o hacerte una SQL con un par de INNER JOIN

Te la pondría yo mismo pero la verdad es que no me acuerdo muy bien como era :P
  #4 (permalink)  
Antiguo 12/09/2008, 14:58
 
Fecha de Ingreso: agosto-2006
Mensajes: 173
Antigüedad: 17 años, 7 meses
Puntos: 1
Respuesta: Por favor ayuda en consulta a base de datos

gracias he seguido este manual

http://www.aulaclic.es/sql/t_3_4.htm

Y ya lo tengo, muchas gracias por orientarme
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:28.