PHP - Formulario dentro de formulario (2)

 
Vista:

Formulario dentro de formulario (2)

Publicado por Pablo (33 intervenciones) el 27/03/2012 19:38:47
Después de mirar por ahí he comprobado que la mejor forma de hacer un "subformulario" en una aplicación web es usar AJAX. Bueno, hasta ahí bien.
Lo demás por lo que veo funciona igual.
Formulario, acción. Otro fichero que rescata los datos del formulario con $_REQUEST['dato']; introduce los datos en la BD MySQL con
$sql = "insert into pedidos values ($...
$result = mysql_query($sql);
Hay un dato, que no se lo pido al usuario y es el pedido_id que en la tabla MySQL es un autonumérico. Así pues lo calculo así:

$result = mysql_query("select max(pedido_id) from pedidos", $link);

$contador=0;
while($row = mysql_fetch_row($result))
{
$contador++;
$maxempresa_id=$row[0];
}
if($contador==0)
$maxempresa_id=1;
else
$maxpedido_id=$maxpedido_id+1;
mysql_close();

Con sentencias del tipo:
$empresa = $_REQUEST['empresa'];
obtengo los datos del formulario de cabecera
Y los introduzco en la BD con
$sql = "insert into pedidos values ($maxpedido_id,'$empresa', ...)";
$result = mysql_query($sql);

Hasta aquí todo bien.

Ahora paso los datos a un fichero DetalleDePedidos.php que me enseña la cabecera en texto y me muestra un formulario que me pide los artículos.
Aquí es dónde entra Ajax.
Al hacer submit a la primera línea del artículo mando los datos a un archivo mensaje.php que me los introduce en la BD y me informa de que se ha registrado, para pasar a otro artículo.
Mi problema es que la variable con el número de pedido $maxpedido no pasa a este tercer estado y por tanto no la carga en la BD.

¿Cómo puedo pasar un dato generado en el primer formulario al segundo?

He intentado hacer un campo texto con la propiedad hidden, pero ¿Qué mas da? ¿Cómo introduzco una variable en un formulario?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

(solucionado)

Publicado por Pablo (33 intervenciones) el 28/03/2012 00:08:12
Al final lo he solucionado con:
<input type="hidden" name="pedido_id" value="<?php echo $maxpedido_id ?>">
Quizá no sea la forma mas elegante, pero funciona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar