recorrer un ciclo for para una tabla con checkbox
Publicado por jasiel (1 intervención) el 15/01/2019 19:18:58
hola tengo un problema, tengo un formulario con una tabla , dicho formulario lo uso para realizar pedidos de material los datos del pedido se almacenan en la base de datos , al recuperar los datos de la base en otra pagina diferente de donde llene el formulario visualizo el pedido que se realizo al ver los materiales que pidieron salen materiales repetidos y aparecen materiales que no seleccionaron.
en este primer codigo es donde mando mis materiales por medio del checkbox.
en este segundo codigo recorro mi tabla de materiales con un ciclo for que es donde creo esta el problema , aqui pienso que es donde se me generan materiales que no seleccione.
y en este tercer código es donde genero mi tabla en otra pagina independiente del formulario para ver los pedidos realizados y ver que materiales pidieron.
aqui llene mi formulario y seleccione el material

y en esta segunda imagen es cuando recupero los datos enviados y almacenados en la BD para mostrarlos en una nueva tabla solo que me aparecen materiales que yo no seleccione en mi primer formulario y tabla

en este primer codigo es donde mando mis materiales por medio del checkbox.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$m_result=mysql_query("select id, material from material");
?>
<?php
if (!isset($_GET['id'])) {
?>
<table class='mat' border='1'>
<tr><td>MATERIAL</td><td>Seleccione</td></tr>
<?php
while ($mat=mysql_fetch_object($m_result)) {
?>
<tr><td><?=$mat->material?></td><td><input type='checkbox' name='mat<?=$mat->id?>'></td></tr>
<?php
}
?>
</table>
en este segundo codigo recorro mi tabla de materiales con un ciclo for que es donde creo esta el problema , aqui pienso que es donde se me generan materiales que no seleccione.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$q=mysql_query("insert into pedido (idpedido, fecha, hora, cliente, solicito, vendedor, comventas, estado, importemn, importedls, tipo, contacto, telefono, prioridad) values ('$pedido','$fecha','$hora','$cliente','$solicito','$vendedor','$comventas','$estado', '$st', '$sts', '$v','$cont', '$tel', '$prioridad')");
if($q)
{
//$i=1;
for ($i=1; $i<=24; $i++) {
$material=$_POST['mat'.$i];
if($material!=''){
$m=mysql_query("insert into pedmat (idpedido, idmaterial, material) values ('$pedido', '$i', '$material')");
}
}
}
if ($q)
{
?>
y en este tercer código es donde genero mi tabla en otra pagina independiente del formulario para ver los pedidos realizados y ver que materiales pidieron.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<table border='1' class='listo'>
<tr><td>ID</td><td>Material</td><td>Listo</td></tr>
<?php
$q=mysql_query("SELECT idmaterial, flisto from pedmat where idpedido='$id' and flisto='0000-00-00'");
while ($q1=mysql_fetch_array($q))
{
$p=mysql_query("select material from material where id='$q1[0]'");
while ($p1=mysql_fetch_array($p))
{
?>
<tr><td><?php echo $q1[0];?></td>
<td><?php echo $p1[0];?></td>
<td><input type='checkbox' name='<?php echo "idmat".$q1[0];?>' value='<?php echo $q1[0];?>'></td>
<?php
}
}
}//if
?>
aqui llene mi formulario y seleccione el material
y en esta segunda imagen es cuando recupero los datos enviados y almacenados en la BD para mostrarlos en una nueva tabla solo que me aparecen materiales que yo no seleccione en mi primer formulario y tabla
Valora esta pregunta


0