Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia pessoal.... estou pegando os valores vindo de um bd e inserir checkbox para o cliente escolher as opções... consigo gravar... porem ele só grava apenas um resultado.
Pego valores do banco
CODE
<?php
$sql = "SELECT Id_Departamento, descDepart FROM hp_departamento ORDER BY descDepart ASC";
$exe_prod = mysql_query($sql) or die (mysql_error());
$i = 1;
while($dados = mysql_fetch_array($exe_prod, MYSQL_ASSOC)) {
$id_d = $dados['Id_Departamento'];
$departamento = $dados['descDepart'];
if($i <= 3) {
echo "<td align=\"left\" bgcolor=\"#FFFFFF\"><input type=\"checkbox\" name=\"Departamento\" id=\"Departamento\" value=\"$id_d\"><strong>$departamento</strong></td>";
} else {
echo "<tr><td align=\"left\" bgcolor=\"#FFFFFF\"><input type=\"checkbox\" name=\"Departamento\" id=\"Departamento\" value=\"$id_d\"><strong>$departamento</strong></td>";
$i = 1; }
$i ++; }
?>
Gravo no banco
CODE
if($_GET['btn'] == "gravar"){
$check = $_POST['Departamento'];
$cli = $_POST['Cliente'];
for ($i=0; $i < count($check); $i++) {
for ($j=0; $j < count($cli); $j++) {
$sql = "INSERT INTO adm_loja_depart (Id_Loja, Id_Departamento) VALUES ('$cli[$j]', '$check[$i]')";
}
}
}
Como fazer p/ gravar estes check de forma:
cliente produto
1 20
1 23
1 18
eu cortei o form... segue o form
CODE
<form id="form1" name="form1" method="POST" action="?btn=gravar" enctype="multipart/form-data">
<table width="100%" border="1" align="center" cellpadding="0" cellspacing="5" bgcolor="#EFEFEF">
<tr valign="top">
<td colspan="4" align="center" bgcolor="#FFFFFF"><span class="style6">Cadastro
de Departamento</span></td>
</tr>
<tr valign="top">
<td colspan="4" align="center" bgcolor="#FFFFFF">
</td>
</tr>
<tr>
<td align="right" valign="middle" bgcolor="#FFFFFF"><span class="style7 style2">Nome
da Loja:</span></td>
<td colspan="3" align="left" bgcolor="#FFFFFF"><select name="Cliente" id="Cliente">
<option value="">Selecione a Loja</option>
<?php
do {
?>
<option value="<?php echo $row_RCLIENTE['Id']?>"><?php echo $row_RCLIENTE['Nome_Loja']?></option>
<?php
} while ($row_RCLIENTE = mysql_fetch_assoc($RCLIENTE));
$rows = mysql_num_rows($RCLIENTE);
if($rows > 0) {
mysql_data_seek($RCLIENTE, 0);
$row_RCLIENTE = mysql_fetch_assoc($RCLIENTE);
}
?>
</select></td>
</tr>
<tr>
<td width="27%" align="right" valign="middle" bgcolor="#FFFFFF"> </td>
<td colspan="3" align="left" bgcolor="#FFFFFF"> </td>
</tr>
<tr valign="top">
<td colspan="4" align="center" bgcolor="#FFFFFF">
<tr>
<?php
$sql = "SELECT Id_Departamento, descDepart FROM hp_departamento ORDER BY descDepart ASC";
$exe_prod = mysql_query($sql) or die (mysql_error());
$i = 1;
while($dados = mysql_fetch_array($exe_prod, MYSQL_ASSOC)) {
$id_d = $dados['Id_Departamento'];
$departamento = $dados['descDepart'];
if($i <= 3) {
echo "<td align=\"left\" bgcolor=\"#FFFFFF\"><input type=\"checkbox\" name=\"Departamento\" id=\"Departamento\" value=\"$id_d\"><strong>$departamento</strong></td>";
} else {
echo "<tr><td align=\"left\" bgcolor=\"#FFFFFF\"><input type=\"checkbox\" name=\"Departamento\" id=\"Departamento\" value=\"$id_d\"><strong>$departamento</strong></td>";
$i = 1; }
$i ++; // addiciona + 1 na variavel i
}
?>
</tr>
</td>
</tr>
<tr valign="top">
<td colspan="4" align="center" bgcolor="#FFFFFF"><input name="button" type="submit" class="buttonSubmit" id="button" value="Cadastrar" /></td>
</tr>
</table>
<label></label>
</form>ao invés de departamento use departamento[] nos checkbox...
e no php dá um foreach para resgatar os valores..
$departamentos = $_POST["departamento"];
if(!empty($departamentos) {
foreach($departamentos as $departamento) {
echo $departamento . "<br />";
}
}
tentaí...Como o cassiano disse, você deve usar vetor como nome do input, pois não precisaria o for ali no php se você não ta trabalhando com vetor...
Bom dia pessoal... obrigado pela ajuda... agora deu certinho.
http://forum.imasters.com.br/public/style_emoticons/default/grin.gif
Amigo eu não to vendo o FORM ai, no lugar do GET não seria POST ?