Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Presoti

Como mostrar dados de um BD (conexão com PHP) em uma página HTML?

Recommended Posts

Olá,

Estou com um problema em um projeto do curso técnico. Tenho de fazer um site com formulários. O site está feito correto, mas o envio dos formulários (conexão PHP) não está funcionando perfeitamente. Meu professor me passou uma folha com exemplos de como eu poderia fazer. Mas tive um problema na página em que eu precisava mostrar, em um tabela, todos os dados que estavam no Banco de Dados (enviados através dos formulários). Aí vem o problema. Eu peguei o código que ele me entregou, mas ao invés de aparecer uma tabela com os dados, aparece o código. Vou deixar os códigos em PHP abaixo.

*Estou usando o Wamp Server (é o mesmo usado na minha escola).

 

1- Código HTML com a conexão em PHP para testes que eu criei.

<html>
<head> <title> Teste </title>
</head>
<body>
<h1> Teste123 </h1>
<?php
	$conexao = mysql_connect("localhost","root","");
		mysql_select_db("escola",$conexao);
		$consulta = "select * from dadospessoais";
		$resultado = mysql_query($consulta,$conexao);
echo "<table border='1'>"
echo "<tr> <td> Matricula </td> <td> Nome </td> <td> Rua e Número </td> <td> Bairro </td> <td> Cidade </td> <td> UF </td> <td> CEP </td> <td> Nome do Pai </td> <td> Nome da Mãe </td> <td> Data de Nascimento </td> <td> Data de Entrada na Escola </td> <td> Curso </td> <td> Serie </td> <td> Turma </td> </tr>";
while($linha= mysql_fetch_row($resultado)){
echo <tr> <td>".linha[0]."</td> <td>".linha[1]."</td> <td>".linha[2]."</td> <td>".linha[3]."</td> <td>".linha[4]."</td> <td>".linha[5]."</td> <td>".linha[6]."</td> <td>".linha[7]."</td> <td>".linha[8]."</td> <td>".linha[9]."</td> <td>".linha[10]."</td> <td>".linha[11]."</td> <td>".linha[12]."</td></tr>";}
echo "</table>";
?>
</body>
</html>

2- Código PHP que faz a conexão com o BD.

<?php
 $matricula=$_POST["matricula"];
 $nome=$_POST["nome"];
 $ruanum=$_POST["ruanum"];
 $bairro=$_POST["bairro"];
 $cidade=$_POST["cidade"];
 $uf=$_POST["uf"];
 $cep=$_POST["cep"];
 $pai=$_POST["pai"];
 $mae=$_POST["mae"];
 $dnasc=$_POST["dnasc"];
 $dent=$_POST["dent"];
 $curso=$_POST["curso"];
 $serie=$_POST["serie"];
 $turma=$_POST["turma"];
 $escola=mysql_connect("localhost","root","");
 mysql_select_db("escola",$escola) or die ("Erro ao selecionar Base de Dados ");
 mysql_query("insert into dadospessoais (matricula, nome, ruanum, bairro, cidade, uf, cep, pai, mae, dnasc, dent, curso, serie, turma) values ('$matricula', '$nome', '$ruanum', '$bairro', '$cidade', '$uf', '$cep', '$pai', '$mae', '$dnasc', '$dent', '$curso', '$serie', '$turma')") or die ("Erro ao gravar no Banco de Dados <br>");
 echo "<b>Operação bem-sucedida! </b>";
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara pelo que tou vendo voce ta errando na linha onde retorna os dados do array

 

echo <tr> <td>".linha[0]."</td> <td>".linha[1]."</td> <td>".linha[2]."</td> <td>".linha[3]."</td> <td>".linha[4]."</td> <td>".linha[5]."</td> <td>".linha[6]."</td> <td>".linha[7]."</td> <td>".linha[8]."</td> <td>".linha[9]."</td> <td>".linha[10]."</td> <td>".linha[11]."</td> <td>".linha[12]."</td></tr>"

 

 

 

voce tem que colocar $linha["nome do campo da base dados"] por exemplo $linha["nome"]

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara pelo que tou vendo voce ta errando na linha onde retorna os dados do array

 

 

 

voce tem que colocar $linha["nome do campo da base dados"] por exemplo $linha["nome"]

Obrigado pela resposta. Tentei fazer o que você disse, mas o erro se manteve.

 

Erro: (isso que aparece no navegador)

Teste123

" echo " Matricula Nome Rua e Número Bairro Cidade UF CEP Nome do Pai Nome da Mãe Data de Nascimento Data de Entrada na Escola Curso Serie Turma "; while($linha= mysql_fetch_row($resultado)){ echo "$linha[matricula]" ".linha[1]." ".linha[2]." ".linha[3]." ".linha[4]." ".linha[5]." ".linha[6]." ".linha[7]." ".linha[8]." ".linha[9]." ".linha[10]." ".linha[11]." ".linha[12]."";} echo ""; ?>

*Já usei o Chrome, Mozila e o IE e o erro é o mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O primeiro código que você postou deve estar com a extensão .html

ele tem que .php

 

voce tem que rodar o codigo numa pagina php e nao html

 

Agradeço pelas ajudas, mas tentei com as duas extensões e não deu certo. O erro ainda persiste. Estou achando que o wamp server deve estar mal configurado, ou algum outro problema (talvez até fora do código).

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara foi malz ae tava meio sem tempo você tem um erro ae em vez de fecth_row é fetch_array

 

 

no entento fiz um codigo para ajudar voce

 

foi meio rapido so para voce ver mais ou menos como fica

<!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
$con=mysql_connect("localhost","root","");
$q=mysql_select_db("escola",$con) or die ("Erro ao selecionar Base de Dados ");
$resultado=mysql_query("select * from dadospessoais") or die("erro na consulta");
echo "<table border='1'>
		<tr>
			<td> Matricula </td>
			<td> Nome </td>
			<td> Rua e Número </td>
			<td> Bairro </td>
			<td> Cidade </td>
			<td> UF </td>
			<td> CEP </td>
			<td> Nome do Pai </td>
			<td> Nome da Mãe </td>
			<td> Data de Nascimento </td>
			<td> Data de Entrada na Escola </td>
			<td> Curso </td> 
			<td> Serie </td>
			<td> Turma </td> 
		</tr>";
while($linha= mysql_fetch_array($resultado)){
echo 	"<tr>
			<td> $linha[matricula] </td>
			<td> $linha[nome] </td>
			<td> $linha[ruanum] </td>
			<td> $linha[bairro] </td>
			<td> $linha[cidade] </td>
			<td> $linha[uf] </td>
			<td> $linha[cep] </td>
			<td> $linha[pai] </td>
			<td> $linha[mae] </td>
			<td> $linha[dnasc] </td>
			<td> $linha[dent] </td>
			<td> $linha[curso] </td>
			<td> $linha[serie] </td>
			<td> $linha[turma] </td> 
		</tr>";	
	
	
	

}

?>
</body>
</html>

isso em extensao php

 

 

p.s- voce tem que aprender a colocar o codigo melhor identado para poder assim ser mais facil identificar problemas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, li seu código todo e na linha 19 estava faltando uma "(aspas) coloquei pra você:

<html>
<head> <title> Teste </title>
</head>
<body>
<h1> Teste123 </h1>
<?php
	$conexao = mysql_connect("localhost","root","");
		mysql_select_db("escola",$conexao);
		$consulta = "select * from dadospessoais";
		$resultado = mysql_query($consulta,$conexao);
echo "<table border='1'>"
echo "<tr> <td> Matricula </td> <td> Nome </td> <td> Rua e Número </td> <td> Bairro </td> <td> Cidade </td> <td> UF </td> <td> CEP </td> <td> Nome do Pai </td> <td> Nome da Mãe </td> <td> Data de Nascimento </td> <td> Data de Entrada na Escola </td> <td> Curso </td> <td> Serie </td> <td> Turma </td> </tr>";
while($linha= mysql_fetch_row($resultado)){
echo "<tr> <td>".linha[0]."</td> <td>".linha[1]."</td> <td>".linha[2]."</td> <td>".linha[3]."</td> <td>".linha[4]."</td> <td>".linha[5]."</td> <td>".linha[6]."</td> <td>".linha[7]."</td> <td>".linha[8]."</td> <td>".linha[9]."</td> <td>".linha[10]."</td> <td>".linha[11]."</td> <td>".linha[12]."</td></tr>";}
echo "</table>";
?>
</body>
</html>

O echo não estava iniciando corretamente.

 

(Sou iniciante em PhP, pode ser que não seja isso. Caso não seja, desculpe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara foi malz ae tava meio sem tempo você tem um erro ae em vez de fecth_row é fetch_array

 

 

no entento fiz um codigo para ajudar voce

 

foi meio rapido so para voce ver mais ou menos como fica

<!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
$con=mysql_connect("localhost","root","");
$q=mysql_select_db("escola",$con) or die ("Erro ao selecionar Base de Dados ");
$resultado=mysql_query("select * from dadospessoais") or die("erro na consulta");
echo "<table border='1'>
		<tr>
			<td> Matricula </td>
			<td> Nome </td>
			<td> Rua e Número </td>
			<td> Bairro </td>
			<td> Cidade </td>
			<td> UF </td>
			<td> CEP </td>
			<td> Nome do Pai </td>
			<td> Nome da Mãe </td>
			<td> Data de Nascimento </td>
			<td> Data de Entrada na Escola </td>
			<td> Curso </td> 
			<td> Serie </td>
			<td> Turma </td> 
		</tr>";
while($linha= mysql_fetch_array($resultado)){
echo 	"<tr>
			<td> $linha[matricula] </td>
			<td> $linha[nome] </td>
			<td> $linha[ruanum] </td>
			<td> $linha[bairro] </td>
			<td> $linha[cidade] </td>
			<td> $linha[uf] </td>
			<td> $linha[cep] </td>
			<td> $linha[pai] </td>
			<td> $linha[mae] </td>
			<td> $linha[dnasc] </td>
			<td> $linha[dent] </td>
			<td> $linha[curso] </td>
			<td> $linha[serie] </td>
			<td> $linha[turma] </td> 
		</tr>";	
	
	
	

}

?>
</body>
</html>

isso em extensao php

 

 

p.s- voce tem que aprender a colocar o codigo melhor identado para poder assim ser mais facil identificar problemas

 

Muito obrigado cara, deu certinho. Desculpa a demora, mas é que eu refiz o BD para garantir que não ia dar erro nenhum.

Queria deixar uma observação, porque tive um outro problema, mas que consegui achar solução em um outro fórum. O erro que aparecia é o seguinte:

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in 'caminho do arquivo' on line xx.

A solução é simples, no começo do código, coloque o seguinte:

error_reporting(0);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora apareceu um novo erro :/

Toda vez que se insere dados novos através do formulário, aparece a mensagem de erro ' Erro ao gravar no Banco de Dados '.

 

No caso, imagino estar havendo alguma falha na conexao.

<?php
error_reporting(0);
 $matricula=$_POST["matricula"];
 $nome=$_POST["nome"];
 $endereco=$_POST["endereco"];
 $bairro=$_POST["bairro"];
 $cidade=$_POST["cidade"];
 $uf=$_POST["uf"];
 $cep=$_POST["cep"];
 $pai=$_POST["pai"];
 $mae=$_POST["mae"];
 $dnasc=$_POST["dnasc"];
 $dent=$_POST["dent"];
 $curso=$_POST["curso"];
 $serie=$_POST["serie"];
 $turma=$_POST["turma"];
 $escola=mysql_connect("localhost","root","");
 mysql_select_db("escola",$escola) or die ("Erro ao selecionar Base de Dados ");
 mysql_query("insert into dadospessoais (matricula, nome, endereco, bairro, cidade, uf, cep, pai, mae, dnasc, dent, curso, serie, turma) values ('$matricula', '$nome', '$endereco', '$bairro', '$cidade', '$uf', '$cep', '$pai', '$mae', '$dnasc', '$dent', '$curso', '$serie', '$turma')") or die ("Erro ao gravar no Banco de Dados <br>");
 echo "<b>Operação bem-sucedida! </b>";
?>

**Vou deixar os outros codigos php, pq eu troquei uma variavel que estava como 'ruanum' para 'endereco'.

<html>
<head>
<title>Teste</title>
</head>
<body>
<h1> Teste123 </h1>

<?php
error_reporting(0);
	$conexao=mysql_connect("localhost","root","");
	$q=mysql_select_db("escola",$conexao) or die ("Erro ao selecionar Base de Dados ");
	$resultado=mysql_query("select * from dadospessoais") or die("erro na consulta");
echo "<table border=1>
		<tr>
			<td> Matricula </td>
			<td> Nome </td>
			<td> Endereço </td>
			<td> Bairro </td>
			<td> Cidade </td>
			<td> UF </td>
			<td> CEP </td>
			<td> Nome do Pai </td>
			<td> Nome da Mãe </td>
			<td> Data de Nascimento </td>
			<td> Data de Entrada na Escola </td>
			<td> Curso </td> 
			<td> Serie </td>
			<td> Turma </td> 
		</tr>";
while($linha=mysql_fetch_array($resultado)){
echo 	"<tr>
			<td> $linha[matricula] </td>
			<td> $linha[nome] </td>
			<td> $linha[endereco] </td>
			<td> $linha[bairro] </td>
			<td> $linha[cidade] </td>
			<td> $linha[uf] </td>
			<td> $linha[cep] </td>
			<td> $linha[pai] </td>
			<td> $linha[mae] </td>
			<td> $linha[dnasc] </td>
			<td> $linha[dent] </td>
			<td> $linha[curso] </td>
			<td> $linha[serie] </td>
			<td> $linha[turma] </td> 
		</tr>";	
}
?>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc trocou na bd o campo tambem por endereco?

 

checa em vez de or die ("Erro ao gravar no Banco de Dados <br>") coloca

or die(mysql_error())

mas primeiro ve no banco dados se vc la mudou o campo

Compartilhar este post


Link para o post
Compartilhar em outros sites

você trocou na bd o campo tambem por endereco?

 

checa em vez de or die ("Erro ao gravar no Banco de Dados <br>") coloca

or die(mysql_error())

mas primeiro ve no banco dados se você la mudou o campo

 

Eu já havia alterado o banco de dados. Tentei trocar o comando, mas o erro continua.

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o erro que da quando vc trocou pelo mysql_error()?

 mysql_query("insert into dadospessoais (matricula, nome, endereco, bairro, cidade, uf, cep, pai, mae, dnasc, dent, curso, serie, turma) values ('$matricula', '$nome', '$endereco', '$bairro', '$cidade', '$uf', '$cep', '$pai', '$mae', '$dnasc', '$dent', '$curso', '$serie', '$turma')") or die ("Erro ao gravar no Banco de Dados <br>");


>>>>>>>>>>>>>>> COLOCA AGORA


 mysql_query("insert into dadospessoais (matricula, nome, endereco, bairro, cidade, uf, cep, pai, mae, dnasc, dent, curso, serie, turma) values ('$matricula', '$nome', '$endereco', '$bairro', '$cidade', '$uf', '$cep', '$pai', '$mae', '$dnasc', '$dent', '$curso', '$serie', '$turma')") or die (mysql_error())

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

qual o erro que da quando você trocou pelo mysql_error()?

 mysql_query("insert into dadospessoais (matricula, nome, endereco, bairro, cidade, uf, cep, pai, mae, dnasc, dent, curso, serie, turma) values ('$matricula', '$nome', '$endereco', '$bairro', '$cidade', '$uf', '$cep', '$pai', '$mae', '$dnasc', '$dent', '$curso', '$serie', '$turma')") or die ("Erro ao gravar no Banco de Dados <br>");


>>>>>>>>>>>>>>> COLOCA AGORA


 mysql_query("insert into dadospessoais (matricula, nome, endereco, bairro, cidade, uf, cep, pai, mae, dnasc, dent, curso, serie, turma) values ('$matricula', '$nome', '$endereco', '$bairro', '$cidade', '$uf', '$cep', '$pai', '$mae', '$dnasc', '$dent', '$curso', '$serie', '$turma')") or die (mysql_error())

Cara, muito obrigado novamente, você ajudou muito. Você acabou me fazendo reconferir tudo (tudo mesmo) e eu vi que estava faltando a coluna 'turma' na BD. (kkkkkkk)

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpem prolongar demais o tópico, sou novo em fóruns, mas é que eu gostaria de saber uma outra coisa. A página de consulta dos dados que estão armazenadas no BD, está aparecendo, mas a tabela não está com as linhas/divisórias aparecendo. Já tentei colocar outras cores, mas só consegui alterar a cor de fundo. E, um outro detalhe, a "tabela" está aparecendo no final da página (depois do rodapé) e, no código, está antes do rodapé da página. Como resolvo esses detalhes?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.