Bonjour.

je suis débutant avec le MVC et j'ai un ptit problème.

voila le contenu du fichier controleur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<?php
//On inclut le modèle
include dirname(__FILE__).'/../models/models.php';

//On récupère les valeurs test
$mavaleur = liste_test();

//On inclut la vue
include dirname(__FILE__).'/../views/views.php';
?>
voila le contenu du fichier modele
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
function liste_test(){
	$mavaleur = array();
		
	$resultats=$connexion->query("SELECT * from test");
	while($ligne = $resultats->fetch(PDO::FETCH_ASSOC)){
		$mavaleur[] = $ligne;
	}
	$resultats->closeCursor();
	
	return $mavaleur;
}
et ma vue
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
foreach($mavaleur as $n){
    echo $n[id].' test '.$n[content].'<br />';
}
le problème vient du modele et du controleur.
quand j'utilise la fonction qui est dans le modele j'ai deux erreurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Notice: Undefined variable: connexion
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Fatal error: Call to a member function query() on a non-object
mais quand je ne passe pas par un modele
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
<?php
//On inclut le modèle
include dirname(__FILE__).'/../models/models.php';

//On récupère les valeurs test
$mavaleur = array();
		
	$resultats=$connexion->query("SELECT * from test");
	while($ligne = $resultats->fetch(PDO::FETCH_ASSOC)){
		$mavaleur[] = $ligne;
	}
	$resultats->closeCursor();

//On inclut la vue
include dirname(__FILE__).'/../views/views.php';
?>
et bien tout fonctionne.

au debut j'ai pensé a un probleme avec mon fichier modele et j'ai mit directement la fonction liste_test dans le controleur pour voir. et tjs la meme erreur.
je ne comprend pas pourquoi la PDO ne passe pas en passant par une fonction.