A ideia aqui é:
Tenho um form que postarei abaixo e ele tem alguns campos. Dente eles, um que é uma checkbox. Por estar dentro de um while, essa checkbox, acada laço do while, ganha um novo name
<input type=checkbox name=\"{$i}[marcado]\">
Nisso, quando o form é enviado, a checkbox vira uma array.
Eu gostaria de saber, quais checkbox foram maracadas e deletar da array os indices que não foram marcadas.
Tentei da forma acima, mas ele retorna todo os índices.
Veja o código do form:
Pergunta
Carlos Rocha
Pessoal.
Boa tarde!
Tenho a função abaixo:
function filtrar_array_por_valor2($array, $index, $value) { if(is_array($array) && count($array) > 0) { foreach(array_keys($array) as $key) { $temp[$key] = $array[$key][$index]; if ($temp[$key] = $value) { $newarray[$key] = $array[$key]; } } } return $newarray; } $dados = filtrar_array_por_valor2($_POST, 'marcado', on); print_r($dados);A ideia aqui é: Tenho um form que postarei abaixo e ele tem alguns campos. Dente eles, um que é uma checkbox. Por estar dentro de um while, essa checkbox, acada laço do while, ganha um novo name<input type=checkbox name=\"{$i}[marcado]\">Nisso, quando o form é enviado, a checkbox vira uma array. Eu gostaria de saber, quais checkbox foram maracadas e deletar da array os indices que não foram marcadas. Tentei da forma acima, mas ele retorna todo os índices. Veja o código do form:echo "<form action=\"carrinho.php?op=adicionar\" name=\"adcionaumaum[$id]\" method=\"post\">"; $i=0; while(list($id, $nome_produto, $preço, $foto, $quantidadecaixa, $descricao, $nome_fornecedor, $razao_fornecedor, $idfornece,$nome_grupo) = mysql_fetch_row($sql2)){ echo "<input type=\"hidden\" name=\"id_prod\" value=\"$id\"> <input type=\"hidden\" name=\"id_fornece\" value=\"$id_fornece\">"; include("../global/funcoes_php/foto_ver.php"); $icone = "<img border=0 src=../img/saiba_mais.png alt='Saiba Mais'>"; echo "<tr> <td align=center>$foto2</td> <td align=let>$nome_produto</td> <td align=let>$nome_grupo</td> <td align=center><a href='?acao=saibamais&id=$id&id_fornece=$id_fornece'>$icone</a></td> <td align=right>$quantidadecaixa</td> <td align=left>R$ <input type=\"text\" name=\"{$i}[novo_preco]\" id=\"{$i}[novo_preco]\" value=\"$preço\" size=\"08\" style=\"text-align:right\" onKeyPress=\"return(MascaraMoeda(this,'','.',event))\"></td> <td align=center> <input type=\"text\" name=\"{$i}[novo_imposto]\" id=\"{$i}[novo_imposto]\" value=\"0\" size=\"08\" style=\"text-align:center\" onKeyPress=\"BloqueiaLetras();\"> %</td> <input type=\"hidden\" name=\"{$i}[preco_novo]\" id=\"{$i}[preco_novo]\" value=\"\"> <td align=let><input type=checkbox name=\"{$i}[marcado]\"></td> <td align=center valign=\"middle\"> <a href=\"#\" onclick=\"this.href=' carrinho.php?op=adicionar&id_produto=$id&id_fornece=$id_fornece&imposto='+document.getElementById('{$i}[novo_imposto]').value+'&novopreco='+calculo(document.getElementById('{$i}[novo_preco]').value,document.getElementById('{$i}[novo_imposto]').value);\" > Enviar </a> </td> </tr>"; $i++; } echo " <tr> <td align=center valign=\"middle\" colspan=8 height=50> <input type=\"submit\" value=\"Enviar todos os ítens\"> </td> </tr> </table> </form> "; } ?>Editado por Carlos RochaLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.