Foros del Web » Programando para Internet » PHP »

insert de arreglos

Estas en el tema de insert de arreglos en el foro de PHP en Foros del Web. Hola amigos, tengo el siguiente problema, tengo un grupo de arreglos el cual debo ingresar en mi bd. Ahorita logro ingresar un arreglo de los ...
  #1 (permalink)  
Antiguo 16/04/2010, 13:28
 
Fecha de Ingreso: septiembre-2007
Mensajes: 318
Antigüedad: 16 años, 7 meses
Puntos: 1
De acuerdo insert de arreglos

Hola amigos, tengo el siguiente problema, tengo un grupo de arreglos el cual debo ingresar en mi bd.
Ahorita logro ingresar un arreglo de los 11 que debo ingresar, el codigo que uso es el siguiente:

$lista=implode(',',$_POST['opciones']);
$separar = explode(',',$lista);
foreach($separar as $id_cliente){
$result=mysql_query("CALL asignar_registros('".$id_cliente."','".$id_agente. "','".$id_supervisor."','".$fecha_creacion."') ");
}

este trabaja perfectamente se ingresan en la bd tanto datos como el arreglo tenga, el proble es que debo ingresar otro arreglo para completar el llenado de la bd.

por ejemplo tengo otra cadena llamada nombre donde me vienen hasta tres o mas nombre que debo insertar conjunto a los datos de las opciones.

por ejemplo:

|campo1| | |campo2|
----------|-----------
opcion1 | nombre1
opcion2 | nombre2

ahorita puedo insertar las opciones pero como ingreso los nombres ??

mil gracias
  #2 (permalink)  
Antiguo 16/04/2010, 17:08
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: insert de arreglos

No tiene lógica unir los arreglos para volver a separar los arreglos. Ya de por sí, $_POST es un array. Te recomiendo que en vez de usar foreach en tu caso usa for si es que los campos vienen iguales en cantidades ejemplo
Código PHP:
Ver original
  1. for($i=0; $i<count($_POST['opciones']); $i++){
  2.   echo $_POST['opciones'][$i] . ' - ' . $_POST['Nombre'][$i] . '<br />';
  3. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 17/04/2010, 16:38
 
Fecha de Ingreso: septiembre-2007
Mensajes: 318
Antigüedad: 16 años, 7 meses
Puntos: 1
De acuerdo Respuesta: insert de arreglos

hola gracias por responder, no estoy seguro que lo que me dices me pueda ayudar.

fijense cual es el problema que tengo:

tengo esta consulta:
$busca1=mysql_query("SELECT ".$mark["marca"].".version,".$mark["marca"].".marca,maestra_copi.nombre,maestra_copi.apellido ,maestra_copi.cedula,maestra_copi.id_cliente,maest ra_copi.referido,date_format(maestra_copi.fecha_co tizacion,'%d/%m/%Y') as fecha_cotizacion,maestra_copi.anio_vehiculo,date_f ormat(maestra_copi.vigencia_fin,'%d/%m/%Y') as vigencia_fin
FROM ".$mark["marca"].",maestra_copi
WHERE ".$mark["marca"].".civi='".$mark["producto"]."'
AND maestra_copi.producto='".$mark["producto"]."'",$conexion3);
if($row1 = mysql_fetch_array($busca1)){
do{
echo "<tr>";
echo "<td align=\"center\">".$row1["id_cliente"]."</td>";
echo "<td align=\"left\">".$row1["nombre"]."</td>";
echo "<td align=\"left\">".$row1["apellido"]."</td>";
echo "<td align=\"center\">".$row1["cedula"]."</td>";
echo "<td align=\"center\">".$row1["fecha_cotizacion"]."</td>";
echo "<td align=\"center\">".$row1["referido"]."</td>";
echo "<td align=\"center\">".$row1["marca"]."</td>";
echo "<td align=\"center\">".$row1["version"]."</td>";
echo "<td align=\"center\">".$row1["anio_vehiculo"]."</td>";
echo "<td align=\"center\">".$row1["vigencia_fin"]."</td>";
echo "<td align=\"center\"><input type='checkbox' id=\"opcionescheck\" name='opciones[".$row1['id_cliente']."]' value='".$row['id_cliente']."'></td>";
echo "</tr>";
}
while($row1 = mysql_fetch_array($busca1));
}

que pasa esta consulta me muestra una cantidad de resultados

como una matriz, y lo que necesito es almacenar estos datos que muestra esta consulta en una tabla de mi bd, entonces como puedo hacer esto.

necesito guardar los registros que sean marcados con el checkbox, espero que ahora me puedan entender para q me den ideas por favor..

mil gracias
  #4 (permalink)  
Antiguo 17/04/2010, 19:15
 
Fecha de Ingreso: septiembre-2007
Mensajes: 318
Antigüedad: 16 años, 7 meses
Puntos: 1
De acuerdo Respuesta: insert de arreglos

sera que nadien ha tenido este problema que no me dan una idea como resolverlo???
me explico un poco mas nuevamente.

tengo una consulta multitabla y necesito almacenar de alguna forma todo los registros que tengo en la consulta al seleccionar el respectivo checkbox de una fila, por ejemplo

tengo lo siguiente:

nombre*******apellido*****cedula*******fecha****** *seleccion
andres-------fernandes----1111111-----2010----------[ ]
juan----------martinez------2222222-----2011----------[ ]
pablo---------fernandes----3333333-----2010----------[ ]
marco--------gonzalez------1111111-----2010----------[ ]


lo que necesito es que al hacer click sobre uno o varios de los checkbox, almacene toda la fila seleccionada o todas las filas seleccionadas.

como puedo hacer eso por favor
  #5 (permalink)  
Antiguo 17/04/2010, 19:45
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: insert de arreglos

Acuerdate que esto es un foro no un chat, debes dar al menos 24 horas para ver si alguien te puede ayudar. Al momento se me ocurre dos posible soluciones.
1. Es crear otro formulario y cuando le pulses el checkbox con javascript envies la información que tienes en los campos que corresponden a cada checkbox a otro formulario y luego envias el segundo formulario.
2. Puedes enviar todos los campos del mismo formulario y luego a través de PHP verificas que campo corresponde a cada checkbox, algo así
formulario.php
Código HTML:
Ver original
  1. <form action='verificar.php' method='post'>
  2.   <input type='text' name='nombre[]' />
  3.   <input type='text' name='apellido[]' />
  4.   <input type='text' name='cedula[]' />
  5.   <input type='text' name='fecha[]' />
  6.   <input type='checkbox' name='seleccion[]' value='0' /><br />
  7.  
  8.  
  9.   <input type='text' name='nombre[]' />
  10.   <input type='text' name='apellido[]' />
  11.   <input type='text' name='cedula[]' />
  12.   <input type='text' name='fecha[]' />
  13.   <input type='checkbox' name='seleccion[]' value='1' /><br />
  14.  
  15.  
  16.   <input type='text' name='nombre[]' />
  17.   <input type='text' name='apellido[]' />
  18.   <input type='text' name='cedula[]' />
  19.   <input type='text' name='fecha[]' />
  20.   <input type='checkbox' name='seleccion[]' value='2' /><br />
  21.  
  22.  
  23.   <input type='text' name='nombre[]' />
  24.   <input type='text' name='apellido[]' />
  25.   <input type='text' name='cedula[]' />
  26.   <input type='text' name='fecha[]' />
  27.   <input type='checkbox' name='seleccion[]' value='3' /><br />
  28.  
  29.  
  30.   <input type='text' name='nombre[]' />
  31.   <input type='text' name='apellido[]' />
  32.   <input type='text' name='cedula[]' />
  33.   <input type='text' name='fecha[]' />
  34.   <input type='checkbox' name='seleccion[]' value='4' /><br />
  35.  
  36.  
  37.   <input type='text' name='nombre[]' />
  38.   <input type='text' name='apellido[]' />
  39.   <input type='text' name='cedula[]' />
  40.   <input type='text' name='fecha[]' />
  41.   <input type='checkbox' name='seleccion[]' value='5' /><br />
  42.   <input type='submit' />
  43. </form>

Código PHP:
Ver original
  1. <?php
  2. foreach($_POST['seleccion'] as $v){
  3.     echo $_POST['nombre'][$v] . ' - ' . $_POST['apellido'][$v] . ' - ' . $_POST['cedula'][$v] . ' - ' . $_POST['fecha'][$v] . '<br />';
  4. }
Lo demás es cuestion de imaginación y lógica.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 17/04/2010, 20:38
 
Fecha de Ingreso: septiembre-2007
Mensajes: 318
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: insert de arreglos

gracias por contestar, para mi seria ideal que todos los campos que tengo en la consulta se guarden en la bd, lo que sucede es que no se de que manera lo puedo hacer, ya que intente hacerlo por input y asignarle el valor de la consulta pero cuando lo envio como es un arreglo pues no lo puedo guardar.

me explico si yo envio esto:
<input type='text' name='name[".$row1[nombre]."]' value='".$row1['nombre']."'>
no me lo guarda ya que es un arreglo.

como puedo guardar todo los campos q me muestra la consulta tal cual esta???

mil gracias por responder.

Etiquetas: arreglos, insert
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 09:08.