IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

php/mysql requete s'executant deux fois [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 73
    Points : 46
    Points
    46
    Par défaut php/mysql requete s'executant deux fois
    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

  2. #2
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    le problème est dans accueil.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        controleur::LireMessage($_GET["id"]);
        include 'vue/lire_message.php';
    la 1re ligne fait le 1er appel à la requête
    et ensuite la 2e ligne appel l'affichage où tu refais l'appel à la requête avec une variable $id qui n'existe pas

    je te propose d'enlever l'appel dans le fichier accueil.php et ensuite tu mets "controleur::LireMessage($_GET["id"]);" dans le fichier lire_message.php
    GNAP !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 73
    Points : 46
    Points
    46
    Par défaut
    ok ca marche tres bien merci encore du coup de main

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Button OnClick s'execute deux fois de suite
    Par ToxiZz dans le forum ASP.NET
    Réponses: 2
    Dernier message: 06/06/2007, 08h59
  2. [PHP/MySql] requete complexe
    Par jfrag dans le forum Requêtes
    Réponses: 5
    Dernier message: 26/09/2006, 10h16
  3. [php-mysql] Requete gros traitements
    Par antrax2013 dans le forum Requêtes
    Réponses: 4
    Dernier message: 24/08/2006, 12h32
  4. application php+mysql de gestion executable
    Par kephrem dans le forum SQL Procédural
    Réponses: 8
    Dernier message: 03/02/2006, 09h55
  5. [SQL] Requete me renvoyant deux fois le meme nom
    Par Pepito dans le forum Langage SQL
    Réponses: 9
    Dernier message: 14/10/2005, 14h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo