Foros del Web » Programando para Internet » PHP »

Utilizar una vaiable en un LIMIT

Estas en el tema de Utilizar una vaiable en un LIMIT en el foro de PHP en Foros del Web. primero hago una breve introducción: estoy realizando una consulta con la sentencia LIMIT: $sql="SELECT * FROM oxidos LIMIT 0,1"; hasta ay todo funciona, lo que ...
  #1 (permalink)  
Antiguo 24/05/2012, 11:03
 
Fecha de Ingreso: noviembre-2010
Ubicación: Bogotá
Mensajes: 41
Antigüedad: 14 años
Puntos: 1
Pregunta Utilizar una vaiable en un LIMIT

primero hago una breve introducción:
estoy realizando una consulta con la sentencia LIMIT:

$sql="SELECT * FROM oxidos LIMIT 0,1";

hasta ay todo funciona, lo que quiero hacer es en el LIMIT meter una variable ya que quiero limitar dependiendo a un valor que me arroja otra consula. seria algo como esto:

Código PHP:
Ver original
  1. //primero hago la consulta para saber que valor quiero que tenga el LIMIT
  2.  
  3. $sql="SELECT * FROM oxidos";
  4. $result=mysql_query($sql);
  5. $num=mysql_num_rows($result);
  6. echo "Total ".$num;
  7.  
  8. // y luego quiero meter esa variable en el LIMIT, pero esto me genera error
  9.  
  10. $result1 = mysql_query("SELECT * FROM niveles_optimos WHERE  Id_cliente = \"".$id_cliente."\" AND  ORDER BY fecha_y_hora DESC LIMIT 0,\"".$num."\"");
  11.  
  12. // de antemano muchas gracias al que me pueda ayudar
  #2 (permalink)  
Antiguo 24/05/2012, 11:21
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Utilizar una vaiable en un LIMIT

aunque no indicas una duda concreta, supongo tu problema radica en la forma en que indicas el LIMIT.

Para cualquier caso de sql, primero debes comprender cómo será impresa tu sentencia, por ejemplo, tu consulta tal como la indicas
"SELECT * FROM niveles_optimos WHERE Id_cliente = \"".$id_cliente."\" AND ORDER BY fecha_y_hora DESC LIMIT 0,\"".$num."\""

quedaría:

SELECT * FROM niveles_optimos WHERE Id_cliente = "123" AND ORDER BY fecha_y_hora DESC LIMIT 0,"3"

como verás, estás declarando el limit con comillas, cuando no es necesario.

además te recomendaría mejor usar comillas simples (apostrofes), de modo que tu consulta la hicieras como

"SELECT * FROM niveles_optimos WHERE Id_cliente = '$id_cliente' AND ORDER BY fecha_y_hora DESC LIMIT 0,$num"
  #3 (permalink)  
Antiguo 24/05/2012, 11:45
 
Fecha de Ingreso: noviembre-2010
Ubicación: Bogotá
Mensajes: 41
Antigüedad: 14 años
Puntos: 1
Respuesta: Utilizar una vaiable en un LIMIT

muchas gracias definitivamente era por las comillas que estab utilizando en el limit
así me funciona perfecto:
$result1 = mysql_query("SELECT * FROM niveles_optimos WHERE Id_cliente = '$id_cliente' AND ORDER BY fecha_y_hora DESC LIMIT 0,$num");

Denuevo gracias por tu ayuda

Etiquetas: limit, mysql, sql, variables
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 10:04.