Aide requete sql

Résolu/Fermé
Utilisateur anonyme - 23 nov. 2008 à 18:08
 Utilisateur anonyme - 24 nov. 2008 à 15:49
Bonjour,

Je code un script qui permet d'envoyer et lire des messages en interne dans le site web donc pour aller lire le message je fais un lien dans un tableau :

// Fichier messages.php

<table width="804" height="73" style="border:medium #069 solid;">
<tr>
<th width="41" height="40">Suppr</th>
<th width="470">Titre</th>
<th width="151">De</th>
<th width="120">A</th>
</tr>


<?php
mysql_select_db('webpourlesnuls');

$msg = mysql_query ("SELECT * FROM contact WHERE destination='" . $_SESSION['MM_Username'] . "'");

while ($donnees = mysql_fetch_array($msg))
{
?>
<tr>
<td><center><a href="messages.php?id=<?php echo $donnees['id']; ?>">DEL</a></center></td>
<td><center><a href="liremsg.php?titre=<?php echo $donnees['titre']; ?>&date=<?php echo $donnees['date']; ?>"><?php echo $donnees['titre']; ?></a></center></td>
<td><center><?php echo $donnees['pseudo']; ?></center></td>
<td><center><?php echo $donnees['destination']; ?></center></td>
</tr>
<?php
}
?>
</table>

// Fin du document

Les données sont bien affichés .Le $_SESSION['MM_Username'] correspond au nom de l'utilisateur récupérer par le biais d'un script de restriction de page. Le lien vers messages.php c'est pour supprimer le message et ça marche très bien. Le problème c'est le lien vers liremsg.php avec lequel j'envoie les données du message pour les filtrer avec le requête sql dans le fichier liremsg.php voici les lignes :

// Fichier liremsg.php

if (isset($_GET['date']) && isset($_GET['titre'])) // Vérification de l'existence des paramètres d'URL
{
if (is_numeric($_GET['date'])) // Vérification que la date est bien un nombre
{
$_GET['date'] = strip_tags(mysql_real_escape_string($_GET['date'])); // Protection des variables
$_GET['titre'] = strip_tags(mysql_real_escape_string($_GET['titre']));
$date = $_GET['date']; // Les mettre dans des variables
$destinataire = $_SESSION['MM_Username'];
$titre = $_GET['titre'];
}
else
{
echo 'ERREUR : Id du paramètre d\'URL incorrect';
}

$query = mysql_query("SELECT * FROM contact WHERE titre='" . $titre . "' AND destination='" . $destinataire . "'"); /* Je met les données que j'ai récupéré dans la requête avec un WHERE et la destination pour s'assurer que le membre ne lise pas les messages d'un autre
*/
}
?>

// Ensuite je les affiches

<p>Titre : <?php echo $query['titre']; ?></p>
<p>Expéditeur : <?php echo $query['pseudo']; ?></p>
<p>Date : <?php echo date ('d/m/Y H:i:s',$query['date']); ?></p>
<p>Contenu : </p><p><?php echo $query['contenu']; ?></p>

// Fin du document

Le problème c'est que ça n'affiche rien. J'ai fais un echo pour voir si il y a avait bien quelque chose dans les variables et je voyait bien les informations. J'ai bien vérifier s'il n'y avait pas d'erreur de concaténation. J'ai verifier si les données était bien dans la base.
Alors je ne voit pas d'où ça vient.

Merci pour les réponses

2 réponses

muska92 Messages postés 277 Date d'inscription lundi 14 février 2005 Statut Membre Dernière intervention 14 août 2009 42
23 nov. 2008 à 18:57
bonsoir essai plutôt ça :


$req = mysql_query("SELECT * FROM contact WHERE titre='" . $titre . "' AND destination='" . $destinataire . "'");


$query = mysql_fetch_array($req);
0
Utilisateur anonyme
24 nov. 2008 à 15:49
C'est ça je croyait que les fetch_array c'était quand on avait plusieurs enregistrements. Merci pour la réponse
0