Kuat Postado Junho 20, 2008 Denunciar Share Postado Junho 20, 2008 (editado) Olá a todos, sou novato no fórum e este é o meu primeiro post...Fui recomendado por um amigo a vir neste fórum, e vejo que foi uma boa recomendação.Então, o problema é o seguinte, tenho um banco de dados com X tabelas, e preciso que na minha página aparecam X checkboxes com o nome das tabelas...Logo teria que ter um código em php dentro do formulário contanto quantos checkboxes vão aparecer, e o qual tabela eles selecionam.O código está pronto, mas recebo sempre o formulário em branco.segue abaixo o script:<?php $conexao = mysql_connect("localhost","root","") or die ("fala na conexao"); echo "conexao realizada com sucesso<br>"; mysql_select_db("web") or die ("fala na seleção do bando de dados<br>"); echo "banco de dados selecionado com sucesso<br>"; $resultado = mysql_query ("show tables"); $n_tabelas = mysql_num_rows($resultado); while ($tabela = mysql_fetch_row($resultado)); { ?> <form action="index2.php" method="post"> <br>Qual tabela gostaria de visualizar?<br> <?php for ($n=0;$n<$n_tabelas;$n++) { echo "<input name='$tabela[$n]' type='checkbox' value='$tabela[$n]' />$tabela[$n]<br>"; echo "<input type='hidden' name'n' value='<?php [$n] ?>'/>"; echo "<input type='hidden' name'tabela' value='<?php $tabela[$n] ?>'/>"; } } ?> <input type="hidden" name"n_tabelas" value="<?php $n_tabelas ?>"/> <input type="submit" value="visualizar"> </form>alguém poderia me ajudar?Agradeço a todos antecipadamente. Editado Junho 20, 2008 por Kuat Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tonzinhu Postado Junho 20, 2008 Denunciar Share Postado Junho 20, 2008 (editado) Iaew, bom, não sei se esse é o melhor metodo mas eu faria assim:<form method="post" action="teste3.php"> <?php $host = 'localhost'; $user = 'usuario do banco'; $pass = 'senha do banco'; $db = 'sua tabela'; mysql_connect($host,$user,$pass) or die("erro"); mysql_select_db($db); $selecionar = mysql_query('show tables'); $resul = mysql_num_rows($selecionar); while($tables = mysql_fetch_row($selecionar)){ foreach($tables as $valor => $id){ $tabelas = $id; } print '<input type="checkbox" value="'.$tabelas.'" name="tabelas[]">'.$tabelas.'<br />'; } ?> <input type="submit" value="enviar"> </form> Pagina que recebe os dados <?php foreach($_POST['tabelas'] as $valor){ print $valor.'<br />'; } ?>Qualquer coisa fala aew.falora. Editado Junho 20, 2008 por tonzinhu Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Kuat Postado Junho 21, 2008 Autor Denunciar Share Postado Junho 21, 2008 Realmente, a lógica é basicamente a mesma, e agora que eu fui ver alguns errinhos, como por exemplo o cabeçalho do formulário estar dentro do while, entre outras coisascomo esse código faz parte do meu trabalho, eu só vou poder testá-lo na segunda.Creio eu que funcionará desta forma.Obrigado tonzinhu. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Kuat Postado Junho 23, 2008 Autor Denunciar Share Postado Junho 23, 2008 Bom... a primeira parte funcionou beleza, mas você poderia me explicar essa sintaxe estranha que eu ainda não conheço ".tabela." e como funciona a linha de comando "foreach"?eu ainda não sei como tratar essa variável na segunda página, pois eu esperava tratá-la como um array tipo vetor, para poder mostrar o conteúdo de cada tabela na mesma página. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tonzinhu Postado Junho 23, 2008 Denunciar Share Postado Junho 23, 2008 não entendi isso ".tabela." ....explique melhor.E o foreach é o seguinte:Ele resgata os valores enviados pelo form <input type="checkbox" value="'.$tabelas.'" name="tabelas[]">'.$tabelas.'<br /> você pode reparar que no name="" eu coloquei uns "[]", isso faz dele um array. o foreach() faz um loop e resgata todas elas. foreach($_POST['tabelas'] as $valor){as = comoQualquer coisa fala ai.Ps: não sou muito bom pra explicar hehe..só na pratica mesmo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Kuat -- Postado Junho 24, 2008 Denunciar Share Postado Junho 24, 2008 Pois é... é que eu não conhecia até então o porque de botar um ponto ante e outro depois na variável... ainda não entendi o que isso quer dizer.No caso do foreach criar um array é que eu pensei nisso, mas quando eu fiz um teste mandando imprimi tabela[1] ele me mostrou a primeira letra do primeiro banco de dados.Isso me embananou a cabeça toda O.o Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tonzinhu Postado Junho 24, 2008 Denunciar Share Postado Junho 24, 2008 ah tah..os pontos.são pra concatenar. (conectar, ligar).<? // o operador de concatenção é "." $nome = "Carlos"; $cidade = "São Paulo"; echo "Meu nome é " . $nome . " e eu moro em " . $cidade . "."; ?>fonte: http://www.arquivodecodigos.net/arquivo/vi...hp?qual_dica=60Só dar uma olhada nos metodos de concatenação.qualquer coisa fala ai.falora Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Kuat Postado Junho 25, 2008 Autor Denunciar Share Postado Junho 25, 2008 (editado) Pelos teste que eu fiz aqui percebi uma coisa...ele vai concatenando uma caracter por vez no array até acabar o nome da tabela, ai ele pula para a próxima posição do vetor de array...ai ficou difícil de resolver veja porque...eu segui exatamente o que você me recomendou, porém ele funciona quando eu seleciono apenas uma tabela, ele me mostra a tabela certinho...mas quando eu seleciona 2 ou mais ele dá vários erros de sql...O código está assim:Primeira parte do código<form method="post" action="index2.php"> <?php $conexao = mysql_connect("localhost","root","") or die ("fala na conexao"); echo "conexao realizada com sucesso<br>"; mysql_select_db("web") or die ("fala na seleção do bando de dados<br>"); echo "banco de dados selecionado com sucesso<br>"; print 'Qual tabela gostaria de visualizar?<br>'; $resultado = mysql_query ("show tables"); $n_tabelas = mysql_num_rows($resultado); while($tables = mysql_fetch_row($resultado)) { foreach($tables as $valor => $id) { $tabelas = $id; } print '<input type="checkbox" value="'.$tabelas.'" name="tabelas[]">'.$tabelas.'<br />'; } print '<input type="submit" value="visualizar"> </form>'; mysql_close($conexao); ?> Segunda parte do código: <?php $conexao = mysql_connect("localhost","root","") or die ("fala na conexao"); mysql_select_db("web") or die ("fala na seleção do bando de dados<br>"); foreach($_POST['tabelas'] as $valor) { $resultado = mysql_query("SELECT * FROM $valor"); $numero_linha = mysql_num_rows($resultado); $colunas = mysql_num_fields($resultado); echo "foram encontradas $numero_linha linhas<br>"; echo "foram encontradas $colunas colunas<br>"; while ($conteudo_linha = mysql_fetch_row($resultado)) { for ($i=0;$i<$numero_linha;$i++) { for($u=0;$u<$colunas;$u++) { if ($conteudo_linha[$i]=="") { echo "|-=vazio=-|\n"; $i++; } else { echo "|$conteudo_linha[$i]|\n"; $i++; } } echo "<br>"; } } mysql_close($conexao); } ?>E agora?eu preciso que ele verifique quantas tabelas o usuário selecionou e mostre a ele as mesmas... Editado Junho 25, 2008 por Kuat Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Kuat Postado Junho 25, 2008 Autor Denunciar Share Postado Junho 25, 2008 Problema resolvidoeu estava mandando o php fechar conexão com o mysql dentro do laço foreach...assim ele mostrava os dados da primeira tabela corretamente, e depois fechava a conexão, e quando ia mostrar os dados da segunda tabela ele dava erro, pois não estava conectado ao mysql xPAgora que está resolvido, o meu pequeno sistema de visualizar tabelas está completoObrigado a todos! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Kuat
Olá a todos, sou novato no fórum e este é o meu primeiro post...
Fui recomendado por um amigo a vir neste fórum, e vejo que foi uma boa recomendação.
Então, o problema é o seguinte, tenho um banco de dados com X tabelas, e preciso que na minha página aparecam X checkboxes com o nome das tabelas...
Logo teria que ter um código em php dentro do formulário contanto quantos checkboxes vão aparecer, e o qual tabela eles selecionam.
O código está pronto, mas recebo sempre o formulário em branco.
segue abaixo o script:
alguém poderia me ajudar?
Agradeço a todos antecipadamente.
Editado por KuatLink para o comentário
Compartilhar em outros sites
8 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.