PHP - recorrer un ciclo for para una tabla con checkbox

 
Vista:

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.

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
Captura

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
Captura2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder