Foros del Web » Programando para Internet » PHP »

PHP OO Resultados de 4 consultas alternados con mysqli_multi_query()

Estas en el tema de Resultados de 4 consultas alternados con mysqli_multi_query() en el foro de PHP en Foros del Web. Hola a todos, Estoy experimentado con (mysqli_multi_query) para ahorrar lineas de código, desarrolle este script que funciona: Código PHP:         $tablas   = "SELECT *  FROM tabla1 order by id desc LIMIT 3;" ;       $tablas  ...
  #1 (permalink)  
Antiguo 19/09/2014, 14:25
Avatar de Titos  
Fecha de Ingreso: agosto-2002
Mensajes: 116
Antigüedad: 17 años
Puntos: 3
Pregunta Resultados de 4 consultas alternados con mysqli_multi_query()

Hola a todos,

Estoy experimentado con (mysqli_multi_query) para ahorrar lineas de código, desarrolle este script que funciona:

Código PHP:
        $tablas  ="SELECT *  FROM tabla1 order by id desc LIMIT 3;"
    
$tablas .="SELECT *  FROM tabla2 order by id desc LIMIT 3;"
    
$tablas .="SELECT *  FROM tabla3 order by id desc LIMIT 3;"
    
$tablas .="SELECT *  FROM tabla4 order by id desc LIMIT 3;"
    
    if(
$todas mysqli_multi_query($conex,$tablas)){
        do{ 
    
$resultado=mysqli_store_result($conex);
    while (
$r =  mysqli_fetch_array($resultado)){
    
        
$id $r['id']; 
        
$user $r['iduser'];
        
$imagen $r['imagen']; 
        
$titulo $r['titulo'];
        
$texto $r['texto'];
        
$fuente $r['fuente'];
    
            echo
"$id  | $user | $imagen | $titulo | $texto | $fuente <br>";

    }
    
mysqli_free_result($resultado);
    if (
mysqli_more_results($conex)) { 
        }
    }while(
mysqli_more_results($conex) && mysqli_next_result($conex)); 
    } 
    
mysqli_close($conex); 
Pero quiero ir mas aya:
Actualmente muestra los 3 registros por cada tabla:

tabla1_resultados1,
tabla1_resultados2,
tabla1_resultados3.

tabla2_resultados1,
tabla2_resultados2,
tabla2_resultados3.

tabla3_resultados1,
tabla3_resultados2,
tabla3_resultados3.

tabla4_resultados1,
tabla4_resultados2,
tabla4_resultados3.

y lo que yo estoy buscando es que los muestre alternados ejemplo:

tabla1_resultados1,
tabla2_resultados1,
tabla3_resultados1,
tabla4_resultados1.

tabla1_resultados2,
tabla2_resultados2,
tabla3_resultados2,
tabla4_resultados2.

tabla1_resultados3,
tabla2_resultados3,
tabla3_resultados3,
tabla4_resultados3.

y es aleatorio mas extremo jajajaja, gracias por la ayuda por adelantado...

No se si me explique bien... Alguien sabe como lograr lo que quiero?
__________________
Saludos a [email protected] :adios:

Última edición por Titos; 19/09/2014 a las 15:17
  #2 (permalink)  
Antiguo 20/09/2014, 02:51
 
Fecha de Ingreso: marzo-2011
Ubicación: Oaxaca
Mensajes: 252
Antigüedad: 8 años, 5 meses
Puntos: 17
Respuesta: Resultados de 4 consultas alternados con mysqli_multi_query()

amigo, comprendo el experimento que quieres realizar, pero, no logro visualizarlo de manera optima y aplicado en la vida real, para hacer una consulta diferente en 4 tablas y con eso hacer 3 platillos de ensalada diferente, no lo veo muy optimo, te pongo el ejemplo de lo que entiendo
tenemos las siguientes tablas

usuario(Nombre) [Juan, Tomas, Daniel]
Pais(Nombre)[Mexico, Argentina, España]
color(Nombre)[Azul, Rojo, Cafe]
Animal(Nombre)[Elefante, Oso ,Tigre]

y tu quieres que temuestre los datos asi

Juan
México
Azul
Elefante

Tomas
Argentina
Rojo
Oso

Daniel
España
Cafe
Tigre

Ahora bien la unica opción que se me ocurre es que en vez de utilizar esto
Código PHP:
    while ($r =  mysqli_fetch_array($resultado)){
...   
...
...
    } 
en vez de usar el while, solo lo dejes asignes las variables dentro de un ciclo for ejemplo

Código PHP:
for($x=1$x<=3$x=$x+1){
$r1 =  mysqli_fetch_assoc($resultado1);
$r2 =  mysqli_fetch_assoc($resultado2);
$r3 =  mysqli_fetch_assoc($resultado3);
$r4 =  mysqli_fetch_assoc($resultado4);

$usuario rs1[Nombre];
$color rs2[Nombre];
$pais rs3[Nombre];
$animal rs4[Nombre];

echo 
$usuario;
echo 
"<br>";
echo 
$color;
echo 
"<br>";
echo 
$pais;
echo 
"<br>";
echo 
$animal;
echo 
"<br>";
echo 
"---------------------------------------------------";


es la unica forma como se me ocurre que podria funcionar amigo, intentalo y me comentas, suerte

Etiquetas: mysql, registro, resultados, select, sql, tabla
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:21.