Bonjour,

je ne suis pas trés calé en developpement et j'aurai besoin de vos conseille !

Je suis entrain de créer un site en php/mysql poo/mvc voici tout d'abord mes codes :


page liremessage.php
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
 
<?php
$ret = controleur::LireMessage($id)
?>
<div>
	<form action="">
		<table>
			<?php foreach ($ret as $info ){?>
			<tr>
				<td>Expéditeur : <?php echo $info["nom"]?></td>
			</tr>
			<tr>
				<td>Sujet : <?php echo $info["sujet"]?></td>
			</tr>
			<tr>
				<td>Date : <?php echo $info["date"]?></td>
			</tr>
			<tr>
				<td>Message : <?php echo $info["message"]?></td>
			</tr>
			<?php }?>
		</table>
	</form>
</div>
page controleur.php
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
 
class controleur
{
        function LireMessage($id)
	{
		$ret = sql::RecupererMessage($id);
		$i=0;
		while ($row = mysql_fetch_assoc($ret))
		{
			$rep[$i]["id"]      		= $row["id"];
			$rep[$i]["nom"]   		= $row["expediteur"];
			$rep[$i]["date"]      		= $row["date"];
			$rep[$i]["message"]   		= $row["message"];
		} 	
 
		return $rep;
	}
}
page bdd.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
class sql
{        
        function RecupererMessage($id)
	{
		$connect = sql::connexionSQL();
		$req = "Select * FROM messagerie WHERE id = '$id'";
		echo $req;   // elle sera afficher plus bas avec l'erreur
		$ret = mysql_query($req, $connect);
 
		return $ret;
	}
}
et ma page acceuil.php contient un switch qui recupere le nom de page et qui traite en fonction ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
case "lireMess" :
	controleur::LireMessage($_GET["id"]);
	include 'vue/lire_message.php';	
break;

Alors voila mon probleme quand je clique sur le message en question je recupere bien le bon message mais ma requete s'execute deux fois et m'affiche un message d'erreur :

Select * FROM messagerie WHERE id = '7'Select * FROM messagerie WHERE id = ''

Warning: Invalid argument supplied for foreach() in D:\programme\wamp\www\hopital\hopitalmvc\vue\lire_message.php on line 7

Merci d'avance pour votre aide et vos suggestions