azeredo 0 Denunciar post Postado Outubro 20, 2006 Bom dia,Bom minhas dúvidas são?Para ter um link "seleciontar todos" e ao clicar e selecionar todos os checkbox, é via php ou script?<input type="checkbox" name="checkbox" value="checkbox">Neste caso, ao clicar em enviar, vou retornar esse value com um $_POST['checkbox(aqui é o nome?)']?Porque no value vou colocar o código do produto que está no BD...Vlw Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Outubro 20, 2006 a parte que "selecionar tudo" é por javascript e a parte que você ira pegar os dados é via php vou te mostrar um exemplo do "seleciona tudo com checkbox" e como pegar esses dados via php seleciona.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Seleciona tudo</title> <script> function selecionar_todas(retorno) { var frm = document.form1; for(i = 0; i < frm.length; i++) { if(frm.elements[i].type == "checkbox") { frm.elements[i].checked = retorno; } } } </script> </head> <body> <table width="250" height="204" border="1"> <tr> <td width="274"><form id="form1" name="form1" method="post" action="seleciona.php"> <p> <input type="checkbox" name="checkbox" id="checkbox" value="1" onclick="return selecionar_todas(this.checked);" /> <label for="checkbox">Seleciona Todas</label></p> <p> <input type="checkbox" name="livros[]" value="php" />PHP <br /> <input type="checkbox" name="livros[]" value="asp" />ASP <br /> <input type="checkbox" name="livros[]" value="dotnet" />DOTNET <br /> <input type="checkbox" name="livros[]" value="java" />JAVA </p> <input type="submit" name="sub" value="Enviar" /> </form> </td> </table> <?php if(isset($_POST["livros"])) { echo "Os livros de sua preferência são:<ul>"; foreach($_POST["livros"] as $livros) { echo "<li>" . $livros . "</li>"; } echo "</ul>"; } ?> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
azeredo 0 Denunciar post Postado Outubro 20, 2006 Tá loco, valeu Fabyo!!Na verdade não quero mostrar o que foi escolhido, mas com esse seu exemplo acho que consigo me virar.... qualquer coisa volto aqui..Valeu! Compartilhar este post Link para o post Compartilhar em outros sites
azeredo 0 Denunciar post Postado Outubro 20, 2006 Cara, deu quase tudo certo.... O código <?phpif(isset($_POST["livros"])){ foreach($_POST["livros"] as $livros) { $sql_previsao = "select PREVISAODEVOLUCAO from emp_cop where copia = $livros"; $consulta_previsao = ibase_query($conexao,$sql_previsao); $linha_previsao = ibase_fetch_object($consulta_previsao); $previsao = $linha_previsao->PREVISAODEVOLUCAO; $nd = explode("/",$previsao); $nova = mktime (0, 0, 0, $nd[0] , $nd[1]+$diasdevolucao, $nd[2]); $nova_previsao = date("m/d/Y", $nova); $sql_update_previsao = "update emp_cop set previsaodevolucao = '$nova_previsao' where copia = $livros"; $update = ibase_query($conexao,$sql_update_previsao); } }?> Só que, as vezes eu seleciono um e ele altera a data do outro..., outras vezes faz certo, hora não faz... o que que pode ser isso? Valeu Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Outubro 20, 2006 o campo copia é o que integer ou varchar ?, porque se vor texto você ta esquecendo de usar apostrofos '' Compartilhar este post Link para o post Compartilhar em outros sites
azeredo 0 Denunciar post Postado Outubro 20, 2006 no banco esse campo é integer, mas vou tentar por os '' para testar... edit.: deu no mesmo...... Hum.. agora eu vi o que tá errado, mas não entendi o porque, já que o update está dentro da condição do form....... Só de eu dar um refresh ele já soma as datas em todos os campos que tiver..... Código da págiana toda... <?php error_reporting(E_ALL); session_start(); include("conexao.php"); $aluno = $_SESSION['aluno']; $sql_emprestimos = "select * from empresti where aluno = $aluno"; $consulta_emprestimos = ibase_query($conexao,$sql_emprestimos); $sql_diasdevolucao = "select diasdevolucaolivro from filial"; $consulta_diasdevolucao = ibase_query($conexao,$sql_diasdevolucao); $linha_diasdevolucao = ibase_fetch_object($consulta_diasdevolucao); $diasdevolucao = $linha_diasdevolucao->DIASDEVOLUCAOLIVRO;?><html><script>function selecionar_todas(retorno) { var frm = document.form1; for(i = 0; i < frm.length; i++) { if(frm.elements[i].type == "checkbox") { frm.elements[i].checked = retorno; } }}</script><body><div align="center"> <table width="794" border="1" rowrap> <tr> <td width="29"> </td> <td width="449"><div align="center"><strong>Livro</strong></div></td> <td width="144"><div align="center"><strong>Data do Empréstimo </strong></div></td> <td width="144"><div align="center"><strong>Data para Devolução </strong></div></td> </tr> </table> <table width="794" border> <?php while ($linha_emprestimos = ibase_fetch_object($consulta_emprestimos)) { $sql_emp_cop = "select * from emp_cop where emprestimo = $linha_emprestimos->CODIGO"; $consulta_emp_cop = ibase_query($conexao,$sql_emp_cop); while ($linha_emp_cop = ibase_fetch_object($consulta_emp_cop)) { $sql_cop = "select * from copia where codigo = $linha_emp_cop->COPIA"; $consulta_cop = ibase_query($conexao,$sql_cop); while ($linha_cop = ibase_fetch_object($consulta_cop)) { $sql_livro = "select filme.nome from filme,copia where filme.codigo = $linha_cop->FILME"; $consulta_livro = ibase_query($conexao,$sql_livro); $linha_livro = ibase_fetch_object($consulta_livro); ?> <form action="renovar.php" method="post" name="form1" id="form1"> <td width="29" ><?php echo "<center>"; ?> <input type="checkbox" name="livros[]" value="<?php print $linha_emp_cop->COPIA; ?>"> <?php echo "</center>"; ?></td> <td width="449" ><?php print $linha_livro->NOME; ?></td> <td width="144" ><?php echo "<center>"; $data = $linha_emprestimos->DATA; $nd = explode("/",$data); $novaData = $nd[1]."/".$nd[0]."/".$nd[2]; print $novaData; echo "</center>"; ?></td> <td width="144" ><?php echo "<center>"; $data = $linha_emp_cop->PREVISAODEVOLUCAO; $nd = explode("/",$data); $novaData = $nd[1]."/".$nd[0]."/".$nd[2]; print $novaData; echo "</center>"; ?></td> </tr> <?php } } }?></table> <table width="794" border="0" rowrap> <tr> <td width="134"><div align="center"><input type="checkbox" name="checkbox" id="checkbox" value="1" onclick="return selecionar_todas(this.checked);" /> <label for="checkbox">Seleciona Todas</label></div> <div align="center"></div></td> <td width="101"><center><label> <input type="submit" name="Submit" value="Renovar"> </label></center></label></td> <td><label></label></td> </tr> </table> </form> <?phpif(isset($_POST["livros"])){ foreach($_POST["livros"] as $livros) { $sql_previsao = "select PREVISAODEVOLUCAO from emp_cop where copia = $livros"; $consulta_previsao = ibase_query($conexao,$sql_previsao); $linha_previsao = ibase_fetch_object($consulta_previsao); $previsao = $linha_previsao->PREVISAODEVOLUCAO; $nd = explode("/",$previsao); $nova = mktime (0, 0, 0, $nd[0] , $nd[1]+$diasdevolucao, $nd[2]); $nova_previsao = date("m/d/Y", $nova); $sql_update_previsao = "update emp_cop set previsaodevolucao = '$nova_previsao' where copia = $livros"; $update = ibase_query($conexao,$sql_update_previsao); } }?></div></body></html> Edit: hum.. somente entrar na página e dar refersh não muda nada.. mas no momento que seleciono 1 e clico em renovar, sempre que do refresh ele fica aumentando somente esse que foi selecionado antes... e depois seleciono outra, envio, e quando fico dando refresh ele fica no update nestes 2 e assim por diante.... Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Outubro 20, 2006 tenta separar a pagina para nao ter esse problema de refresh, ou valide melhor o status da pagina e sobre o campo integer nao precisa de apostrofos Compartilhar este post Link para o post Compartilhar em outros sites
azeredo 0 Denunciar post Postado Outubro 20, 2006 Como que muda o status da página?Mas acho que vou acabar separando as páginas mesmo....Muito obrigado!! Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Outubro 20, 2006 sobre o status eu quiz dizer para você manter o estado da pagina ja que você ta trabalhando na mesma pagina você precisa sempre pegar o que a pessoa selecionou e manter selecoinado aquilo, por isso é melhor você separar mesmo Compartilhar este post Link para o post Compartilhar em outros sites