Olá Pessoal
Elaborado um sistema de cadastro e clientes e estou encontrado alguns problemas no checkbox.
O sistema terá uma tabela com nomes dos clientes e uma coluna com um checkbox para marcar se possui cadastro ou desmarcar caso cliente seja necessário.
Porém ao salvar as alterações o ckeckbox atualizar somente as primeiras linhas. Quando marcou o último cliente, o sistema marcar o primeiro. Não consigo entender como ele fica marcado no lugar correto.
Vi outros fóruns a respeito mas consigo aplicar ao meu sistema.
Fiz abaixo a tabela que mostra os nomes dos clientes e a coluna com checkbox para marcar ou desmarcar.
<table border="1" cellpadding="0" cellspacing="0" width="1177">
<tbody>
<tr height="20">
<td style="width:64px;">Numero comprador</td>
<td style="width:295px;">NOME DO comprador</td>
<td style="width:64px;">Possui Cadastro?</td>
</tr>
<?
$buscar = $connection->prepare("SELECT * FROM comprador ORDER BY `comprador`.`NOME` ASC ");
if($buscar->execute())
{
while($comprador = $buscar->fetch(PDO::FETCH_OBJ))
{
echo "<FORM method='POST' action='salvar.php' >";
echo "<tr height='20'>";
echo "<TD><INPUT name='numero' size='35' maxlength=50 value='$comprador->NUMERO' READONLY>";
echo "</TD>";
echo "<TD><INPUT name='nome' size='35' maxlength=50 value='$comprador->NOME' READONLY>";
echo "</TD>";
echo "<TD align='middle'><INPUT type=checkbox name='sem[]' $check value='1' >";
cho "</TD>";
}
else
{
echo "Falha na seleção de servidores<BR>";
}
$count= $buscar->rowCount();
?>
<INPUT TYPE="hidden" NAME="count" VALUE="<? echo $count; ?>">
<input type="submit" value="SALVAR ALTERAÇÕES "/>
</form>
O código abaixo realizar a atualização no banco de dados:
<?
include ('conecta.php');
$count = $_POST['count'];
$i = 0;
while($i < $count) {
$numero= $_POST['numero'][$i];
$comprador= $_POST['nome'][$i];
$sem= $_POST['sem'][$i];
$sql = $connection->prepare("UPDATE comprador SET comprador= '$comprador',cadastro= '$sem' WHERE NUMERO= '$numero' ");
$sql->execute();
$i++;
$valor += $sql->rowCount();
}
$textonaosalvar = "Não Salvou. Tente novamente.";
$textosalvar = "servidores Salvo com sucesso.";
if (!empty($_POST['pv']) && $valor==0) {
echo "<span style=\"background-color:#98FB98;color:#000000;font-family:Arial;font-size:13px;\">$textonaosalvar</span> \n";
} else if ($valor>0) {
echo "<span style=\"background-color:#98FB98;color:#000000;font-family:Arial;font-size:13px;\">$valor $textosalvar</span> \n";
}
?>