Foros del Web » Programando para Internet » PHP »

Sacar datos de varias tablas diferentes

Estas en el tema de Sacar datos de varias tablas diferentes en el foro de PHP en Foros del Web. Hola a todos!! Quiero hacer un cuestionario tipo test.Las preguntas las debo sacar de tres tablas diferentes,cada una con un numero de campos distinto(ya que ...
  #1 (permalink)  
Antiguo 25/03/2006, 14:35
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
Sacar datos de varias tablas diferentes

Hola a todos!!

Quiero hacer un cuestionario tipo test.Las preguntas las debo sacar de tres tablas diferentes,cada una con un numero de campos distinto(ya que una tiene la pregunta y tres opciones posibles,la segunda tiene la pregunta y 4 opciones y la ultima,la pregunta y 5 opciones).Ademas,de cada tabla debo sacar un porcentaje determindao de cuestiones(de filas) y por tanto,me interesa que el porcentaje de cuestiones sea aleatorio,es decir,que no me imprima las filas en el orden que estan almacendas en las tablas(por ejemplo,la fila 1,la fila 7 y la fila 9).Alguien sabe cómo se podría hacer??

Muchísimas gracias de antemano
  #2 (permalink)  
Antiguo 26/03/2006, 06:03
 
Fecha de Ingreso: abril-2005
Mensajes: 287
Antigüedad: 19 años
Puntos: 0
Lo he conseguido!!Aquí dejo el código por si a alguien le interesa.

Código PHP:
<?php

include('BaseDeDatos.php');

$code=$_GET['codigo'];
$sent=" SELECT pregunta,opcion_a,opcion_b,opcion_c,opcion_d,opcion_e FROM cuestiones_5op
        UNION SELECT pregunta,opcion_a,opcion_b,opcion_c,opcion_d,0 FROM cuestiones_4op
        UNION SELECT pregunta,opcion_a,opcion_b,opcion_c,0,0 FROM cuestiones_3op
        WHERE codigo_curso='$code' ORDER BY RAND()"
;
$result=baseDatos("base",$sent);

$pregunta="a";
$respuesta="a";

while(
$row=mysql_fetch_array($result,MYSQL_NUM))
{
    echo 
$pregunta.")<b>".$row[0]."</b><br>";
    
$salida=array_slice($row,1,4);
    
shuffle($salida);
     foreach(
$salida as $valor)
     {
         if(
$valor!='0')
               echo 
"<input type='radio' name=$respuesta value=$valor>".$valor."<br>";
     }
     
$pregunta++;
     
$respuesta++;
     echo 
"<br>";

}

?>
Saludos
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 23:51.