Récupérer valeur sql MVC

nef1912
Invité n'ayant pas de compte PHPfrance

08 avr. 2014, 11:44

Bonjour,

Alors voilà mon problème, j'aimerais connaitre une valeur contenue dans ma table SQL en php. Je m'explique, dans ma table TEST j'ai un champ Regle. Ce champ est un tinyint qui vaut 1 ou 2 (pour l'instant), et j'aimerais effectuer des tests dessus.
Par exemple: si Regle vaut 1 alors .... sinon si Regle vaut 2 alors...
J'utilise l'architecture MVC pour le site et j'avoue être un peu perdu. Je vous mets mes fichiers pour récupérer la valeur.

MODEL
function getRegle($id_idee){
	$db = new db_mysqli();
	$query = "SELECT regle FROM testWHERE id_idee='".$id_idee."'";
	$infos = $db->query($query);
	return $infos;
}
CONTROLLER
if($_GET['_action_'] == 'validate') {
		$regle = getRegle($_GET['_id_']);
		validateIdee($_GET['_id_']);
		header('location:'.HTTP_PATH."idee/");
	}
Et donc comment faire le test de valeur et comment l'afficher dans ma vue?

Merci d'avance, :)

Cordialement,

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

08 avr. 2014, 18:30

salut,

Le test c'est dans le contrôleur, sauf s'il s'agit d'une problématique d'affichage (genre si règle =2 le fond est vert sinon rouge).

ensuite ton code ne retourne pas une valeur mais un objet mysqli_result.
il te faut utiliser une des méthode fetch_* dessus.

et retourner la valeur et pas le mysqli_result.

pour info c'est pas top de faire une connexion dans une fonction il est préférable de faire connexion une seule fois et de la fournir à l’utilisation.


@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 571 Messages

08 avr. 2014, 19:12

voici un article sur le pattern MVC mcv

nef1912
Invité n'ayant pas de compte PHPfrance

09 avr. 2014, 08:35

Bonjour,

Merci de vos réponses :)
Ok je vais faire comme ça moogli, et je vais tâcher de faire la connexion une seule fois et de l'appeler. merci du conseil.

Et je vais jeter un oeil sur l'article.

Cordialement,

Eléphanteau du PHP | 12 Messages

09 avr. 2014, 08:42

Bonjour,

Petit détail qui ne doit pas être important mais bon, sait on jamais : dans ta requête le nom de ta table est collé à la clause WHERE.

Je suis capable de perdre pas mal de temps dessus, donc je préfère le dire ^^'

Bonne journée !