Ir para conteúdo

POWERED BY:

Arquivado

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

luizmtz

[Resolvido] Select 2

Recommended Posts

E ae pessoal beleza?

 

to com uma dúvida aki...

 

Tipo tenho um banco de dados com as notas dos alunos da escola, entao quando o aluno logar com sua matricula e com o seu nome tenho q fazer um select no banco de dados, porem esta dando erro, nao aparece as notas q estao no banco...

 

Matricula (id=login)

Nome(id=senha)

O codigo do select:

<?
include("verifica.php");
include("configuracao.php");

$db = mysql_connect ($host, $login_db, $senha_db);
$basedados = mysql_select_db($database);

$usuario = mysql_query("SELECT * FROM notas WHERE login='$login'") or print (mysql_error());
while($linha = mysql_fetch_array($usuario)){
$matematicabanco = $linha["matematica"];
$biologiabanco = $linha["biologia"];
}
?>
<html>
<head>
<title>Página de notas</title>
</head>

<body>

<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Matematica: <b><? echo $matematicabanco ?></b><br>
<br>
      <div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Biologia <b><? echo $biologiabanco  ?></b><br>

<br>
Menu de tarefas:<br>
<a href="meus_dados.php">Ver Meus Dados</a> - <a href="alt_dados.php">Alterar Meus Dados</a> - <a href="logout.php">Sair</a></font></div>

</body>
</html>

-------------

 

Desde já agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz o seguinte:

$usuario = mysql_query("SELECT * FROM notas WHERE login='$login'") or die (mysql_error());
$linha = mysql_fetch_assoc($usuario);
?>
e:

<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Matematica: <b>
<?php echo $linha['matematica']; ?></b><br>
<br />
<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Biologia <b>
<?php echo $linha['biologia'];  ?></b><br>
De onde supostamente vem a variavel $login ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz o seguinte:

$usuario = mysql_query("SELECT * FROM notas WHERE login='$login'") or die (mysql_error());
$linha = mysql_fetch_assoc($usuario);
?>
e:

<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Matematica: <b>
<?php echo $linha['matematica']; ?></b><br>
<br />
<div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Biologia <b>
<?php echo $linha['biologia'];  ?></b><br>
De onde supostamente vem a variavel $login ??

 

Fiz isso ae e continua sem mostrar o resultado do select...

 

$login = o numero da matricula do aluno....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas apareceu algum erro na tela? qual ?

 

e de onde vem $login ??

nessa pagina você nao criou essa variavel..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não aparece nenhum erro so nao mostra o resultado do select!

 

onde era para aparecer os dados do banco de dados, os espaços ficam em branco...

 

$login é a matricula q o usuario usa para entrar na pagina...

 

 

o aluno coloca os dados no formulario, ae o furm. envia os dados:

 

<?
include "configuracao.php";

$db = mysql_connect ($host, $login_db, $senha_db);
$basedados = mysql_select_db($database);

$resultado = mysql_query("SELECT login, senha FROM notas WHERE login='$login' AND senha='$senha'") or print (mysql_error());
while($linha = mysql_fetch_array($resultado)){
$loginbanco = $linha["login"];
$senhabanco = $linha["senha"];
}
if($loginbanco == $login AND $senhabanco == $senha){
session_register(login);
session_register(senha);
header("Location: notas.php");
}
else{
echo
"
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=matricula.php'>
<script type=\"text/javascript\">
alert(\"Erro: Usuário ou senha inválidos!\");
</script>
";
}
?>

e depois entra a parte do select.

 

Usei o mesmo codigo para o sistema de login e funciona...

 

 

Esse é o site com todo o sistema

Compartilhar este post


Link para o post
Compartilhar em outros sites

A variavel $login só fica armazenada na memória, para a página direcionada pelo formulário...

No caso o processamento do login...

Talvez seja melhor você armazenar a $login em um session na hora do login para recuperalá depois...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra te mostrar oque ta acontecendo.. faca isso aqui:

$sql = "SELECT * FROM notas WHERE login='$login'";
echo $sql.'<br />';
$usuario = mysql_query( $sql ) or die (mysql_error());

O teu servidor esta com register_globals On ?

isso eh ruim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra te mostrar oque ta acontecendo.. faca isso aqui:

$sql = "SELECT * FROM notas WHERE login='$login'";
echo $sql.'<br />';
$usuario = mysql_query( $sql ) or die (mysql_error());

O teu servidor esta com register_globals On ?

isso eh ruim.

 

Agora apareceu isso aki : SELECT * FROM notas WHERE login='lcladeira'

 

tah = o login q eu usei em outra pagina...

 

sera q se eu mudar para

$usuario = mysql_query("SELECT * FROM notas WHERE login='$matricula'") or die (mysql_error());
$linha = mysql_fetch_assoc($usuario);
?>

vai dar certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se $matricula estiver recebendo valor que possibilite uma pesquisa (não em branco) teria que funcionar. Isso é claro, levando em conta a idéia de seu código estar se conectando normalmente ao banco de dados.

O que você fez aí foi só modificar os nomes das variaveis.

Você não está, nesse ultimo exemplo, correndo os resultados no laço. Isso faria com que você mostrasse apenas uma linha.

Quando você executou o

echo $sql
, ao aparecer a query na tela, seria uma boa você tentar rodar ela direto no console do banco pra ver se te traz resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu pela ajuda ae pessoal!

 

Consegui resolver aki...

 

a questao era q quando eu passava para a outra pagina a seção estava continuando, entao tive q destruir a seção antes de passar para a outra pagina!

 

Abrss

 

---

 

Resolvido

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao na verdade, o causador de tudo isso era:

O teu servidor esta com register_globals On ?

isso eh ruim.

 

:lol:

 

Procure usar os arrays super globais..

$_SERVER, $_POST, $_GET..

 

Por esse motivo( o teu problema nesse topico ), e outros, eh que essa diretiva sera desligada em futuras versoes do php.

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.