Foros del Web » Programando para Internet » PHP »

Donde poner "LIMIT 1"

Estas en el tema de Donde poner "LIMIT 1" en el foro de PHP en Foros del Web. Hola gente, soy nuevo en esto de PHP y quisiera preguntarles que es lo que hago mal, estoy haciendo una consulta a la base de ...
  #1 (permalink)  
Antiguo 11/06/2014, 02:36
 
Fecha de Ingreso: junio-2014
Mensajes: 2
Antigüedad: 9 años, 10 meses
Puntos: 0
Donde poner "LIMIT 1"

Hola gente, soy nuevo en esto de PHP y quisiera preguntarles que es lo que hago mal, estoy haciendo una consulta a la base de datos y en la que tengo dos imágenes por productos, pero cuando pongo "LIMIT 1" para muestre solo una, y solo me aparece solo el texto en html. Les muestro donde lo intento poner:

$conexion = mysqli_connect("localhost", "tienda","online","tiendaonline");
mysqli_set_charset($conexion, "utf8");
$peticion = "SELECT * FROM productos";
$resultado = mysqli_query ($conexion, $peticion);
while($fila = mysqli_fetch_array ($resultado)){
echo "<article>";
echo "<h3>".$fila ['nombre']."</h3>";
echo "<p>" .$fila ['descripcion']."</p>";
echo "<p>Precio:" .$fila ['precio']."$</p>";
$peticion2 = "SELECT * FROM imagenesproductos WHERE idproducto = ".$fila ['id'] ."LIMIT 1";
$resultado2 = mysqli_query ($conexion, $peticion2);
while($fila2 = mysqli_fetch_array ($resultado2)) {
echo "<img src='photo/".$fila2['imagen']."'>";
}

PD: solo tengo 3 productos y dos imagenes por cada una, solo quisiera que cuando llame a los 3 productos en una pagina, porque asi lo tengo, solo salga una imagen. Gracias
  #2 (permalink)  
Antiguo 11/06/2014, 04:49
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Donde poner "LIMIT 1"

Debes abrir otra "conexión" para usarla dentro del while...

Intento explicartelo:

ejecutas una consulta (SELECT * FROM productos) en $conexion
entras en bucle SOBRE esa consulta
ejecutas otra consulta (SELECT * FROM imagenesproductos WHERE idproducto =...) en $conexion
entras en bucle SOBRE esa consulta
fin

Cuando ejecutas otra consulta en $conexion, te cargas los resultados de la anterior (por mucho q se llame $resultado2...). Asiq, o bien creas otra $conexion, o mejoras esa consulta

Si quieres mejorar la consulta, podrías usar un LEFT JOIN por ejemplo
__________________
>> Eleazan's Source
>> @Eleazan
  #3 (permalink)  
Antiguo 11/06/2014, 07:10
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: Donde poner "LIMIT 1"

te recomiendo que cuando haces una consulta la guardes en variables independientes:

$consulta1 = conexcion -> querry (consulta 1);
$consulta2 = conexcion -> querry (consulta 2);
$consulta3 = conexcion -> querry (consulta 3);

utilisando el mismo querry de conexion y así no pierdes los valores ya que cada uno esta guardado en una variable
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #4 (permalink)  
Antiguo 11/06/2014, 11:39
 
Fecha de Ingreso: junio-2014
Mensajes: 2
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Donde poner "LIMIT 1"

Cita:
Iniciado por Eleazan Ver Mensaje
Debes abrir otra "conexión" para usarla dentro del while...

Intento explicartelo:

ejecutas una consulta (SELECT * FROM productos) en $conexion
entras en bucle SOBRE esa consulta
ejecutas otra consulta (SELECT * FROM imagenesproductos WHERE idproducto =...) en $conexion
entras en bucle SOBRE esa consulta
fin

Cuando ejecutas otra consulta en $conexion, te cargas los resultados de la anterior (por mucho q se llame $resultado2...). Asiq, o bien creas otra $conexion, o mejoras esa consulta

Si quieres mejorar la consulta, podrías usar un [URL="http://dev.mysql.com/doc/refman/5.0/es/join.html"]LEFT JOIN[/URL] por ejemplo
Gracias amigo, disculpa, soy un poco ignorante todavía con los términos PHP, me guío mas que nada por instinto todavía, quisiera joderte un poco y preguntarte si podes darme un ejemplo de como mejorar esa consulta. Gracias

Etiquetas: imagenes+php, limit
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 00:56.