Problemas con guardar y arrays en php

Te envío un cordial saludo de paz y bien.
Te reenvío el problema que tengo, de una manera más clara, espero que me puedas ayudar
Tengo una página de compras el cual realiza los siguientes procesos:
1. La persona realiza un login
2. Al pasar por el login le muestra una lista con todos los productos en ventas, estos se muetran en una tabla con tres elementos un checkbox el cual es un array, un código de productos y un nombre de productos. El array del checkbox es para guardar solo los productos que el usuario selecciona y luego los envía a otra página que contiene los siguientes campos: código, nombre, cantidad en kg, cantidad en und y total en Kg, carcateristicas.
3. Aquí en esta página me muestra solo los productos que fueron seleccionados en la página listapedidos.php
4. Cuándo el usuario haga clic en botón hacer pedidos, los envíe a una base de datos.
Esto es lo que no se hacer, debido a que no se como enviar por lotes toda la información de la página verpedidos.php a la página guardar_pedido.php o más bien unir el array del checkbox con otro array que de pronto guarde toda esa información.
Para mejor claridad les envío el código con las imágenes. Espero que aquí puead encontrar la solución.
imagen de listapedidos.php
http://www.lhm.com.co/images/IMG1.JPG
AQUIVA EL CODIGO DE ESA PAGINA
<?php
session_start();
if(isset($_SESSION['usuario']) and $_SESSION['estado'] == 'Autenticado')
{
$variden=$_SESSION['usuario2'];
$varcontra=$_SESSION['contra'];
include("conectar.inc");
$database=conecta();
$resultado1 = mysql_query("SELECT * FROM tclientes WHERE idencli='$variden' and contracli='$varcontra'");
while($encontrado = mysql_fetch_array($resultado1))
{
$nomcli=$encontrado["nomcli"];
echo ("
<p align=center>$nomcli</p>
");
}
echo("
<table align= center width=323 border=1 cellpadding=0 cellspacing=0 bgcolor=#000000>
<tr>
<td colspan=3 bgcolor=#FFFFFF>
<p align=justify><font face=arial size=2>Por favor Seleccione los Productos,
para su pedido. Estos estan ordenados alfabeticamente. Si no encuentra en la lista el producto deseado,
coloquelo el la siguiente pagina donde digitara las cantidades preferiblemente en Kilogramos (Kg) </font></p>
</td>
</tr>
</table>
");
$resultado=mysql_query("select codpro,nompro from tproductos order by nompro");
print "<form name=\"formulario\" action=\"verpedidos.php\" method=\"post\">";
print "<input name=tidencli type=hidden value='$variden'><input name=tcontracli type=hidden value='$varcontra'>";
print "
<table width=200 border=1>
";
while($get_info=mysql_fetch_array($resultado))
{
?>
<style type="text/css">
<!--
.Estilo3 {font-size: 12px}
.Estilo4 {
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
color: #CCCCCC;
}
-->
</style>
<table align= "center" width="323" border="1" cellpadding="0" cellspacing="0" bgcolor="#E2E2E2">
<tr>
<td width="20"><input name="ch[]" type="checkbox" class="Estilo3" value='<?= $get_info["codpro"]; ?>' align="BASELINE" /></td>
<td width="42"><span class="Estilo3"><? Echo $get_info['codpro'];?></span></td>
<td width="253"><span class="Estilo3"><? Echo $get_info['nompro'];?></span></td>
</tr>
</table>
<?
}
print "
<p align=center><input type=submit name=ok value=\"Siguiente\" enabled></p>
";
print "
</table>
\n";
print "</form>";
mysql_free_result($resultado);
}
else
{
header ("location: cerrarsesion.php");
exit();
}
?>
Hasta aquí no hay problemas
Esta es la página donde se redirecciona la anterior al momento de seleccionar los productos. Imagen de verpedidos.php
http://www.lhm.com.co/images/IMG2.JPG
Si te fijas solo muestra los productos seleccionados en la página anterior de listadepedidos.php.
Aquí va el código de esa página y es hasta aquí es donde he llegado por que no se como enviar esa información en bloques a la base de datos
<?php
session_start();
if(isset($_SESSION['usuario']) and $_SESSION['estado'] == 'Autenticado')
{
?>
<html>
<style type="text/css">
<!--
.Estilo1 {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
}
.Estilo3 {font-size: 16px}
-->
</style>
<body>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="6">
<div align="center">
<p class="Estilo1 Estilo3">ESTOS SON LOS PRODUCTOS DE SU PEDIDO.</p>
<?php
$variden=$_POST['tidencli'];
$varcontra=$_POST['tcontracli'];
include("conectar.inc");
$database=conecta();
$resultado1 = mysql_query("SELECT * FROM tclientes WHERE idencli='$variden' and contracli='$varcontra'");
while($encontrado = mysql_fetch_array($resultado1))
{
$nomcli=$encontrado["nomcli"];
$nit=$encontrado["idencli"];
echo ("$nomcli <br> NIT $nit");
$fecha=date("Y-m-d");
}
$_SESSION["productos"] = $_POST['ch'];
?>
<form action="guardar_pedidos.php" method="post" enctype="multipart/form-data" name="form1">
<p align="center"><input name="tidencli" type="hidden" value="<?php echo $nit?>"><input name="tnomcli" type="hidden" value="<?php echo $nomcli?>"></p>
<p>Fecha de Generacion: <input type="text" value="<?php echo $fecha?>" name="tfechagen" readonly="true">
Fecha de Envio de Pedido: <input type="text" value="aaaa-mm-dd" name="tfechaped"></p>
<p class="Estilo1">Recuerde: En el cuadro de OTROS PRODUCTOS escriba los productos y las cantidades deseadas. </p>
</div>
</td>
</tr>
<tr class="Estilo1">
<td width="65">
<div align="center">Codigo</div>
</td>
<td width="320">
<div align="center">Productos</div>
</td>
<td width="50">
<div align="center">Kg</div>
</td>
<td width="59">
<div align="center"> Und</div>
</td>
<td width="57">
<div align="center">Total Kg....
Respuesta
Me disculpo por no contestar antes pero estaba enrollado con un proyecto.
Cuéntame si necesitas todavía la orientación u otra cosa, ¿ya lo solucionaste?

1 respuesta más de otro experto

Respuesta
1
Me gustaría saber, ¿cuál es la estructura de la tabla donde vas a agregar el pedido?
La estructura es la siguiente:
Nombre de la tabla: tpedidos con los campos:
numpedi (este se debe generar automáticamente con una consulta antes de guardar)
numpedi,idencli,codpro,cantipro,fechaped,fechaenvio,caracte
Seria algo como
extract($_POST);
$num_peds=count($tcodpro);
$num_pedido ='1'; // aqui obtienes el no. del pedido
$ident_cliente = '1';  //aqui obtienes el id del cliente
for($i=0;$i < $num_peds; $i++ )
{
    $cad_insert = "insert into tpedidos (numpedi , idencli,codpro,cantipro,fechaped,caracte ) VALUES ($num_pedido , $ident_cliente , {$tcodpro[$i]} , {$tcantik[$i]} , now() , {$tobser[$i]})";
     $resul= mysql_query($cad_insert);
    if (!$resul ) die(mysql_error());
}

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas