Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/03/2013, 11:29
elicastillo1
 
Fecha de Ingreso: marzo-2013
Mensajes: 2
Antigüedad: 11 años, 2 meses
Puntos: 0
Insertar multiples array en mysql

Hola tengo el siguiente codigo que me permite agregar y eliminar una fila
Código HTML:
<script language="javascript" type="text/javascript">

       var posicionCampo=1;
      function agregarUsuario(){
    nuevaFila = document.getElementById("tablaUsuarios").insertRow(-1);
   
    nuevaFila.id=posicionCampo;
    nuevaCelda=nuevaFila.insertCell(-1);
      nuevaCelda.innerHTML="<td><input type='text' size='15' name='descripcion["+posicionCampo+"]' ></td>";
	nuevaCelda=nuevaFila.insertCell(-1);
	nuevaCelda.innerHTML="<td><input type='text' size='15' name='cantidad["+posicionCampo+"]' ></td>";
	nuevaCelda=nuevaFila.insertCell(-1);
	nuevaCelda.innerHTML="<td><input type='text' size='15' name='um["+posicionCampo+"]' ></td>";
    nuevaCelda=nuevaFila.insertCell(-1);
    nuevaCelda.innerHTML="<td> <input type='text' size='15' name='costo["+posicionCampo+"]' ></td>";
    nuevaCelda=nuevaFila.insertCell(-1);
    nuevaCelda.innerHTML="<td> <input type='text' size='15' name='total["+posicionCampo+"]' ></td>";
    nuevaCelda=nuevaFila.insertCell(-1);
    nuevaCelda.innerHTML="<td><input type='button' value='Eliminar' onclick='eliminarUsuario(this)'></td>";   
    posicionCampo++;
    }

    
    function eliminarUsuario(obj){
    var oTr = obj;
    while(oTr.nodeName.toLowerCase()!='tr'){
    oTr=oTr.parentNode;
    }
    var root = oTr.parentNode;
    root.removeChild(oTr);
    }
    /* Cerramos el código Javascript */

    </script> 
aquí el formulario
Código HTML:
 <form  action="../controlador/insertar.php"  method="post" name="form1">
          <table id="tablaUsuarios"align="center" class="tabla_redonda_color">
    <tr>
    <td width="150">Descripcion</td>
    <td width="150">Cantidad </td>
    <td width="150">U/M</td>
    <td width="150">Costo</td>
    <td width="150">Total</td>
	<td width="150">Acciones</td>
    <td align="right">
<input type="button" onClick="agregarUsuario()"
value="A&ntilde;adir usuario" ></td>
<input type="submit" name="Guardar1" id="guardar" value="Enviar"/>
    </tr>
    </table>
        </table>                 
  </form> 
y en el insertar.php recibo los datos de la siguiente manera

Código HTML:
$valores = array($_POST["campo"]); 
$descripcion = array($_POST["descripcion[]"]); 
$cantidad = array($_POST["cantidad[]"]); 
$um = array($_POST["um[]"]); 
$costo = array($_POST["costo[]"]); 
 $total = array($_POST["total[]"]);
print_r($_POST);
$numRows = count($valores);
	
for($i=0; $i<$numRows; $i++) {
        $sql_ins2 = "INSERT INTO oc_d VALUES ('','".$nsolicitud."','n/d','n/d', $cantidad[$i], '".$_POST['um'][$i]."',"
		." '".$_POST['descripcion'][$i]."','".$_POST['costo'][$i]."', '".$_POST['total'][$i]."', 'codpro',"
		."null,null,null,null,null,'n/d','n/d', '".$codigo."', '".$nombre."','n/d','n/d','n/d','nn')";
		echo $sql_ins2;
	$re2=mysql_query($sql_ins2,Conexion::con());
}
el problema es que si bien recibo bien el array con cada dato por que al aplicar el print_r aparece esto:
Código HTML:
Array ( [Guardar1] => Enviar [descripcion] => Array ( [1] => 12 ) [cantidad] => Array ( [1] => 12 ) [um] => Array ( [1] => 21 ) [costo] => Array ( [1] => 12 ) [total] => Array ( [1] => 12 ) )
pero al imprimir la consulta me aparecen todos los valores que recibo vacíos, incluso se insertan en la base de datos pero como campos vacíos los que recibo desde el formulario

Código HTML:
INSERT INTO oc_d VALUES ('','','n/d','n/d', , '', '','', '', 'codpro',null,null,null,null,null,'n/d','n/d', '', '','n/d','n/d','n/d','nn')
Agradecería mucho si alguien me pudiera ayudar, es primera ves que trabajo con php y esto me lo pidieron en la practica, he buscado por el foro y probado varias soluciones que aparecen y la verdad no las entiendo muy bien, como les digo es la primera ves que trabajo con php