Foros del Web » Programando para Internet » PHP »

no da vueltas mi ciclo for

Estas en el tema de no da vueltas mi ciclo for en el foro de PHP en Foros del Web. Hola de nuevo, tengo este problema, necesito que me guarde "n" cantidad de datos y pare cuando sepa cuantos. si imprime hasta cuantas vueltas debe ...
  #1 (permalink)  
Antiguo 25/10/2009, 19:17
Avatar de mft
mft
 
Fecha de Ingreso: abril-2003
Ubicación: *
Mensajes: 239
Antigüedad: 21 años, 1 mes
Puntos: 4
no da vueltas mi ciclo for

Hola de nuevo, tengo este problema, necesito que me guarde "n" cantidad de datos y pare cuando sepa cuantos.

si imprime hasta cuantas vueltas debe dar y eso, pero solo me guarda 1 dato, el último, como le hago para guardar todos los datos.


$contador=$contador;
for ($i=0; $i < $contador; $i++)
{
$sql="insert into respuestas (idrespuesta,idpregunta,respuesta) values ('$idrespuesta','$idpregunta','$respuesta[$i]')";
$rs=@mysql_query($sql, $conn);
}


y cuando imprimo los datos lo pongo asi.
$i=0;
echo "<select name='respuesta[$i]' id='respuesta[$i]'>";
$i++;


que tengo mal???
__________________
Lo que haces, determina lo que eres.
Saludos!
  #2 (permalink)  
Antiguo 25/10/2009, 19:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: no da vueltas mi ciclo for

y de donde sacas la variable $contador??

porque si utilizas arrays en los name es muy sencillo
Código PHP:
foreach ($_POST['respuesta'] as $select// ... 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 25/10/2009, 19:23
Avatar de mft
mft
 
Fecha de Ingreso: abril-2003
Ubicación: *
Mensajes: 239
Antigüedad: 21 años, 1 mes
Puntos: 4
Mensaje Respuesta: no da vueltas mi ciclo for

en donde pondría eso que me indicas??

el $contador, lo saco antes de una consulta para saber cuantas respuestas tendré y saber cuantas vueltas dará.
__________________
Lo que haces, determina lo que eres.
Saludos!
  #4 (permalink)  
Antiguo 25/10/2009, 19:31
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: no da vueltas mi ciclo for

lo que te indico es similar al ciclo for() que vienes haciendo, con la diferencia de que solo dura tantas veces como elementos tenga el arreglo pasado...

y como los <select/> son varios, y son del tipo array(), pues...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 25/10/2009, 19:34
Avatar de mft
mft
 
Fecha de Ingreso: abril-2003
Ubicación: *
Mensajes: 239
Antigüedad: 21 años, 1 mes
Puntos: 4
Respuesta: no da vueltas mi ciclo for

ok, fijate que lo estoy poniendo así:
Código PHP:
foreach ($_POST['respuesta'] as $variable)
        { 
             
$sql="insert into respuestas (idrespuesta,idpregunta,respuesta) values ('$idrespuesta','$idpregunta','$variable')";    
             
$rs=@mysql_query($sql$conn);    
    
         } 
y resulta que me marca el siguiente error:

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\codigos\examenes.php on line 55

__________________
Lo que haces, determina lo que eres.
Saludos!
  #6 (permalink)  
Antiguo 25/10/2009, 19:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: no da vueltas mi ciclo for

y el error cuando te sale... ¿antes o después de enviar el formulario??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 25/10/2009, 19:38
Avatar de mft
mft
 
Fecha de Ingreso: abril-2003
Ubicación: *
Mensajes: 239
Antigüedad: 21 años, 1 mes
Puntos: 4
Respuesta: no da vueltas mi ciclo for

el error sale ya cuando le doy guardar los datos, osea al enviarlo y el error es en la linea en donde está escrito el foreach...

__________________
Lo que haces, determina lo que eres.
Saludos!
  #8 (permalink)  
Antiguo 25/10/2009, 19:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: no da vueltas mi ciclo for

bien, entiendo... antes de tal foreach() has un var_dump() de todo el $_POST

y después, por favor, coloca el resultado de tal aquí en el foro...

o bien, analiza porque no aparece en el POST el índice respuesta, que es extraño... ya que si existen los <select/> con dicho name
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 25/10/2009, 20:51
Avatar de mft
mft
 
Fecha de Ingreso: abril-2003
Ubicación: *
Mensajes: 239
Antigüedad: 21 años, 1 mes
Puntos: 4
De acuerdo Respuesta: no da vueltas mi ciclo for

listo

ya quedó solucionado.

tenía varios errores, primero:

en los select, yo ponía la variable name="respuesta[$i] " id="respuesta[$i]"

así que se los quitamos y quedó así:
Código PHP:
<select name='respuesta[]'
luego cambie mi ciclo while y el for que intenté usar y quedó siempre con el foreach.

Yo necesité de 2 variables, en caso de necesitar una hubiera quedado así:
Código PHP:
foreach ($_POST['respuesta'] as $variable
pero quedó así para 2 variables que necesité:
Código PHP:
foreach ($_POST['respuesta'] as $key => $variable
y al guardarla, solo a la variable le agregamos esto:
Código PHP:
'$idpregunta[$key]' 
bueno, espero haberme explicado en la solución.

Y mil gracias a pateketrueke por su gran ayuda y colaboración.

Saludos!!!!
__________________
Lo que haces, determina lo que eres.
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 21:08.