Foros del Web » Programando para Internet » PHP »

ayuda con esta query en la que tento que meter variables.

Estas en el tema de ayuda con esta query en la que tento que meter variables. en el foro de PHP en Foros del Web. Buenos días, quiero hacer lo siguiente. Que los usuarios de una web den de alta una serie de características, para que cuando entren en la ...
  #1 (permalink)  
Antiguo 15/01/2008, 04:05
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
ayuda con esta query en la que tento que meter variables.

Buenos días, quiero hacer lo siguiente. Que los usuarios de una web den de alta una serie de características, para que cuando entren en la web vean las noticias relacionadas con una serie de pueblos (Sestao, Barakaldo, Portugale, Santurce, etc...)

Tengo una tabla donde tengo registrado el id del usuario, y el id del pueblo. Cada usuario va ha seleccionar diferentes pueblos.

mi pregunta es la siguiente:
primero recupero la cantida de pueblos con un una consulta en la que incluyo un count para saber la cantidad y montar un while.
Código PHP:
$contadoresta variable me indica la cantidad de 
"pueblos a los que esta abscrito el lector, y así poder preparar la consulta. 
La consulta empieza de la siguiente manera:
Código PHP:
$ssql="select titulo, resumen from noticias where"
//aquí esta mi duda, porque no se si puedo colocar un while, u otro
//bucle de php dentro de una consulta de mysql.
while($i <= $contador)

if (
$i<$contador){print "localizacion=".$id_localizacion." and";}
//la intención del primer if es decirle que mientras que la 
//variable $i sea menor que el máximo de contador me ponga un and.
if ($i==$contador){print "localizacion=".$id_localizacion.'";';}
//la intención del segundo if es para indicarle que si es el último 
//registro de los datos recuperados en vez de poner un and me 
//escriba el final de la consulta comillas dobles y punto y coma.

Y aquí no se como indicarle los pueblos. Estoy pensando en meter un bucle que me haga:
  #2 (permalink)  
Antiguo 15/01/2008, 04:48
 
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: ayuda con esta query en la que tento que meter variables.

Buenas,
No sé que bases de datos usas, pero se me ocurre que podrías montar una select para consultar los pueblos del usuario y despues ir añadiéndolos a la select:

Código PHP:
$ssql="select idpueblo from tu_tabla where idusuario="xxx
$result
=mysql_query($ssql,$link); 

$ssql="select titulo, resumen from noticias where";
$condicion "";
while(
$row mysql_fetch_array($result)) 

if (
$condicion ==""$condicion " idpueblo=".$row["idpueblo"];
else 
$condicion " and idpueblo=".$row["idpueblo"];
}  

$result=mysql_query($ssql,$link); 
No sé si te servirá de algo.
  #3 (permalink)  
Antiguo 15/01/2008, 05:00
venkman
Invitado
 
Mensajes: n/a
Puntos:
Re: ayuda con esta query en la que tento que meter variables.

Un detalle.

Si lo que buscas son las noticias de cualquiera de los pueblos, no tienes que construir:
Código:
... and idpueblo=3 and idpueblo=4 and idpueblo=7... sino:
... and (idpueblo=3 or idpueblo=4 or idpueblo=7)
  #4 (permalink)  
Antiguo 15/01/2008, 05:32
 
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: ayuda con esta query en la que tento que meter variables.

Bueno si lo que se quiere hacer es eso, también se puede hacer de una sola vez:

"select titulo, resumen from noticias where idpueblo in ( select idpueblo from tu_tabla where idusuario=". xxx. " )"

Te ahorras el resto del código.
  #5 (permalink)  
Antiguo 15/01/2008, 07:35
venkman
Invitado
 
Mensajes: n/a
Puntos:
Re: ayuda con esta query en la que tento que meter variables.

Es que no tiene mucho sentido buscar filas en las que idpueblo tenga varios valores diferentes a la vez, ¿no?
  #6 (permalink)  
Antiguo 15/01/2008, 10:45
 
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: ayuda con esta query en la que tento que meter variables.

De todas formas el problema que planteaba creo que estaba en como formar la select más que la propia select, y creo que eso le habrá quedado claro.
  #7 (permalink)  
Antiguo 16/01/2008, 06:38
 
Fecha de Ingreso: agosto-2006
Mensajes: 219
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: ayuda con esta query en la que tento que meter variables.

si ya me lo tengo más claro señores.

Muchas gracias por su colaboración.

Un saludo

Oskar
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:16.