MTavares Postado Junho 18, 2008 Denunciar Share Postado Junho 18, 2008 Prezados colegas,Eu tenho a seguinte função:function valor($valor1){// e dentro dessa função eu tenho uma tabela(HTML), onde trago os valores de uma tabela (SQL) $sql = .... while($muito = mysql_fetch_object($sql)){ // e dentro desse laço eu tenho um campo 'checkbox' onde dentro do 'value' trago o id do campo que desejo }}Pois bem, quando tento chamar essa funçao com os valores, ele só me retorna o último registro do checkbox....alguém sabe o porque disso?Vale ressaltar que isso acontece quando seleciono mais de um item...abs Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Junho 18, 2008 Denunciar Share Postado Junho 18, 2008 Como você está criando as checkboxes, e como as está recuperando? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MTavares Postado Junho 18, 2008 Autor Denunciar Share Postado Junho 18, 2008 eu estou criando da seguinte forma:function valor($valor){ $sql = ...while($muito=mysql_fetch_object($sql)){ ...echo "<input type='checkbox' name='documentos' value=\"".$id."\">";...}}e recuperando dessa forma:valor($valor);<? if($_REQUEST['Submit'] == 'Atualizar'){ // Aqui listo os 'checkboxs' que foram selecionados, mas só vem o último}?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MLeandroJr! Postado Junho 18, 2008 Denunciar Share Postado Junho 18, 2008 Hmmm, sim.Você resgata os valores do database e cada valor cria um checkbox.Existem duas maneiras de fazer o que você quer.Uma é inviável, que seria criar um novo campo na tabela com o nome de cada checkbox, definir o nome de cada uma e depois usar o foreach para recuperar cada valor do post.A outra é mais fácil, você cria as checkboxes com colchetes no fim do nome, assim, em vez de um valor só, elas serão partes de uma array.No seu script ele só retorna o valor da última checkbox porque toda hora você sobrepõe esse valor, perceba que a toda hora você troca o valor de $documentos.Você pode fazer assim:... function valor($valor){ $sql = ... while($muito=mysql_fetch_object($sql)){ ... echo "<input type='checkbox' name='documentos[]' value=\"".$id."\">"; ... } } E recuperar assim: <?php if($_REQUEST['Submit'] == 'Atualizar'){ $Documentos = $_POST["documentos"]; // Ou use $_GET["documentos"] se o seu formulário enviar os dados por GET foreach($Documentos as $Documento){ echo "$Documento<br />"; } } ?>Perceba que eu dei um echo só pra você ver como o script funciona, mas você poderá colocar o restante de sua função ali, e pra cada checkbox selecionada, ele criará uma variável $Documento e trabalhará com ela.Perceba também que se você precisar dessa variável mais tarde, ela novamente mostrará somente o último valor. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MTavares Postado Junho 18, 2008 Autor Denunciar Share Postado Junho 18, 2008 Obrigado Leandro,realmente deu certo a segunda opção em colocar os colchetes....abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
MTavares
Prezados colegas,
Eu tenho a seguinte função:
function valor($valor1){
// e dentro dessa função eu tenho uma tabela(HTML), onde trago os valores de uma tabela (SQL)
$sql = ....
while($muito = mysql_fetch_object($sql)){
// e dentro desse laço eu tenho um campo 'checkbox' onde dentro do 'value' trago o id do campo que desejo
}
}
Pois bem, quando tento chamar essa funçao com os valores, ele só me retorna o último registro do checkbox....alguém sabe o porque disso?
Vale ressaltar que isso acontece quando seleciono mais de um item...
abs
Link para o comentário
Compartilhar em outros sites
4 respostass 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.