bem,dessa vez,queria saber porque não consigo retornar os valores da minha consulta. O sql me mostra que tem os usuários certinho,porém,não consigo mostrar informações sobre eles.
só q agora,eu criei uma classe,porque farei isso mts vezes e fica embaçado ter q fazer isso o tempo td.
O problema,acho que está na configuração da Classe.
CLASSE:
<?php
require ('db.php'); //Requirindo conexão ao SQL
class User{ //Definindo a classe User
var $id_usuario;
var $nome;
var $login;
var $senha;
var $esta_salvo;
function __construct($id_usuario){ //Função com base na chave primária do id_usuario
global $link;
$sql = "SELECT nome, login, senha FROM usuarios WHERE id_usuario = '$id_usuario';";
$query = $this->link->mysql_query($sql);
if($query->mysql_num_rows>0){
$info = $query->mysql_fetch_object($sql);
$this->nome = $info->nome;
$this->login = $info->login;
$this->senha = $info->senha;
$this->id_usuario = $id_usuario;
}
}
function salva(){
global $link;
//$this->link = $link;
if(!$this->esta_salvo){
$link = mysql_query("INSERT INTO usuarios( id_usuario, nome, login, senha ) VALUES ( 'NULL', '$this->nome', '$this->login', '$this->senha');");
echo "<p align=center><font color=#CC0000>*DADOS CADASTRADOS CORRETAMENTE</font></p>";
}else{
$link = mysql_query("UPDATE usuarios SET nome = '$this->nome', login='$this->login', senha='$this->senha', WHERE id_usuario = $this->id_usuario;");
echo "<p align=center><font color=#CC0000>*DADOS ATUALIZADOS CORRETAMENTE</font></p>";
}
}
function deleta($id_usuario){
global $link;
//$this->link = $link;
$link = mysql_query("DELETE FROM usuarios WHERE id_usuario = '$id_usuario';");
echo "<p align=center><font color=#CC0000>DADOS EXCLUIDOS CORRETAMENTE</font></p>";
}
function lista(){
global $link;
//$this->link = $link;
$sql = mysql_query("SELECT id_usuario, nome, login FROM usuarios");
while($registro = mysql_fetch_object($sql)){
$usuario[] = new User($registro->id_usuario);
}
return $usuario;
}
}
?>
Pergunta
Carlohcs
bem,dessa vez,queria saber porque não consigo retornar os valores da minha consulta. O sql me mostra que tem os usuários certinho,porém,não consigo mostrar informações sobre eles.
na maneira convencional eu sei fazer :
<?php $consulta = "SELECT * FROM usuarios"; $resultado = mysql_query($consulta); while($linha = mysql_fetch_object($resultado)){ echo "Nome: $linha->nome"; } ?>só q agora,eu criei uma classe,porque farei isso mts vezes e fica embaçado ter q fazer isso o tempo td. O problema,acho que está na configuração da Classe. CLASSE:<?php require ('db.php'); //Requirindo conexão ao SQL class User{ //Definindo a classe User var $id_usuario; var $nome; var $login; var $senha; var $esta_salvo; function __construct($id_usuario){ //Função com base na chave primária do id_usuario global $link; $sql = "SELECT nome, login, senha FROM usuarios WHERE id_usuario = '$id_usuario';"; $query = $this->link->mysql_query($sql); if($query->mysql_num_rows>0){ $info = $query->mysql_fetch_object($sql); $this->nome = $info->nome; $this->login = $info->login; $this->senha = $info->senha; $this->id_usuario = $id_usuario; } } function salva(){ global $link; //$this->link = $link; if(!$this->esta_salvo){ $link = mysql_query("INSERT INTO usuarios( id_usuario, nome, login, senha ) VALUES ( 'NULL', '$this->nome', '$this->login', '$this->senha');"); echo "<p align=center><font color=#CC0000>*DADOS CADASTRADOS CORRETAMENTE</font></p>"; }else{ $link = mysql_query("UPDATE usuarios SET nome = '$this->nome', login='$this->login', senha='$this->senha', WHERE id_usuario = $this->id_usuario;"); echo "<p align=center><font color=#CC0000>*DADOS ATUALIZADOS CORRETAMENTE</font></p>"; } } function deleta($id_usuario){ global $link; //$this->link = $link; $link = mysql_query("DELETE FROM usuarios WHERE id_usuario = '$id_usuario';"); echo "<p align=center><font color=#CC0000>DADOS EXCLUIDOS CORRETAMENTE</font></p>"; } function lista(){ global $link; //$this->link = $link; $sql = mysql_query("SELECT id_usuario, nome, login FROM usuarios"); while($registro = mysql_fetch_object($sql)){ $usuario[] = new User($registro->id_usuario); } return $usuario; } } ?>Página q mostro os dados:<html> <head> <link rel="stylesheet" href="default.css" type="text/css"> </head> <body> <div id="custom"> <?php require ('conf.php'); foreach(User::lista() as $registro){ echo "<table border=1 widht=100% align=center>"; echo "<tr> <th width=5px><font color=#CC0000>Id_usuario</font></th> <th width=200px><font color=#CC0000>Nome</font></th> <th width=200px><font color=#CC0000>Login</font></th> </tr> <tr> <td>$registro->id_usuario</td> <td>$registro->nome</td> <td>$registro->login</td> </tr></table>"; } ?> <p align="center"><a href="cadastra.php">CADASTRO</a></p> <br> </div> </body> </html>o que estou fazendo de errado?
até mais,falou.
Link para o comentário
Compartilhar em outros sites
6 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.