Foros del Web » Programando para Internet » PHP »

Pasar array por post a una base dee datos

Estas en el tema de Pasar array por post a una base dee datos en el foro de PHP en Foros del Web. Buenas tengo el siguiente codigo <?php if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form3")) { $rpollo=mysql_query("select idhabitacion from habitacion where habitacion='".$_POST['habitacion1']."' and estado_habitacion='Abierta' and idhabitacion=(select min(idhabitacion) from ...
  #1 (permalink)  
Antiguo 10/05/2009, 23:02
 
Fecha de Ingreso: mayo-2009
Mensajes: 3
Antigüedad: 14 años, 11 meses
Puntos: 0
Pasar array por post a una base dee datos

Buenas tengo el siguiente codigo
<?php
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form3")) {
$rpollo=mysql_query("select idhabitacion from habitacion where habitacion='".$_POST['habitacion1']."' and estado_habitacion='Abierta' and idhabitacion=(select min(idhabitacion) from habitacion where habitacion='".$_POST['habitacion1']."' and estado_habitacion='Abierta')");
$er=1;
while($toyota=mysql_fetch_array($rpollo,MYSQL_ASSO C)){
$toples=$toyota['idhabitacion'];
while($er<=$_POST['numpro']){
$insertSQL = sprintf("INSERT INTO posee (idhabitacion, codigo_producto, cantidad_consumida) VALUES('".$toyota['idhabitacion']."',%s,%s)",
GetSQLValueString($_POST[$codigo_producto][$er], "int"),
GetSQLValueString($_POST[cantidad_consumida][$er], "int"));

mysql_select_db($database_portondelestadio, $portondelestadio);
$Result1 = mysql_query($insertSQL, $portondelestadio) or die(mysql_error());
$er++;
}

}
}
?>


<form id="form7" name="form7" method="post" action="">
<label>Numero de productos a registrar
<input type="text" name="numpro" id="numpro" />
</label>
<br />
<input type="submit" name="button" id="button" value="Desplegar" />
<input type="reset" name="button2" id="button2" value="Limpiar" />
<br />
</form>
<?php echo'<form action="" method="POST" name="form3" id="form3">
<table align="center">
<tr valign="baseline">
<td nowrap="nowrap" align="right">habitacion:</td>
<td><select name="habitacion1">
<option>101</option>
<option>102</option>
<option>103</option>
<option>104</option>
<option>105</option>
<option>106</option>
<option>201</option>
<option>202</option>
<option>203</option>
<option>204</option>
<option>205</option>
<option>206</option>
<option>207</option>
<option>301</option>
<option>302</option>
<option>303</option>
<option>304</option>
<option>305</option>
<option>306</option>
<option>307</option>
<option>401</option>
<option>402</option>
<option>403</option>
<option>404</option>
<option>405</option>
<option>406</option>
<option>407</option>
<option>501</option>
<option>Bodega</option>
</select></td>
</tr>';
$fer=1;

while ($fer<=$_POST['numpro']){
echo'<tr valign="baseline">
<td nowrap="nowrap" align="right">Codigo_producto:</td>
<td><input type="text" name="'.$codigo_producto[$fer].'" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Cantidad_consumida:</td>
<td><input type="text" name="'.$cantidad_consumida[$fer].'" value="" size="32" /></td>
</tr>';
$fer++;
}
echo'
<tr valign="baseline">
<td nowrap="nowrap" align="right">&nbsp;</td>
<td><input type="submit" value="Insertar registro" /></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form3" />
</form>'; ?>

aqui pasa lo siguiente yo paso por post en el form 7 cuantos productos y cantidad de productos desse pasarle a la vez al insert into pero lo que pasa es que no me inserta nada. el problema es que nos ecomo ponerle el name a name="$codigo_producto[$fer] y los mismo con cantidad de productos y tampoco se como poner el $_POST de codigo producto y cantidad consumida en el insert into con su respectivo array . por favor si me ayudan para poder insertar variuos datos a la vez con ese mismo formulario se los agradeceria
  #2 (permalink)  
Antiguo 11/05/2009, 04:33
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Pasar array por post a una base dee datos

Tu problema es de programación (te sugiero ponerlo en el foro de PHP, aquí las reglas del foro exigen sólo SQL), donde te respoderán mejor, pero desde ya: Si estás mandando un array de registros, el MySQL no admite el ingreso de arrays porque no existen en SQL.
La carga masiva tiene otras técnicas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 11/05/2009, 11:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Pasar array por post a una base dee datos

Tema trasladado desde Bases de Datos

http://www.forosdelweb.com/f21/funci...-datos-413499/
  #4 (permalink)  
Antiguo 11/05/2009, 19:38
 
Fecha de Ingreso: mayo-2009
Mensajes: 3
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Pasar array por post a una base dee datos

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Tu problema es de programación (te sugiero ponerlo en el foro de PHP, aquí las reglas del foro exigen sólo SQL), donde te respoderán mejor, pero desde ya: Si estás mandando un array de registros, el MySQL no admite el ingreso de arrays porque no existen en SQL.
La carga masiva tiene otras técnicas.
osea lo que yo estoy tatando de hacer es tratar de mandar varios datos en una sola inserccion me dijeron que era haciendo un array en el name y con un while. si esta no es la forma me gustaria mucho que me pudieras ayudar en que forma puedo mandar varios datos a la vez al undir el boton submit en el formulario gracias
  #5 (permalink)  
Antiguo 11/05/2009, 19:48
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: Pasar array por post a una base dee datos

si explicaras mejor que es lo que quieres hacer y cual es el codigo con el que intestas hacerlo seria mejor para ayudarte
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 05:53.