Foros del Web » Programando para Internet » PHP »

llenando un array con otros arrays

Estas en el tema de llenando un array con otros arrays en el foro de PHP en Foros del Web. Hola estoy intentando llenar este array a partir de unos arrays que vienen de un formulario anterior Código PHP: $p_id  =  $_POST [ p_id ]; ...
  #1 (permalink)  
Antiguo 16/09/2009, 08:22
 
Fecha de Ingreso: mayo-2009
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
llenando un array con otros arrays

Hola

estoy intentando llenar este array a partir de unos arrays que vienen de un formulario anterior
Código PHP:
$p_id $_POST[p_id];
$option=$_POST[opcion];
$menu=$_POST[opcionm];
$texto =$_POST[texto];
$n_registrosd count($texto);
$array_valores = array( array());
                         
for (
$i=0$i <= $n_registrosd$i++){ 

    
$array_valores[] = array('a_id' => '''a_mail' => $_SESSION['MM_Username'], 'a_p_id' => $p_id[0], 'a_etapa' => 'educacion''a_txt' => $texto[0]);

 } 
luego los inserto el problema esta aqui (creo)
Código PHP:
$p_id[0
deberia colocarlo
Código PHP:
$p_id[] 
pero me sale un error

Fatal error: Cannot use [] for reading in /home/destinoc/public_html/spanish/variablesedu.php on line 94

si no lo puedo usar vacio, como hago ?

Gracias por la atención
  #2 (permalink)  
Antiguo 16/09/2009, 09:29
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Respuesta: llenando un array con otros arrays

Hola deddleity,

Pues al parecer $p_id no es un array, puesto que le asignas el valor de $_POST[p_id]
Código PHP:
$p_id $_POST[p_id]; 
Es necesario aclarar que no puedes usar $p_id[], ya que es necesario indicar el indice o key para leer una matriz.

Salud2
__________________

  #3 (permalink)  
Antiguo 16/09/2009, 09:34
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: llenando un array con otros arrays

Holas,

Como menciona gerson, porque usas [], y porque no mejor usas $p_id.

En tu for usarias asi:

$array_valores[] = array('a_id' => '', 'a_mail' => $_SESSION['MM_Username'], 'a_p_id' => $p_id, 'a_etapa' => 'educacion', 'a_txt' => $texto);

Saludos
Gildus
__________________
.: Gildus :.
  #4 (permalink)  
Antiguo 16/09/2009, 09:49
 
Fecha de Ingreso: mayo-2009
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
Respuesta: llenando un array con otros arrays

Gracias por leer y contestar

no lo uso, por que me devolveria un solo resultado, y en realidad son como 6 o 7 resultados, ya que p_id es el id de la pregunta y si son 5 o 6 preguntas pues cada una tendra su propio id y ese es el que necesito colocar en la base de datos, por ejemplo en este otro formulario, en el que se cuantas preguntas son uso esto:
Código PHP:
$p_id $_POST[p_id];
$option=$_POST[opcion];
$radio=$_POST[radioop];
$menuu=$_POST[opcionm];
$array_valores = array( array(''$_SESSION['MM_Username'], $p_id[0], 'personal'$option),
                         array(
''$_SESSION['MM_Username'], $p_id[1], 'personal'$radio) ,
                        array(
''$_SESSION['MM_Username'], $p_id[2], 'personal'$menuu)); 
y especifíco el indice para cada respuesta, pero en el que tengo el problema
no se cuantas preguntas van a ser, por consiguiente necesito que genere lo mismo que hice en el que les muestro aqui, pero automatico, por eso le coloco el for, vuelvo a incluir el codigo del problema

Código PHP:
$p_id $_POST[p_id];
$option=$_POST[opcion];
$menu=$_POST[opcionm];
$texto =$_POST[texto];
$n_registrosd count($texto);
$array_valores = array( array());
                         
for (
$i=0$i <= $n_registrosd$i++){ 

    
$array_valores[] = array('a_id' => '''a_mail' => $_SESSION['MM_Username'], 'a_p_id' => $p_id[], 'a_etapa' => 'educacion''a_txt' => $texto[]);

 } 
muchas gracias por la atencion
  #5 (permalink)  
Antiguo 16/09/2009, 10:01
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Respuesta: llenando un array con otros arrays

Bueno en este caso tendrias que hacer lo siguiente:
Código PHP:
$p_id $_POST[p_id]; 
$option=$_POST[opcion]; 
$menu=$_POST[opcionm]; 
$texto =$_POST[texto]; 
$n_registrosd count($texto); 
$array_valores = array( array()); 
                          
for (
$i=0$i <= $n_registrosd$i++){  

    
$array_valores[] = array('a_id' => '''a_mail' => $_SESSION['MM_Username'], 'a_p_id' => $p_id[$i], 'a_etapa' => 'educacion''a_txt' => $texto[$i]); 

 } 
Esto asumiendo que $_POST[p_id] es una matriz.

Salud2
__________________

  #6 (permalink)  
Antiguo 16/09/2009, 10:58
 
Fecha de Ingreso: mayo-2009
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
Respuesta: llenando un array con otros arrays

Muchas gracias por tu respuesta, pero tampoco me funciona
  #7 (permalink)  
Antiguo 16/09/2009, 11:07
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Respuesta: llenando un array con otros arrays

Bueno en todo caso el detalle es como estas nombrando a los inputs, segun eso podriamos ver el problema.
__________________

  #8 (permalink)  
Antiguo 16/09/2009, 13:23
 
Fecha de Ingreso: mayo-2009
Mensajes: 8
Antigüedad: 15 años
Puntos: 0
Respuesta: llenando un array con otros arrays

tuve otra idea( aunque tampoco me funciona) pero derponto a alguein se le ocurre algo mas
Código PHP:
$p_id $_POST[p_id];
$option=$_POST[opcion];
$menu=$_POST[opcionm];
$texto =$_POST[texto];
$n_registrosd count($texto);
$array_valores = array();
                         
for (
$i=0$i <= $n_registrosd$i++){ 

    
$array_valores[] = array('a_id' => '''a_mail' => $_SESSION['MM_Username'], 'a_p_id' =>'' 'a_etapa' => 'educacion''a_txt' => '');

 }
 foreach(
$p_id as $p){
 
$array_valores[$a_p_id]=$p;
 }
 foreach(
$texto as $txt){
 
$array_valores[$a_txt]=$txt;
 } 
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:48.