Foros del Web » Programando para Internet » PHP »

Varias consultas a la vez

Estas en el tema de Varias consultas a la vez en el foro de PHP en Foros del Web. Hola, podéis decirme que fallo tiene este codigo? Código PHP: <?php $queryf  =  "SELECT *" .  "FROM friends " .  "WHERE usuario = '$idfromuser'" ; $resultf  =  mysql_query ( $queryf ) or die( ...
  #1 (permalink)  
Antiguo 30/08/2013, 21:09
 
Fecha de Ingreso: noviembre-2010
Mensajes: 30
Antigüedad: 13 años, 4 meses
Puntos: 0
Pregunta Varias consultas a la vez

Hola, podéis decirme que fallo tiene este codigo?

Código PHP:
<?php
$queryf 
"SELECT *""FROM friends ""WHERE usuario = '$idfromuser'";
$resultf mysql_query($queryf) or die(mysql_error());
while(
$rowf mysql_fetch_array($resultf)){

$queryt "SELECT *""FROM usuarios,friends ""WHERE usuarios.usuario = friends.usuario_friend";
$resultt mysql_query($queryt) or die(mysql_error());
while(
$rowt mysql_fetch_array($resultt)){

$querys "SELECT *""FROM so_picprofil,friends ""WHERE so_picprofil.usuario = friends.usuario_friend";
$results mysql_query($querys) or die(mysql_error());
while(
$rows mysql_fetch_array($results)){


echo 
$rows['nombre_archivo'];
echo 
$rowt['name'];


}
}
}
?>
Lo que quiero es hacer varias consultas para asi mostrar varios datos enlazados.
Por ejemplo.

De la tabla "friends" quiero sacar todos los datos (amigos) que están asociados al usuario "$idfromuser"

Con cada uno de esos "amigos" quiero sacar de la tabla usuarios, datos asociados a cada uno de esos "amigos".

Con cada "amigo" quiero sacar datos de otra tabla (so_picprofil).

Y luego que me lo enseñe en pantalla.

He leído que se puedo hacer con Join pero no lo entiendo bien :S 3 horas intentando y sin éxito alguno, con el código de arriba solo me muestra los datos de un solo "amigo"

Gracias!!
  #2 (permalink)  
Antiguo 30/08/2013, 21:18
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Varias consultas a la vez

INNER JOIN.. pues esta es la lógica

Código SQL:
Ver original
  1. SELECT *
  2. FROM tabla1
  3. INNER JOIN tabla2
  4. ON tabla1.columna_comun = tabla2.columna_comun
  5. WHERE tabla1.campo_comun = "$variable_de_POSToGET";

Selecciono todo de la tabla1,
SELECT *
FROM tabla1


luego incluyo la tabla2
INNER JOIN tabla2

donde indico que campos son los que están vinculados o son comunes
ON tabla1.columna_comun = tabla2.columna_comun

, y le filtro diciendole que me traiga los registros que coincidad con el "id" que envié por URL o POST
WHERE tabla1.campo_comun = "$variable_de_POSToGET"
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 30/08/2013, 21:23
 
Fecha de Ingreso: noviembre-2010
Mensajes: 30
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Varias consultas a la vez

Gracias!
Pero, con ese ejemplo he estado horas :S no logre hacerlo funcionar.
No lo entiendo, corrígeme si me equivoco,

Primero seleccionamos todos los datos de la tabla1, después entramos en la tabla2 y me pierdo :?
"ON" para que es, Where lo entiendo, con eso solo coge los datos que tengan el mismo ID.

No?
  #4 (permalink)  
Antiguo 30/08/2013, 21:30
 
Fecha de Ingreso: noviembre-2010
Mensajes: 30
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Varias consultas a la vez

Gracias!
La cosa esta en que las variables son heredadas de las tablas anteriores.
Así
De Tabla1 tengo varias variables.
De cada variable de Tabla1 saco los datos de la Tabla2
Y otra vez, con cada variable de la Tabla1 saco datos de la Tabla3

Para luego poder mostrarlas en pantalla juntas.

Por ejemplo:
Amigo - Nombre - url
Amigo2 - Nombre2 - url2
AmigoX - NombreX - urlX
....
  #5 (permalink)  
Antiguo 30/08/2013, 21:32
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Varias consultas a la vez

Bueno, la verdad me gustaría darte una mano mas, pero si te fijas, edite mi respuesta y te lo doy a entender mejor...

Si no comprendes cómo avanzar después de esto, es complicado, pues necesitas un tutorial más que nada... te lo explique en HUMANO... te doy un ejemplo para relacionar 3 tablas..

necesitas un campo en comun en todas... por ejemplo:

TABLA 1
id_usuario
nom_usuario
id_sesion

TABLA 2
d_el
id_usuario

TABLA 3
num_serie
id_usuario

la consulta sería algo como:

Código SQL:
Ver original
  1. SELECT U.* ,EL.* ,E.*
  2. FROM TABLA 1 U
  3. INNER JOIN TABLA 2  EL
  4. ON U.id_usuario=EL.id_usuario
  5. INNER JOIN TABLA 3 E
  6. ON EL.id_usuario = E.id_usuario
  7. WHERE U.id_usuario=3
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Última edición por loncho_rojas; 30/08/2013 a las 21:39
  #6 (permalink)  
Antiguo 30/08/2013, 21:36
 
Fecha de Ingreso: noviembre-2010
Mensajes: 30
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Varias consultas a la vez

Lo probare! Gracias!
  #7 (permalink)  
Antiguo 31/08/2013, 10:07
 
Fecha de Ingreso: noviembre-2010
Mensajes: 30
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Varias consultas a la vez

He reducido a dos las tablas para ver si consigue hacer que funcione, pero nada, solo me muestra una entrada de la tabla.
me ha quedado asi,


Código PHP:
<?php $consultat 
"SELECT * 
FROM friends
INNER JOIN usuarios ON friends.usuario_friend =  usuarios.usuario"
;

$resultadot mysql_query($consultat) or die ("No se puede seleccionar la consulta porque ".     mysql_error()); 
while(
$rowt mysql_fetch_array($resultadot))
{
    
    echo 
$rowt['usuario'];
    
    }
?>
Haber si lo he hecho bien, en friends esta el idusuaio y el idamigo.
Saco todos los idamigo que tenga idusuario.
Y muestro todos los idamigo, pero solo me muestra uno, y en la base de datos hay más de uno.

No se que hacer :$
  #8 (permalink)  
Antiguo 31/08/2013, 12:33
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Varias consultas a la vez

Creo que se loque necesitas, peo podrias mostrarnos como tienes la tabla friends
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #9 (permalink)  
Antiguo 31/08/2013, 16:00
 
Fecha de Ingreso: noviembre-2010
Mensajes: 30
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Varias consultas a la vez

En la tabla friends solo tengo dos campos.
usuario y usuario_f

Usuario es el usuario actual, y usuario_f es el amigo del usuario.
Primero, he de buscar todos los amigos de usuario en friends, después, he de sacar los datos de todos los usuario_f de la tabla usuarios que tiene la información de todos los usuarios.


Lo que intente fue primero sacar los usuario_f de usuario, funciono, con el while mostraba los datos, despues dentro del while de la consulta, intente que con cada usuario_f sacar la información de la tabla usuarios, de este modo solo me mostraba la información de uno solo.
Lo tenia así:

Código PHP:
<?php 
$queryf 
"SELECT *""FROM friends ""WHERE usuario = '$idfromuser'"
$resultf mysql_query($queryf) or die(mysql_error()); 
while(
$rows mysql_fetch_array($resultf)){ 
$amigo $rows['usuario_f']

$queryt "SELECT *""FROM usuarios ""WHERE usuario = '$amigo'"
$resultt mysql_query($queryt) or die(mysql_error()); 
while(
$rowt mysql_fetch_array($resultt)){ 



echo 
$rowt['name']; 




?>

Gracias por vuestra ayuda!! :)

Última edición por davidte; 31/08/2013 a las 16:09
  #10 (permalink)  
Antiguo 01/09/2013, 00:01
 
Fecha de Ingreso: noviembre-2010
Mensajes: 30
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Varias consultas a la vez

He intentado ir por otro camino.
Código PHP:
SELECT FROM friendsusuarios WHERE friends.usuario='$idfromuser' AND usuarios.usuario=friends.usuario_friend 
Funciona pero solo me muestra una única entrada. Como hacer para que muestre todas?


Tengo esto:


Código PHP:
                    <ul id="og-grid" class="og-grid">

<?php
// Make a MySQL Connection
// Construct our join query
$query "
SELECT * FROM friends, usuarios, so_picprofil WHERE friends.usuario='$idfromuser' AND usuarios.usuario=friends.usuario_friend AND so_picprofil.usuario=friends.usuario_friend

"
;
     
$result mysql_query($query) or die(mysql_error());


// Print out the contents of each row into a table 
while($row mysql_fetch_array($result)){
    
?>
    
<?php echo $row['usuario']. $row['nombre_archivo'];?>
                    <li>
                        <a href="#" data-largesrc="<?php echo $img_profil;?>" data-title="<?php echo $row['name'];?>" data-description="txtxtxtx">
                            <div style="overflow: hidden; max-width: 200px;max-height: 200px;"><img src="<?php echo $img_profil;?>"  style="height: 250px;" alt="img01"/></div>
                        </a>
                    </li>
    <?
}
?>
                </ul>

Gracias!!

Última edición por davidte; 01/09/2013 a las 00:12
  #11 (permalink)  
Antiguo 01/09/2013, 11:39
 
Fecha de Ingreso: enero-2007
Mensajes: 58
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: Varias consultas a la vez

son dos tablas que en teoria estan relacionadas (padre e Hijo)tienes que asegurarte que ambas tengan su campo llave y que la tabla hijo tenga un campo llave foranea equivalente al campo llave del padre que es por donde haran relacion

luego para llamar los registros relacionados usas el iner join como en el ejemplo que te dieron de esta ultima forma que muestras los traeras pero en desorde si es que te llega a funcionar. porque no le estas diciendo quien va con quien.
tabla padre = T1
Id_padre = llave
padre
pais

tabla Hijo = T2
Id_hijo = llave
hijo
Id_padre = llave foranea

tabla Nieto = t3
Id_nieto
nieto
Id_padre = llave foranea

metodo 1:
SELECT T1.padre, T2.hijo, T3.nieto
FROM T1
WHERE T1.Id_padre = T2.Id_padre and T1.Id_padre = T3.Id_padre ////aqui le estas diciendo cual es el join///

metodo2:
SELECT T1.padre, T2.hijo, T3.nieto
FROM T1
NNER JOIN T2 ON (T1.Id_padre=T2.Id_padre)
NNER JOIN T3 ON (T1.Id_padre=T3.Id_padre)
WHERE pais = Panamá

Última edición por mutant_x; 01/09/2013 a las 12:33
  #12 (permalink)  
Antiguo 03/09/2013, 17:14
 
Fecha de Ingreso: noviembre-2010
Mensajes: 30
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Varias consultas a la vez

Hola!
Gracias funciona el método uno, el problema esta en que solo me muestra una única entrada.

Os digo la estructura de las tabla, los datos importantes

Tabla usuarios
usuario (este el el id del usuario)
nombre

Tabla friends
usuario (id del usuario)
usuario_friend (id del amigo, que tambien esta en la tabla usuario por que es un usuario más, por tanto este usuario_friend esta también en la tabla usuarios y en so_picprofil

Tabla so_picprofil
usuario (id usuario)
nombre_archivo

Al iniciar sesión tengo de variable $idfromuser que es el id usuario de la tabla usuarios, este id es el del usuario actual.

Lo que intento es:
Con el $idfromuser buscar en la tabla friends los usuario_friend.
Haciendo simplemente.

Código PHP:
SELECT *
FROM friends
WHERE friends
.usuario '$idfromuser' 
Me sale los usuario_friend de $idfromuser

Después, con cada usuario_friend, buscar en la tabla usuarios el nombre de ese usuario.

Y otra vez, con ese usuario_friend, buscar en la tabla so_picprofilel el nombre_archivo de ese usuario.

Entonces es así.

Coge el id del usuario actual, busco en la tabla friends sus amigos, con cada amigo, busco sus datos en la tabla usuarios y despues, otra vez con cada amigo, busco el nombre_archivo de ese usuario.

Por ejemplo.

Ha iniciado sesión el usuario 1234 (usuarios.usuario) tenemos que $idfromuser = 1234
El usuario 1234 tiene 3 amigos.
Así seria la estructura d el tabla friends para él.
Usuario - usuario_friend
1234 - 1235
1234 - 1236
1234 - 1237

Entonces con idfromuser que es igual a 1234 saco sus amigos. Y me da esto.
con esto:

Código PHP:
SELECT *
FROM friends
WHERE friends
.usuario '$idfromuser' 
1235 1236 1237

Ahora con cada uno de esos amigos voy a la tabla usuarios y saco el nombre.
Para, por ejemplo, 1235 la estructura de usuarios seria así.
usuario - nombre
1235 - nombrede1235

(Con el método 1 me funciona pero solo me da una unica entrada, solo a 1235, y no a los demás.)

Después con cada amigo 1235 1236 1237, sacar de la tabla so_picprofilel el nombre archivo.
Seria así la estructura para 1235.
usuario - nombre_archivo
1235 - img/nopic.png


Y eso intento, disculpen lo largo que ha quedado, pero era para explicarme mejor.
Le buscado en todos sitios he probado con AND, inner join, UNION pero nada. He estado días intentándolo pero nada, agradezco vuestra ayuda! Gracias!
  #13 (permalink)  
Antiguo 03/09/2013, 22:01
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Varias consultas a la vez

Prueba esto y dinos que obtienes

Código PHP:
Ver original
  1. $sql="select * from friends where usuario='".$idfromuser."'";
  2. $result= mysql_query($sql);
  3. $numfriend=0;
  4. while($row=mysql_fetch_assoc($result){
  5. $friend []= $row['usuario_friend'];
  6. $numfriend++;
  7. }
  8. for($i=0; $i<count($friend); $i++){
  9. echo $friend[$i]."<br>";
  10. }

No probe el codigo, puede que tenga errores
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.

Última edición por xSkArx; 03/09/2013 a las 22:06
  #14 (permalink)  
Antiguo 04/09/2013, 07:01
Avatar de alexisverano  
Fecha de Ingreso: septiembre-2008
Ubicación: La Habana.Cuba
Mensajes: 298
Antigüedad: 15 años, 7 meses
Puntos: 36
Respuesta: Varias consultas a la vez

davidte,

Postea la estrutura de tus tablas tal y como lo tienes en la base de datos.
  #15 (permalink)  
Antiguo 04/09/2013, 10:27
 
Fecha de Ingreso: enero-2007
Mensajes: 58
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: Varias consultas a la vez

por la descripcion que haces debes usar un select dentro de otro .
has un select a la segunda tabla donde la condicion WHERE es el primer select el que usa la variable eso debe trerte todos los registros coincidentes de toda la tabla. y asi haces con la tercera tabla..
  #16 (permalink)  
Antiguo 04/09/2013, 12:44
 
Fecha de Ingreso: noviembre-2010
Mensajes: 30
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Varias consultas a la vez

+SkAr88 me da los amigos!
Me dalo mismo que haciendo esto:

$query = "SELECT *". "FROM friends ". "WHERE usuario = '$idfromuser'";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
  #17 (permalink)  
Antiguo 04/09/2013, 12:51
 
Fecha de Ingreso: noviembre-2010
Mensajes: 30
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Varias consultas a la vez

La estructura de las tablas!



Gracias por vuestra ayuda!!
  #18 (permalink)  
Antiguo 04/09/2013, 12:53
 
Fecha de Ingreso: noviembre-2010
Mensajes: 30
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Varias consultas a la vez

mutant_x eso hice al principio http://www.forosdelweb.com/4493596-post1.html, pero solo me da el resultado de una única entrada
  #19 (permalink)  
Antiguo 04/09/2013, 13:17
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Varias consultas a la vez

Pon esto dentro del bucle for que puse anteriormente

Código PHP:
Ver original
  1. $sql2="select usuario from usuarios where idusuario='".$friend[$i]."'";
  2. $result2= mysql_query($sql2);
  3. while($row=mysql_fetch_assoc($result2)){
  4. echo $row['usuario'];
  5. }

Espero te.sirva
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #20 (permalink)  
Antiguo 04/09/2013, 15:53
 
Fecha de Ingreso: noviembre-2010
Mensajes: 30
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Varias consultas a la vez

Cita:
Iniciado por SkAr88 Ver Mensaje
Pon esto dentro del bucle for que puse anteriormente

Código PHP:
Ver original
  1. $sql2="select usuario from usuarios where idusuario='".$friend[$i]."'";
  2. $result2= mysql_query($sql2);
  3. while($row=mysql_fetch_assoc($result2)){
  4. echo $row['usuario'];
  5. }

Espero te.sirva

Gracias! Pero no me ha funciona :$

Me sigue saliendo una sola entrada.

De tu código cambien el idusuario por usuario, por que el idusuario era otra cosa y no me salia nada con eso, y cambie usuario del echo row final, por que buscaba "name"
Y quedo asi. Y solo me da una única entrada.

Código PHP:
<?php 
$sql
="select * from friends where usuario='".$idfromuser."'";
$resultmysql_query($sql);
$numfriend=0;
while(
$row=mysql_fetch_assoc($result)){
$friend []= $row['usuario_friend'];
$numfriend++;
}
for(
$i=0$i<count($friend); $i++){
$sql2="select name from usuarios where usuario='".$friend[$i]."'";
$result2mysql_query($sql2);
while(
$row=mysql_fetch_assoc($result2)){
echo 
$row['name'];
}
}
?>
  #21 (permalink)  
Antiguo 04/09/2013, 16:04
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Varias consultas a la vez

podrias hacer un dump de tu base de datos para asi poder ayudarte mejor
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.
  #22 (permalink)  
Antiguo 04/09/2013, 16:46
 
Fecha de Ingreso: noviembre-2010
Mensajes: 30
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Varias consultas a la vez

Cita:
Iniciado por SkAr88 Ver Mensaje
podrias hacer un dump de tu base de datos para asi poder ayudarte mejor
Aqui esta:

Código PHP:
-- --------------------------------------------------------

-- 
-- 
Estructura de tabla para la tabla `friends`
-- 

CREATE TABLE `friends` (
  `
usuariovarchar(50COLLATE latin1_spanish_ci NOT NULL,
  `
usuario_friendvarchar(50COLLATE latin1_spanish_ci NOT NULL,
  `
sentimvarchar(100COLLATE latin1_spanish_ci NOT NULL
ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

-- ----------------------------------------------------
-- 
-- 
Estructura de tabla para la tabla `so_picprofil`
-- 

CREATE TABLE `so_picprofil` (
  `
nombre_archivovarchar(300COLLATE latin1_spanish_ci NOT NULL DEFAULT '/img/no_img.png',
  `
usuariovarchar(30COLLATE latin1_spanish_ci NOT NULL
ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

-- 

-- 
-- 
Estructura de tabla para la tabla `state_profil`
-- 

CREATE TABLE `state_profil` (
  `
estadovarchar(1000COLLATE latin1_spanish_ci NOT NULL,
  `
usuariovarchar(40COLLATE latin1_spanish_ci NOT NULL
ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

--
-- --------------------------------------------------------

-- 
-- 
Estructura de tabla para la tabla `usuarios`
-- 

CREATE TABLE `usuarios` (
  `
idusuarioint(11NOT NULL AUTO_INCREMENT,
  `
usuariovarchar(40COLLATE latin1_spanish_ci NOT NULL,
  `
passwordvarchar(100COLLATE latin1_spanish_ci NOT NULL,
  `
namevarchar(30COLLATE latin1_spanish_ci NOT NULL,
  `
bdayvarchar(2COLLATE latin1_spanish_ci NOT NULL,
  `
bmesvarchar(2COLLATE latin1_spanish_ci NOT NULL,
  `
banosvarchar(4COLLATE latin1_spanish_ci NOT NULL,
  `
bsexvarchar(10COLLATE latin1_spanish_ci NOT NULL,
  `
bwherevarchar(100COLLATE latin1_spanish_ci NOT NULL,
  `
bcityvarchar(100COLLATE latin1_spanish_ci NOT NULL,
  `
sitwebvarchar(500COLLATE latin1_spanish_ci NOT NULL,
  `
whitmevarchar(20COLLATE latin1_spanish_ci NOT NULL,
  `
name_okvarchar(1COLLATE latin1_spanish_ci NOT NULL,
  
PRIMARY KEY (`idusuario`)
ENGINE=MyISAM AUTO_INCREMENT=24 DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci AUTO_INCREMENT=24 ;

-- 
  #23 (permalink)  
Antiguo 08/09/2013, 19:56
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Varias consultas a la vez

Espero esto te funcione

Código PHP:
Ver original
  1. $sql="select * from friends where usuario='".$idfromuser."'";
  2. $result= mysql_query($sql) or die(mysql_error());
  3. $numfriend=0;
  4. while($row=mysql_fetch_assoc($result)){
  5. $friend []= $row['usuario_friend'];
  6. $numfriend++;
  7. }
  8. for($i=0; $i<count($friend); $i++){
  9. $sql2="select u.name,sp.nombre_archivo from usuarios AS u INNER JOIN so_picprofil AS sp USING (usuario) where usuario='".$friend[$i]."'";
  10. $result2= mysql_query($sql2);
  11. while($row=mysql_fetch_assoc($result2)){
  12. echo $row['name']."<br>";
  13. echo $row['nombre_archivo']."<br>";
  14. }
  15. }
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.

Última edición por xSkArx; 09/09/2013 a las 12:15 Razón: Corregido :D
  #24 (permalink)  
Antiguo 10/09/2013, 03:31
 
Fecha de Ingreso: noviembre-2010
Mensajes: 30
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Varias consultas a la vez

Cita:
Iniciado por SkAr88 Ver Mensaje
Espero esto te funcione

Código PHP:
Ver original
  1. $sql="select * from friends where usuario='".$idfromuser."'";
  2. $result= mysql_query($sql) or die(mysql_error());
  3. $numfriend=0;
  4. while($row=mysql_fetch_assoc($result)){
  5. $friend []= $row['usuario_friend'];
  6. $numfriend++;
  7. }
  8. for($i=0; $i<count($friend); $i++){
  9. $sql2="select u.name,sp.nombre_archivo from usuarios AS u INNER JOIN so_picprofil AS sp USING (usuario) where usuario='".$friend[$i]."'";
  10. $result2= mysql_query($sql2);
  11. while($row=mysql_fetch_assoc($result2)){
  12. echo $row['name']."<br>";
  13. echo $row['nombre_archivo']."<br>";
  14. }
  15. }
Gracias! Pero me sigue saliendo solo una entrada :$
Intentare cambiar la estructura de las tablas o algo para poder sacarlo bien!
Gracias a todos por la ayuda!
  #25 (permalink)  
Antiguo 10/09/2013, 05:00
Avatar de xSkArx  
Fecha de Ingreso: marzo-2008
Ubicación: Chile
Mensajes: 945
Antigüedad: 16 años, 1 mes
Puntos: 96
Respuesta: Varias consultas a la vez

Que raro yo lo probe y funciona bien

PS: comprueba que el usuario tenga mas de un amigo
__________________
Busca, lee y practica todo lo que puedas.
Usa siempre el buscador antes de postear.
Si posteas código, utiliza el HIGHLIGHT correcto.

Última edición por xSkArx; 10/09/2013 a las 10:28

Etiquetas: Ninguno
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:58.