Problemas con array - un verdadesro reto para mi
Hola David te envío un cordial saludo.
Te comento que hasta ahora todo lo he podido solucionar gracias a tu es ayudas, he avabnzado bastante pero se me presento un inconveniente y no se como solucionarlo. Te envío el código para que sepas a que me refiero.
Resulta que estoy enviando un array de una página a otra, dicho array almacena una información de selección de artículos en una página anterior; es algo así como primero seleccionar los artículos y luego llenar las cantidades de los artículos llenados en otra página. Hasta aquí no he tenido problemas. El problema esta al llenar pues tengo un formulario con con 5 campos que a su vez se convierten en 5 columnas. Las dos primeras son los códigos y los nombres de los artículos seleccionados en una página anterior y las otras tres son una para digitar la cantidad en Kilogramos, la otra para digitar la cantidad en Unidades ("SOLAMENTE SE PUEDE LLENAR UNA DE LAS DOS"), y la ultima columna o campo en para convertir las unidades digitadas en Kilogramos. (Esto tampoco se como hacerlo pues una vez lo hice pero sin array o regiones de repetición")
El inconveniente o problema que tengo es que no se como unir lo digitado con el array ya existente y enviarlo a una tabla de MySQL.
Te envío el código para que sepas que he hecho hasta el momento y como puedo hacer lo que quiero.
<?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'];
?>
// AQUI EMPIEZA EL PROBLEMA
<form action="guardar_pedidos.php" method="get" 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. </div>
</td>
<td width="398">
<div align="center">Caracteristicas</div>
</td>
</tr>
</table>
<?php
echo"<input name=tidencli type=hidden value='$nit'><input name=tnomcli type=hidden value='$nomcli'>";
if (isset($_POST['ch']))
{
foreach ($_POST['ch'] as $value)
{
$consulta2=("select * from tproductos where codpro=$value");
$resultado1 = mysql_query($consulta2);
while($get_infor=mysql_fetch_array($resultado1))
{
$vcodpro=($get_infor['codpro']);
$vnompro=($get_infor['nompro']);
echo("
<table border=0 align=center width=100% cellpadding=0 cellspacing=0>
<tr>
<td><input type=text size=6 name=tcodpro value='$vcodpro' class=Estilo2
readonly=true</td>
<td><input type=text size=47 name=tnompro value='$vnompro' class=Estilo2 readonly=true </td>
<td><input type=text size=5 name=tcantik value='' class=Estilo2</td>
<td><input type=text size=5 name=tcantiu value='' class=Estilo2</td>
<td><input type=text size=5 name=ttotalk value='' class=Estilo2 readonly=true</td>
<td><input type=text size=60 name=tobser value='' class=Estilo2</td>
</tr>
</table>
");
}
}
}
?>
<table width="100%" border=0 align=center cellpadding="0" cellspacing="0">
<tr>
<td width="903">
<div align="right" class="Estilo1">TOTAL Kg PEDIDOS </div>
</td>
<td width="86"><input name="ttotalped" type="text" size="6" readonly="true"></td>
</tr>
</table>
<div align="center" class="Estilo1">Otros Productos
</div>
<div align="center">
<p>
<textarea name="textarea" cols="60" rows="4"></textarea>
</p>
</div>
<?php echo "
<p align=center><a href='javascript:history.go(-1)'><<volver a lista de Productos</a></p>
<br>"; ?>
<p align="center"><input type="submit" name="Submit" value="Guardar Pedido">
</form>
</body>
</html>
//La pregunta es como hago para asociar o unir lo digitado por el usuario al array ya existente que trae una información. Y luego enviar toda esa información a mysql.
//Yo intente hacerlo con ayuda de dreamweaver pero solo me guarda la ultima cantidad del ultmo articulo encontrado en el array
<?php
}
else
{
echo "Su sesion esta cerrada Satisfactoriamente. <br>";
echo "Debe empezar sesion nuevamente <br>";
echo "<a href=login_clientes.php>Iniciar sesion</a> <br>";
exit();
}
?>
Te comento que hasta ahora todo lo he podido solucionar gracias a tu es ayudas, he avabnzado bastante pero se me presento un inconveniente y no se como solucionarlo. Te envío el código para que sepas a que me refiero.
Resulta que estoy enviando un array de una página a otra, dicho array almacena una información de selección de artículos en una página anterior; es algo así como primero seleccionar los artículos y luego llenar las cantidades de los artículos llenados en otra página. Hasta aquí no he tenido problemas. El problema esta al llenar pues tengo un formulario con con 5 campos que a su vez se convierten en 5 columnas. Las dos primeras son los códigos y los nombres de los artículos seleccionados en una página anterior y las otras tres son una para digitar la cantidad en Kilogramos, la otra para digitar la cantidad en Unidades ("SOLAMENTE SE PUEDE LLENAR UNA DE LAS DOS"), y la ultima columna o campo en para convertir las unidades digitadas en Kilogramos. (Esto tampoco se como hacerlo pues una vez lo hice pero sin array o regiones de repetición")
El inconveniente o problema que tengo es que no se como unir lo digitado con el array ya existente y enviarlo a una tabla de MySQL.
Te envío el código para que sepas que he hecho hasta el momento y como puedo hacer lo que quiero.
<?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'];
?>
// AQUI EMPIEZA EL PROBLEMA
<form action="guardar_pedidos.php" method="get" 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. </div>
</td>
<td width="398">
<div align="center">Caracteristicas</div>
</td>
</tr>
</table>
<?php
echo"<input name=tidencli type=hidden value='$nit'><input name=tnomcli type=hidden value='$nomcli'>";
if (isset($_POST['ch']))
{
foreach ($_POST['ch'] as $value)
{
$consulta2=("select * from tproductos where codpro=$value");
$resultado1 = mysql_query($consulta2);
while($get_infor=mysql_fetch_array($resultado1))
{
$vcodpro=($get_infor['codpro']);
$vnompro=($get_infor['nompro']);
echo("
<table border=0 align=center width=100% cellpadding=0 cellspacing=0>
<tr>
<td><input type=text size=6 name=tcodpro value='$vcodpro' class=Estilo2
readonly=true</td>
<td><input type=text size=47 name=tnompro value='$vnompro' class=Estilo2 readonly=true </td>
<td><input type=text size=5 name=tcantik value='' class=Estilo2</td>
<td><input type=text size=5 name=tcantiu value='' class=Estilo2</td>
<td><input type=text size=5 name=ttotalk value='' class=Estilo2 readonly=true</td>
<td><input type=text size=60 name=tobser value='' class=Estilo2</td>
</tr>
</table>
");
}
}
}
?>
<table width="100%" border=0 align=center cellpadding="0" cellspacing="0">
<tr>
<td width="903">
<div align="right" class="Estilo1">TOTAL Kg PEDIDOS </div>
</td>
<td width="86"><input name="ttotalped" type="text" size="6" readonly="true"></td>
</tr>
</table>
<div align="center" class="Estilo1">Otros Productos
</div>
<div align="center">
<p>
<textarea name="textarea" cols="60" rows="4"></textarea>
</p>
</div>
<?php echo "
<p align=center><a href='javascript:history.go(-1)'><<volver a lista de Productos</a></p>
<br>"; ?>
<p align="center"><input type="submit" name="Submit" value="Guardar Pedido">
</form>
</body>
</html>
//La pregunta es como hago para asociar o unir lo digitado por el usuario al array ya existente que trae una información. Y luego enviar toda esa información a mysql.
//Yo intente hacerlo con ayuda de dreamweaver pero solo me guarda la ultima cantidad del ultmo articulo encontrado en el array
<?php
}
else
{
echo "Su sesion esta cerrada Satisfactoriamente. <br>";
echo "Debe empezar sesion nuevamente <br>";
echo "<a href=login_clientes.php>Iniciar sesion</a> <br>";
exit();
}
?>
1 Respuesta
Respuesta de davidcortesb
1