Problemas con guardar y array 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=tiny_mce_markerSESSION['usuario2'];
$varcontra=tiny_mce_markerSESSION['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....

1 respuesta

Respuesta
1
Creo que ya te acabo de contestar a esta cuestión en una pregunta anterior.
Muchas Gracias David.
Te reenvíe el código con las ventanas para que vieras ha que me refería. Eres un buen aporte para el parendizaje. Si efectivamente lo que me enviaste me funciono a la perfección lo único que se te olvido fue el código de guardar. Se hacerlo con un solo registro pero no se como hacerpara guardar el bloque
Tu me enviaste:
$_SESSION['pro]['codpro']=$_POST['codpro'];
$_SESSION['pro']['nompro']=$_POST['nompro'];
$_SESSION['pro']['cantik']=$_POST['cantik'];
Esto me funciona a la perfección lo que falta es generar el guardar eso que esta en la variable a la base de datos.
De ante mano muchas gracias
Para guardar todos los registros deberás hacer un bucle que recorra la matriz y para cada valor ejecutar la correspondiente sentencia SQL.
Por ejemplo puedes usar:
<?php
foreach ($_SESSION['pro']['codpro'] as $valor) {
echo "Guardar $valor";
}
?>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas