Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/02/2012, 06:55
sylarlocke
 
Fecha de Ingreso: junio-2011
Mensajes: 44
Antigüedad: 13 años, 5 meses
Puntos: 2
Almacenar resultado de una consulta en un array dentro de un input

Hola estoy haciendo un script en el que muestro el resultado de una consula y lo comparo con el valor que ha introducido el usuario en un input, la cuestión es que despues de probar varias formas de hacerlo esta ha sido la mas viable, pero aún asi me falta algo que no termino de solucionar

La cuestion es que comparo el resultado de la consulta con el valor del input que ha escrito el usuario, esto lo almaceno en un array de manera oculta en un "hidden" y al final lo que pretendo mostrar son todos estos inputs, que se repiten en un bucle while

Pero lo que pasa es que cuando pulso en botón comprobar solo se almacena en el array el último valor pero el resto no

Y lo que quiero es mostrarlos todos para luego comparar si lo que ha escrito el usuario corresponde con el mismo valor que hay en la base de datos para darlo como correcto

Aqui os pongo una captura de lo que estoy haciendo, lo que figura debajo de cada apartado, no hagais caso que son flag para comprobar:


Y aquí el código en php:
Código PHP:
<?php
require("usuario.php");//Redirigido de la pagina usuario.php
    
$j=0;
    
$variable $_POST['selecciona'];    
    echo 
"<br><center><h4>Has seleccionado el nivel $variable</h4></center>";
    while(
$j<4)
    {
        
//Conectamos a la base de datos para mostrar los registros aletarios del nivel seleccionado
        
$conexion=mysql_connect('localhost','root','')or die ('Ha fallado la conexión: '.mysql_error());
        
mysql_select_db('idioma')or die ('Error al seleccionar la Base de Datos: ');
        
$consulta=mysql_query("use idioma",$conexion);
        
$laselect="select ingles,espanol from datos where nivel='$variable' limit $j,1";
        
$consulta mysql_query($laselect)or die ('La consulta insert falló: ' mysql_error());
        echo
"<center><table border=0><tr><th>Palabra en Ingles</th><th><pre style='display:inline'>    </pre></th><th>Palabra en Español</tr>";
        while (
$registro mysql_fetch_row($consulta))
        {
            echo
"<tr><td>";
            echo 
$registro[0]."<br>";
            
$ingles[$j]=$registro[0];
            
//echo "j=$j"."<br>";//flag
            //echo $ingles[$j]."<br>";//flag
            
$almacena[$j]=$registro[1];
            
//echo $almacena[$j];//flag
            
echo"</td><td></td>";
        }    
        
    
        echo 
"<form action='usuario2.php' method='post'name='formulario' >";            
        echo 
"<td><input type='text' name='espanolpalabra' size='20' onkeyup='document.formulario.comprobar.disabled=document.formulario.comprobar.enabled'></td></tr>";
        echo 
"<td><input type='hidden' name='inglespalabra' value=$almacena[$j]><br></td></tr></table><br>";//como la variable $almacena pierde el valor una vez se ejecute el formulario aplico este técnica para guardarla
        
$inglespalabra[$j]=$_POST['espanolpalabra'];
        
$espanolpalabra[$j]=$_POST["inglespalabra"];
        echo 
"J=$j,inglespalabra=$inglespalabra[$j],espanolpalabra=$espanolpalabra[$j],almacena=$almacena[$j],ingles=$ingles[$j]"."<br>";//flag
        
$j++;
    }    
    echo 
"<tr><input type='submit' value='Comprobar' name='comprobar' disabled></tr>";
    echo
"</form></center>";
    
    for(
$i=0;$i<4;$i++)
    {
        echo 
$inglespalabra[$i]."<br>";
        echo 
$espanolpalabra[$i]."<br>";
    }

?>
Gracias ojala podais ayudarme

Un Saludo

Última edición por sylarlocke; 17/02/2012 a las 07:10