Tengo el siguiente problema, mediante este codigo muestro todos los materiales que tengo a la venta:
<TABLE WIDTH=100% BORDER="1">
Elige Materiales:<BR><BR>
<?php
$SQL3="SELECT * FROM materiales order by COD_MATER";
$result3=mysql_db_query("tienda",$SQL3);
$u=0;
while ($row3=mysql_fetch_array($result3))
{
echo "<TR><td><INPUT TYPE=\"checkbox\" name=\"materiales[]\" value='".$row3['COD_MATER']."'>".$row3['NOMBRE']."</TD><TD>Fecha: <INPUT TYPE=\"text\" size=\"8\" NAME=\"fechas[]\"></TD><TD>Añadir: <INPUT TYPE=\"text\" size=\"3\" NAME=\"cantidades[]\"></TD><td>Precio <INPUT TYPE=\"text\" size=\"3\" NAME=\"precios[]\" value='".$row3['PRECIO']."'></td></TR>";
$u++;
}
?>
</TABLE>
para poder elegir cualquiera de ellos, poner la fecha de venta y la cantidad vendida.
y los recojo para meterlos en una base de datos de la siguiente forma:
<?php
$cantidades=implode (",",$_POST ['cantidades']);
$precios=implode (",",$_POST ['precios']);
$fechas=$_POST ['fechas'];
$materiales=$_POST ['materiales'];
$separar_cant=explode (",",$cantidades);
$separar_prec=explode (",",$precios);
$numero_elementos = count ($materiales);
$suma=0;
for ($i=0;$i<$numero_elementos;$i++){
$subto=$separar_cant[$i]*$separar_prec[$i];
$suma=$suma+$subto;
}
@ $db=mysql_connect ("localhost", "root", "");
if (!$db)
{
echo '<p align="left"><font size=4><BR> Error: No se puede conectar a la base de datos.<BR> Por favor, inténtelo más tarde.</font></p>';
exit;
}
mysql_select_db("tienda");
mysql_query ("SET NAMES 'utf8'");
for($u=0;$u<$numero_elementos;$u++){
$sql="";
$sql.="INSERT INTO materiales (MATERIALES, CANTIDADES, FECHAS, PRECIOS) VALUES ('$materiales[$u]', '$separar_cant[$u]', '$fechas[$u]', '$separar_prec[$u]');";
$ejecuta=mysql_query($sql);
}
Mi problema es el siguiente:
Si selecciono el primer material de la lista solo, le pongo una cantidad y una fecha, me lo hace bien, si selecciono los 2 primeros materiales de la lista, les pongo cantidad y fecha, tambien me lo hace bien, el problema surge cuando selecciono un material que no está el primero, o cuando selecciono materiales salteados, dejando otros sin seleccionar en medio, en ese caso solo me poner bien en la tabla el nombre del material.
Alguien me puede ayudar?
Gracias y un saludo