Pregunta:
Fecha: 14-12-2016 03:40:15
(En Español)
la primera:
all_items
que contiene:
id, item, descripcion , bono, ptos
y la segunda:
itemsdrops
que contiene:
id, cantidad, lugar.
de ejemplo quedaria algo asi:
all_items=
id: 1 , item: espada,descripccion: hace gran daño, bono: daño fisico, ptos: +5
id: 2 , item: hacha de guerra: hace gran daño en area, bono: daño fisico, ptos: +6
itemsdrops
id: 1, cantidad :2, lugar: portal
id: 2, cantidad :1, lugar: portal
ahora quiero hacer la consulta.
ahora el problema es que en vez de mostrarme los 2 items que estan en el mismo lugar, me muestra solo uno de los items que esta en el lugar.
en pocas palabras: quieco haces una consulta a una tabla que me diga la id de los items sueltos y en donde estan y que luego consulte otra tabla y que vea todos los items que tienen la misma id en la primera tabla para luego mostrarlos en pantalla. Votos: 0 - Respuestas: 6 - Vistas: 10 Compartir en: Google Facebook Twitter LinkedIn Link
¿Cómo sacar el ID de distintas filas con MSQLi?[No resuelta]
Bueno es que tengo 2 tablas.la primera:
all_items
que contiene:
id, item, descripcion , bono, ptos
y la segunda:
itemsdrops
que contiene:
id, cantidad, lugar.
de ejemplo quedaria algo asi:
all_items=
id: 1 , item: espada,descripccion: hace gran daño, bono: daño fisico, ptos: +5
id: 2 , item: hacha de guerra: hace gran daño en area, bono: daño fisico, ptos: +6
itemsdrops
id: 1, cantidad :2, lugar: portal
id: 2, cantidad :1, lugar: portal
ahora quiero hacer la consulta.
$edificioamostrar="portal";
echo "<div class='objetosdelatienda'>";
echo "<table border='2'>";
echo " <th>item</th>";
echo " <th>descripcion</th>";
echo " <th>bono</th>";
echo " <th>cantidad</th>";
echo " <th>v</th>";
$sql=mysqli_query($con,"SELECT * FROM itemsdrops WHERE lugar ='$edificioamostrar'");
if($f=mysqli_fetch_assoc($sql)){
if($edificioamostrar==$f['lugar']){
$iditem=$f['id'];
$sql2=mysqli_query($con,"SELECT * FROM all_item WHERE id ='$iditem'");
while ($row = mysqli_fetch_row($sql)){
$item= $row[0];
echo "<tr>";
echo "<td>$row[1]</td>";
echo "<td>$row[2]</td>";
echo "<td>$row[3]</td>";
echo "<td>$row[6]</td>";
echo "<td><a href='#'>recoger</a></td>";
echo "</tr>";
}
echo "</table>";
}
}
echo "</div>";ahora el problema es que en vez de mostrarme los 2 items que estan en el mismo lugar, me muestra solo uno de los items que esta en el lugar.
en pocas palabras: quieco haces una consulta a una tabla que me diga la id de los items sueltos y en donde estan y que luego consulte otra tabla y que vea todos los items que tienen la misma id en la primera tabla para luego mostrarlos en pantalla. Votos: 0 - Respuestas: 6 - Vistas: 10 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 15-12-2016 14:26:58 Este problema me parece más de base de datos. Puede por favor plantear el requerimiento a través del cuál planteo dichas tablas? También quisiera saber si entre ellas existe alguna relación, es decir un valor de all_items se puede usar varias veces por itemsdrops?. No se si me hize entender. Por favor me confirma. :) Votos: 0 - Link respuesta
-
Fecha: 15-12-2016 17:27:27 lo unico que tienen en comun es la id, por el cual yo esperaba mostrar resultados, que con php yo solicitaba el contenido de una tabla y depende de la id muestro los detalles desde otra tabla Votos: 0 - Link respuesta
-
Fecha: 16-12-2016 08:55:47 Por favor analice esta consulta.
select ai.id,ai.item,ai.descripcion,ai.bono,ai.ptos
from all_items as ai
inner join itemsdrops as is
on ai.id = is.id
where is.lugar='portal'; Votos: 0 - Link respuesta -
Fecha: 16-12-2016 13:42:47 no la entiendo, sorry solo un poco porque se parece a la consulta mysqli que suelo usar Votos: 0 - Link respuesta
-
Fecha: 27-12-2016 14:18:27 mysqli::query
revisa eso mi estimado, espero te ayude. Votos: 0 - Link respuesta -
Fecha: 27-12-2016 16:09:39 Es una consulta SQL con relacion a dos tablas.
El siguiente video le ayuda con eso. Digo, si todavía no lo ha solucionado.
Consultas MySQL Inner Join o Cláusula Where
Votos: 1 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
