Rzorr 0 Denunciar post Postado Agosto 11, 2012 Boa noite galera estou montando um sistema onde o adm vai selecionar o que foi certo e o que foi meio certo e o que foi errado, ao clicar em gravar, manda tudo para o banco, a minha dificuldade esta no seguinte como coloco um input dentro de uma tabela sem aparecer as bordas do input ou e como mando os dados para o banco com os dados da tabela sem input alguem consegue me dar uma força segue codigo while ($linhas = mysql_fetch_array($conf)) { echo '<table width="800" border="1" align="center"> <tr> <form action="teste.php" method="post"> <td align="center" width="50">' . $linhas ['nome'] . '</td> <td align="center" width="50">' . $linhas ['chute'] . '</td> <td align="center" width="50">' . $linhas['data'] .'</td> <td align="center" width="50">' . $linhas['pontos'] .'</td> <td align="center" width="50"><input name="certo" type="checkbox" value="100" /></td> <td align="center" width="50"><input name="meio" type="checkbox" value="50" /></td> <td align="center" width="50"><input name="errado" type="checkbox" value="0" /></td> </tr> </table>'; } } ?> <input type="submit" name="grava" value="Gravar"> </form> Compartilhar este post Link para o post Compartilhar em outros sites
mangakah 217 Denunciar post Postado Agosto 11, 2012 Seria mais fácil ajudar se você explicasse o que você está fazendo... :-/ É tipo um teste online? - Para remover as bordas, use CSS: <style> .sem-bordas { border:0; } </style> <input type="text" class="sem-bordas"> Se o que você quer é que o campo esteja invisível, então use o tipo 'hidden': <input type="hidden" name="campo" value="valor" /> - Você só pode enviar dados para o servidor por meio dos métodos GET ou POST, usando um formulário que enviará os dados quando for submetido ou XHR para enviar os dados por meio de requisições Ajax. Compartilhar este post Link para o post Compartilhar em outros sites
srnalim 21 Denunciar post Postado Agosto 11, 2012 Voce não precisa de input para fazer isso pode fazer direto em variaveis usando-as para exibir e para atualizar um status da pegunta com UPDATE. Compartilhar este post Link para o post Compartilhar em outros sites
Wanderson Valerio 102 Denunciar post Postado Agosto 11, 2012 <input type="submit" name="grava" value="Gravar" style="border: 0;"> Compartilhar este post Link para o post Compartilhar em outros sites
Rzorr 0 Denunciar post Postado Agosto 11, 2012 Seguinte acho que eu não consegui expressar bem o que eu queria, mas é assim Eu fiz uma tabela no banco que recebe a resposta que o cara enviou beleza essa deu certinho ai agora o cara que administra o sistema vai verificar, então ele abre uma pagina que carrega todos os dados do banco em uma tabela ai nessa tabela tem uma checkbox para confirma se esta certo ou errado ou se esta meio certo ai ele seleciona o que quer e clica em gravar ai manda tudo para outra pagina que faz a interação com o banco grava os pontos em uma tabela de pontuação onde tem o nome do usuário e sua pontuação, minha dificuldade esta ai enviar dados, pelo form beleza, mas os dados como nome e data que estão na tabela como faço para enviar para o banco? Compartilhar este post Link para o post Compartilhar em outros sites
AlexandreMota 22 Denunciar post Postado Agosto 12, 2012 É como o amigo mangakanah sugeriu, você deve usar o input hidden para enviar esses dados sem caixa de texto. É só incluir duas linhas no while: while ($linhas = mysql_fetch_array($conf)) { echo '<table width="800" border="1" align="center"> <tr> <form action="teste.php" method="post"> <td align="center" width="50">' . $linhas ['nome'] . '</td> <td align="center" width="50">' . $linhas ['chute'] . '</td> <td align="center" width="50">' . $linhas['data'] .'</td> <td align="center" width="50">' . $linhas['pontos'] .'</td> <td align="center" width="50"><input name="certo" type="checkbox" value="100" /></td> <td align="center" width="50"><input name="meio" type="checkbox" value="50" /></td> <td align="center" width="50"><input name="errado" type="checkbox" value="0" /></td> <input type="hidden" name="nome" value="' . $linhas['nome'] . '" /> <input type="hidden" name="data" value="' . $linhas['data'] . '" /> </tr> </table>'; } } ?> <input type="submit" name="grava" value="Gravar"> </form> Compartilhar este post Link para o post Compartilhar em outros sites
Rzorr 0 Denunciar post Postado Agosto 13, 2012 Pessoal seguinte funciona com esse campo em hidden mas tem um detalhe ele só manda uma das linhas da tabela e não todas as linhas aguem sabe me ajudar nessa etapa obrigado Pessoal consegui um pouco de progresso consegui mandar um a um para o banco mas tudo de uma vez só não mas to tentando e esperando algum abençoado me ajudar obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
AlexandreMota 22 Denunciar post Postado Agosto 14, 2012 Eu até imaginei, mas como vi que nos outros campos não tem array no nome, achei que também fosse funcionar nos hidden. Basta você incluir colchetes [] no nome deles, e depois pra pegar é só usar $_POST['nome'][0], $_POST['nome'][1], etc. while ($linhas = mysql_fetch_array($conf)) { echo '<table width="800" border="1" align="center"> <tr> <form action="teste.php" method="post"> <td align="center" width="50">' . $linhas ['nome'] . '</td> <td align="center" width="50">' . $linhas ['chute'] . '</td> <td align="center" width="50">' . $linhas['data'] .'</td> <td align="center" width="50">' . $linhas['pontos'] .'</td> <td align="center" width="50"><input name="certo" type="checkbox" value="100" /></td> <td align="center" width="50"><input name="meio" type="checkbox" value="50" /></td> <td align="center" width="50"><input name="errado" type="checkbox" value="0" /></td> <input type="hidden" name="nome[]" value="' . $linhas['nome'] . '" /> <input type="hidden" name="data[]" value="' . $linhas['data'] . '" /> </tr> </table>'; } } ?> <input type="submit" name="grava" value="Gravar"> </form> Compartilhar este post Link para o post Compartilhar em outros sites
Rzorr 0 Denunciar post Postado Agosto 14, 2012 Eu até imaginei, mas como vi que nos outros campos não tem array no nome, achei que também fosse funcionar nos hidden. Basta você incluir colchetes [] no nome deles, e depois pra pegar é só usar $_POST['nome'][0], $_POST['nome'][1], etc. while ($linhas = mysql_fetch_array($conf)) { echo '<table width="800" border="1" align="center"> <tr> <form action="teste.php" method="post"> <td align="center" width="50">' . $linhas ['nome'] . '</td> <td align="center" width="50">' . $linhas ['chute'] . '</td> <td align="center" width="50">' . $linhas['data'] .'</td> <td align="center" width="50">' . $linhas['pontos'] .'</td> <td align="center" width="50"><input name="certo" type="checkbox" value="100" /></td> <td align="center" width="50"><input name="meio" type="checkbox" value="50" /></td> <td align="center" width="50"><input name="errado" type="checkbox" value="0" /></td> <input type="hidden" name="nome[]" value="' . $linhas['nome'] . '" /> <input type="hidden" name="data[]" value="' . $linhas['data'] . '" /> </tr> </table>'; } } ?> <input type="submit" name="grava" value="Gravar"> </form> Amigo desculpe minha burrice, mas é o seguinte ou eu não entendi ou se entendi depois terei que fazer vamos supor se eu tiver 200 registro vou ter que fazer 200 vezes $_POST['nome'][0];$_POST['nome'][1]; e assim por diante pode me explicar melhor não consegui entender muito bem. Compartilhar este post Link para o post Compartilhar em outros sites
AlexandreMota 22 Denunciar post Postado Agosto 14, 2012 Seria em um while.. Mas como você pega esses dados dos checkbox na outra página? Compartilhar este post Link para o post Compartilhar em outros sites
Rzorr 0 Denunciar post Postado Agosto 15, 2012 Seria em um while.. Mas como você pega esses dados dos checkbox na outra página? Amigão é o seguinte essa pagina ta funcionando assim eu faço uma consulta no banco recebo os dados nessa tabela ai dessa tabela o que eu quero fazer é confirmar se a resposta esta certa e mandar tudo para outra tabela do banco mas antes eu queria escrever na tela para ver se esta funcionando, o que acontece é o seguinte eu queria mandar tudo de uma vez mas não consegui fazer ainda então eu fiz para mandar 1 por um só que na pagina que eu mando escrever só escreve uma da opçoes então resumindo eu tenho dois problemas escrever mandar tudo de uma e escrever todos os dados na outra pagina. vou postar o codigo todo ai para ficar mais facil essa é pagina que recebe os dados do banco é feito a conferencia e quando clica em gravar manda para outra pagina include("cone.php"); $conf = mysql_query("SELECT * FROM chutes_dia WHERE conferido = 0 ORDER BY nome ASC ") or die ("impossível conctar ao banco de dados"); $cont = mysql_num_rows($conf); if($cont == 0){ echo 'não existe registro'; }else{ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <script language="javascript"> function confere(){ if(document.getElementById('check_c').checked = true) { document.getElementById('check_m').disabled = true; document.getElementById('check_e').disabled = true; }else if(document.getElementById('check_e').checked = true) { document.getElementById('check_c').disabled = true; document.getElementById('check_m').disabled = true; }else (document.getElementById('check_m').checked = true) { document.getElementById('check_c').disabled = true; document.getElementById('check_e').disabled = true; } } </script> </head> <body> <table width="800" border="1" align="center"> <tr> <td align="center" width="50">Nome:</td> <td align="center" width="50">Chute:</td> <td align="center" width="50" >Data</td> <td align="center" width="50" >Pontos:</td> <td align="center" width="50">correto:</td> <td align="center" width="50">Meio certo:</td> <td align="center" width="50">errado:</td> <td align="center" width="50">Ok</td> <td align="center" width="50">Gravar</td> <?php while ($linhas = mysql_fetch_array($conf)) { echo '<table width="800" border="1" align="center"> <tr> <form action="teste.php" method="post"> <td align="center" width="60">' . $linhas ['nome'] .'</td> <td align="center" width="60">' . $linhas ['chute'] .'</td> <td align="center" width="60">' . $linhas ['data'] .'</td> <td align="center" width="60">' . $linhas ['pontos'] .'</td> <td align="center" width="60"><input name="certo" id="check_c" type="checkbox" value="100" onclick="return confere()" /></td> <td align="center" width="60"><input name="meio" id="check_m" type="checkbox" value="50" onclick="return confere()" /></td> <td align="center" width="60"><input name="errado" id="check_e" type="checkbox" value="0" onclick="return confere()" /></td> <td align="center" width="60"><input name="ok" id="check_OK" type="checkbox" value="1" /></td> <input type="hidden" name="nome" value="' . $linhas['nome'] . '" /> <input type="hidden" name="chute" value="' . $linhas['chute'] . '" /> <input type="hidden" name="data" value="' . $linhas['data'] . '" /> <input type="hidden" name="pontos" value="' . $linhas['pontos'] . '" /> <td align="center" width="60"><input type="submit" value="gravar" /></td> </tr> </table> </form>'; } } ?> essa é a pagina que recebe os dados novos <?php $certo = $_POST['certo']; $meio = $_POST['meio']; $errado = $_POST['errado']; $nome = $_POST['nome']; $data = $_POST['data']; $chute = $_POST['chute']; $pontos = $_POST['pontos']; $confere = $_POST['ok']; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <?php echo $certo .'</br>', $meio .'</br>', $errado .'</br>', $nome .'</br>', $data .'</br>', $chute .'</br>', $confere ; ?> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Rzorr 0 Denunciar post Postado Agosto 16, 2012 Amigão é o seguinte essa pagina ta funcionando assim eu faço uma consulta no banco recebo os dados nessa tabela ai dessa tabela o que eu quero fazer é confirmar se a resposta esta certa e mandar tudo para outra tabela do banco mas antes eu queria escrever na tela para ver se esta funcionando, o que acontece é o seguinte eu queria mandar tudo de uma vez mas não consegui fazer ainda então eu fiz para mandar 1 por um só que na pagina que eu mando escrever só escreve uma da opçoes então resumindo eu tenho dois problemas escrever mandar tudo de uma e escrever todos os dados na outra pagina. vou postar o codigo todo ai para ficar mais facil essa é pagina que recebe os dados do banco é feito a conferencia e quando clica em gravar manda para outra pagina include("cone.php"); $conf = mysql_query("SELECT * FROM chutes_dia WHERE conferido = 0 ORDER BY nome ASC ") or die ("impossível conctar ao banco de dados"); $cont = mysql_num_rows($conf); if($cont == 0){ echo 'não existe registro'; }else{ ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> <script language="javascript"> function confere(){ if(document.getElementById('check_c').checked = true) { document.getElementById('check_m').disabled = true; document.getElementById('check_e').disabled = true; }else if(document.getElementById('check_e').checked = true) { document.getElementById('check_c').disabled = true; document.getElementById('check_m').disabled = true; }else (document.getElementById('check_m').checked = true) { document.getElementById('check_c').disabled = true; document.getElementById('check_e').disabled = true; } } </script> </head> <body> <table width="800" border="1" align="center"> <tr> <td align="center" width="50">Nome:</td> <td align="center" width="50">Chute:</td> <td align="center" width="50" >Data</td> <td align="center" width="50" >Pontos:</td> <td align="center" width="50">correto:</td> <td align="center" width="50">Meio certo:</td> <td align="center" width="50">errado:</td> <td align="center" width="50">Ok</td> <td align="center" width="50">Gravar</td> <?php while ($linhas = mysql_fetch_array($conf)) { echo '<table width="800" border="1" align="center"> <tr> <form action="teste.php" method="post"> <td align="center" width="60">' . $linhas ['nome'] .'</td> <td align="center" width="60">' . $linhas ['chute'] .'</td> <td align="center" width="60">' . $linhas ['data'] .'</td> <td align="center" width="60">' . $linhas ['pontos'] .'</td> <td align="center" width="60"><input name="certo" id="check_c" type="checkbox" value="100" onclick="return confere()" /></td> <td align="center" width="60"><input name="meio" id="check_m" type="checkbox" value="50" onclick="return confere()" /></td> <td align="center" width="60"><input name="errado" id="check_e" type="checkbox" value="0" onclick="return confere()" /></td> <td align="center" width="60"><input name="ok" id="check_OK" type="checkbox" value="1" /></td> <input type="hidden" name="nome" value="' . $linhas['nome'] . '" /> <input type="hidden" name="chute" value="' . $linhas['chute'] . '" /> <input type="hidden" name="data" value="' . $linhas['data'] . '" /> <input type="hidden" name="pontos" value="' . $linhas['pontos'] . '" /> <td align="center" width="60"><input type="submit" value="gravar" /></td> </tr> </table> </form>'; } } ?> essa é a pagina que recebe os dados novos <?php $certo = $_POST['certo']; $meio = $_POST['meio']; $errado = $_POST['errado']; $nome = $_POST['nome']; $data = $_POST['data']; $chute = $_POST['chute']; $pontos = $_POST['pontos']; $confere = $_POST['ok']; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <?php echo $certo .'</br>', $meio .'</br>', $errado .'</br>', $nome .'</br>', $data .'</br>', $chute .'</br>', $confere ; ?> </body> </html> Pessoal consegui fazer um progresso acho eu mas não consegui resolver o problema montei o array mas ele so escreve a ultima linha da table não escreve todas as linhas. alguem mais pode me ajudar Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
AlexandreMota 22 Denunciar post Postado Agosto 16, 2012 Eu não tinha entendido o que era feito nesse while que escreve as linhas, mas agora percebi que esse botão gravar é feito um para cada linha da tabela, e que cada linha tem um form próprio. Como o objetivo é conseguir mandar todos de uma vez, nem vamos perder tempo pegando um só pra testar. Pra mandar todos de uma vez, primeiro temos que tirar a tag form e o botão gravar de dentro do while pra que fique um form e um botão só para toda a tabela, e incluir os colchetes [] no nome de cada campo para indicar que é um array. <?php echo '<form action="teste.php" method="post">'; while ($linhas = mysql_fetch_array($conf)) { echo '<table width="800" border="1" align="center"> <tr> <td align="center" width="60">' . $linhas ['nome'] .'</td> <td align="center" width="60">' . $linhas ['chute'] .'</td> <td align="center" width="60">' . $linhas ['data'] .'</td> <td align="center" width="60">' . $linhas ['pontos'] .'</td> <td align="center" width="60"><input name="certo[]" id="check_c" type="checkbox" value="100" onclick="return confere()" /></td> <td align="center" width="60"><input name="meio[]" id="check_m" type="checkbox" value="50" onclick="return confere()" /></td> <td align="center" width="60"><input name="errado[]" id="check_e" type="checkbox" value="0" onclick="return confere()" /></td> <td align="center" width="60"><input name="ok[]" id="check_OK" type="checkbox" value="1" /></td> <input type="hidden" name="nome[]" value="' . $linhas['nome'] . '" /> <input type="hidden" name="chute[]" value="' . $linhas['chute'] . '" /> <input type="hidden" name="data[]" value="' . $linhas['data'] . '" /> <input type="hidden" name="pontos[]" value="' . $linhas['pontos'] . '" /> </tr> </table>'; } echo '<td align="center" width="60"><input type="submit" value="gravar" /></td> </form>'; E para pegar os dados: <?php $x = 0; <?php while ($x < count($_POST['nome'])) { $certo[] = $_POST['certo'][$x]; $meio[] = $_POST['meio'][$x]; $errado[] = $_POST['errado'][$x]; $nome[] = $_POST['nome'][$x]; $data[] = $_POST['data'][$x]; $chute[] = $_POST['chute'][$x]; $pontos[] = $_POST['pontos'][$x]; $confere[] = $_POST['ok'][$x]; $x++; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <?php $x = 0; while ($x < count($nome)) { echo $certo[$x] .'</br>', $meio[$x] .'</br>', $errado[$x] .'</br>', $nome[$x] .'</br>', $data[$x] .'</br>', $chute[$x] .'</br>', $confere[$x] ; $x++; } ?> </body> </html> Com isso acredito que já consiga pegar todos de uma vez. Não há necessidade de usar dois whiles na segunda página, eu só coloquei assim pra aproveitar a sua linha de raciocínio. Mas poderia ser só o segundo while e escrever os dados direto do $_POST sem armazenar os dados em variáveis. Compartilhar este post Link para o post Compartilhar em outros sites
Rzorr 0 Denunciar post Postado Agosto 20, 2012 Eu não tinha entendido o que era feito nesse while que escreve as linhas, mas agora percebi que esse botão gravar é feito um para cada linha da tabela, e que cada linha tem um form próprio. Como o objetivo é conseguir mandar todos de uma vez, nem vamos perder tempo pegando um só pra testar. Pra mandar todos de uma vez, primeiro temos que tirar a tag form e o botão gravar de dentro do while pra que fique um form e um botão só para toda a tabela, e incluir os colchetes [] no nome de cada campo para indicar que é um array. <?php echo '<form action="teste.php" method="post">'; while ($linhas = mysql_fetch_array($conf)) { echo '<table width="800" border="1" align="center"> <tr> <td align="center" width="60">' . $linhas ['nome'] .'</td> <td align="center" width="60">' . $linhas ['chute'] .'</td> <td align="center" width="60">' . $linhas ['data'] .'</td> <td align="center" width="60">' . $linhas ['pontos'] .'</td> <td align="center" width="60"><input name="certo[]" id="check_c" type="checkbox" value="100" onclick="return confere()" /></td> <td align="center" width="60"><input name="meio[]" id="check_m" type="checkbox" value="50" onclick="return confere()" /></td> <td align="center" width="60"><input name="errado[]" id="check_e" type="checkbox" value="0" onclick="return confere()" /></td> <td align="center" width="60"><input name="ok[]" id="check_OK" type="checkbox" value="1" /></td> <input type="hidden" name="nome[]" value="' . $linhas['nome'] . '" /> <input type="hidden" name="chute[]" value="' . $linhas['chute'] . '" /> <input type="hidden" name="data[]" value="' . $linhas['data'] . '" /> <input type="hidden" name="pontos[]" value="' . $linhas['pontos'] . '" /> </tr> </table>'; } echo '<td align="center" width="60"><input type="submit" value="gravar" /></td> </form>'; E para pegar os dados: <?php $x = 0; <?php while ($x < count($_POST['nome'])) { $certo[] = $_POST['certo'][$x]; $meio[] = $_POST['meio'][$x]; $errado[] = $_POST['errado'][$x]; $nome[] = $_POST['nome'][$x]; $data[] = $_POST['data'][$x]; $chute[] = $_POST['chute'][$x]; $pontos[] = $_POST['pontos'][$x]; $confere[] = $_POST['ok'][$x]; $x++; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Untitled Document</title> </head> <body> <?php $x = 0; while ($x < count($nome)) { echo $certo[$x] .'</br>', $meio[$x] .'</br>', $errado[$x] .'</br>', $nome[$x] .'</br>', $data[$x] .'</br>', $chute[$x] .'</br>', $confere[$x] ; $x++; } ?> </body> </html> Com isso acredito que já consiga pegar todos de uma vez. Não há necessidade de usar dois whiles na segunda página, eu só coloquei assim pra aproveitar a sua linha de raciocínio. Mas poderia ser só o segundo while e escrever os dados direto do $_POST sem armazenar os dados em variáveis. Amigo funcionou belezinha agora vou fazer isso ir para outra tabela do banco muito obrigado. Compartilhar este post Link para o post Compartilhar em outros sites