Bonsoir,

Je commence la POO et je trouve ça génial, mais j'ai encore quelques petits soucis que je n'arrive pas à régler.

Voici mon problème : j'aimerai afficher ma variable $erreur en cas de problème dans le script, mais quand il y a effectivement un problème, elle n'affiche rien.
Je ne comprends pas pourquoi.

Voici ma classe principale :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
<?php
class Article {
 
	/* Variables de retour */
	/// Retourne la valeur de la requete SQL pour un article
	public $articleSQL;
	public $erreur;
 
	/* Objet pour se connecter a la BDD */
    protected $ressource;
 
    public function __construct($ressource) {
        $this->ressource = $ressource;
    }
 
    public function getArticle($id) {
 
    	if (is_int($id)) {
    		$requeteSQL = 'SELECT * FROM articles WHERE art_id=' .$id;
    		$this->ressource->connexion();
    		$this->ressource->requete($requeteSQL);
    		$this->articleSQL = $this->ressource->retourSQLRequete;
    		$this->ressource->deconnexion();
 
    		if ($this->articleSQL) {
    			return TRUE;
    		}
    		else {
    			$erreur = 'Erreur dans le traitement de la requete';
    			$this->erreur = $erreur;
    			return FALSE;
    		}		
    	}
    	else {
    		$erreur = 'Veuillez indiquer un id valide';
    		$this->erreur = $erreur;
    		return FALSE;
    	}
    }
 
}
?php
Cette classe utilise une autre classe qui se charge des requetes sur la BDD :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
<?php
class Ressource {
	public function requete($requeteSQL) {
 
		if (isSet($requeteSQL)) {
			$retourSQLRequete = mysql_query($requeteSQL);
			$this->retourSQLRequete = $retourSQLRequete;
			return TRUE;
		}
		else {
			$erreur = 'Veuillez indiquer une requete valide';
			$this->erreur = $erreur;
			return FALSE;
		}
	}
}
?>
Voici enfin le code qui fait appel à la classe Article :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<?php
$article = new Article(new Ressource());
$article->getArticle(50);
 
if ($articleDisplay = mysql_fetch_array($article->articleSQL)) {
 
	echo $articleDisplay['art_titre'];
}
else {
	echo $article->erreur;
}
?>
J'ai bien sur inclue les classes avant.

Donc quand je cherche un article dont l'id ($id) existe dans la BDD, il m'affiche mon titre, mais quand je tape un id qui n'existe pas, il n'affiche rien pas même l'erreur que je voudrais pourtant voir affichée.


Merci d'avance, OyoKooN.