Page 1 sur 1

class MySQLi: affichage des resultats

Posté : 28 mai 2011, 19:11
par rimie1
Bonjour!

J'ai fait une class MySQLi pour connexion base de donnee, et j'ai voulu afficher les resultats differement, voila mon code:
<?php
function select($champs, $table)
{
$selection = "SELECT $this->champs FROM $this->table";
}

$cl->select('nom', 'prenom', 'PremiereTable');
$cl->select('ecole', 'lycee', 'adresse', 'DeuxiemeTable');

// la fonction d'affichage
//PremiereTable
function affichage()
		{	               	
        	while($row = $this->result->fetch_object())
        	{
echo $row->nom.': ';
echo $row->prenom.'<br>';
}
} 

//DeuxiemeTable
function affichage()
		{	               	
        	while($row = $this->result->fetch_object())
        	{
echo 'etudie a l ecole: '.$row->ecole.': '.$row->lycee.' a l adresse suivante: '.$row->adresse.'<br>';
?>
je fais ce bout de code pour afficher mes resultats:
<?php
include 'class.php';

$r = new Connect($db_host, $db_user, $db_passwd);
$r->db($_db);
$r->requete('SELECT', '*', 'etudiants');


while($row = $this->result->fetch_object())
        	{
        		echo '<font color="red">'.$row->nom.'</font><br>';
        		echo '<pre>'.$row->prenom.'</pre>';
        	}
?>

ca me donne l'erreur suivante:
Fatal error: Using $this when not in object context in index.php on line 21
merci pour votre aide

Re: class MySQLi: affichage des resultats

Posté : 29 mai 2011, 09:17
par Cyrano
Salut,
« $this » fait référence à l'instance de l'objet lui-même. Là, tu l'as utilisé en dehors de la classe dans ta boucle while au lieu d'utiliser la bonne référence que tu as créée quelques lignes avant en instanciant ta classe dans la variable « $r » : il conviendrait donc de remplacer « $row = $this->result » par « $row = $r->result »

Re: class MySQLi: affichage des resultats

Posté : 29 mai 2011, 10:46
par rimie1
merci Cyrano, quand je l'utilisais au sein de classe ca marche parfaitement, en dehors je devais utiliser la variable d'instanciation, nouvelle chose a apprendre:
while($row = $r->result->fetch_object())
merci

Re: class MySQLi: affichage des resultats

Posté : 29 mai 2011, 10:48
par Cyrano
Pas de quoi, tu peux marquer le sujet comme [Résolu] :)

Re: class MySQLi: affichage des resultats

Posté : 29 mai 2011, 11:36
par rimie1
je vais m'inscrire dans ce forum afin de marquer mes sujets en RESOLU

Re: class MySQLi: affichage des resultats

Posté : 29 mai 2011, 11:48
par rimie
voila maintenant c'est bon