Affichage de données
Posté : 07 août 2007, 14:43
Bonjour,
Je voudrais faire une messagerie pour mes membres, j'ai le code pour afficher mes message mais celui-ci dit toujours qu'il n'y en à pas alors que si, pour trouver les messages de chaque membre, lorsque le membre va dans sa messagerie, il doir séléctionner le pseudo du membre dans la table membres et séléctionner les messages que ce membre à reçu donc avec ce même pseudo le script devrais afficher que les messages de ce membre !
Voici mon script:
Je voudrais faire une messagerie pour mes membres, j'ai le code pour afficher mes message mais celui-ci dit toujours qu'il n'y en à pas alors que si, pour trouver les messages de chaque membre, lorsque le membre va dans sa messagerie, il doir séléctionner le pseudo du membre dans la table membres et séléctionner les messages que ce membre à reçu donc avec ce même pseudo le script devrais afficher que les messages de ce membre !
Voici mon script:
<?php
echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr" />
<title></title>
<meta name="description" content="" />
<meta name="keywords" content="" />
<meta name="author" content="Bazonnet Benjamin" />
<meta name="generator" content="L'Equipe de Mon Hôtel Virtuel" />
<meta http-equiv="imagetoolbar" content="no" />
<meta http-equiv="Pragma" content="no-cache" />
<style type="text/css">
/* <![CDATA[ */
body {
color: #000;
background-color: #efefef;
font-family: verdana, helvetica, sans-serif;
font-size: 80% !important;
}
p.situation {
text-align: right;
padding: 1em;
}
p.navigation {
text-align: center;
font-size: 0.85em;
text-decoration: underline;
}
p.date_nouv {
float: right;
font-size: 0.85em;
}
/* ]]> */
</style>
</head>
<body>
<?php
/**
Commençons par fixer les paramètres :
*/
/* Paramètres de connexion */
$admin_bd = "***************"; /* Le pseudonyme permettant à l'administrateur de se connecter */
$mdp_bd = "**************"; /* Le mot d passe de l'administrateur de base de données */
serveur_bd = "*****************"; /* L'adresse du serveur de base de données */
$base_bd = "****************"; /* La base de données où sont enregistrées les informations */
/* Paramètres de pagination */
$nb_message_par_page = 20; /* Nombre de messages par page */
$url = "./mess_recept.php?id=$id&page=";
/* On détermine quelle est la page qui est actuellement affichée */
$page_en_cours = isset($_GET['page']) ? $_GET['page'] : 0;
$page_affichee = ($page_en_cours + 1);
/* Connexion au serveur de base de données */
$connexion = mysql_pconnect($serveur_bd, $admin_bd, $mdp_bd);
mysql_select_db($base_bd);
$resultat_sql = mysql_query("select * from membres WHERE id=\"$id\"");
/* Requête pour compter les messages présents dans notre base de données */
$sql_nb = "SELECT COUNT(*) FROM `messagerie` WHERE pseudo=\"$pseudo\"";
/* Exécution de la requête et récupération du résultat */
$resultat_1 = mysql_query($sql_nb);
$nb_messages = mysql_result($resultat_1, 0);
/* Calcul du nombre total de pages : on arrondit à l'entier supérieur (ceil() ) */
$nb_pages = ceil($nb_messages / $nb_messages_par_page);
/**
Nous disposons maintenant de suffisament d'éléments pour créer notre barre de navigation.
Première chose à vérifier : avons-nous plusieurs pages, et au moins une ?
*/
if($nb_pages > 0)
{
/* On définit une variable qui contiendra les données de navigation */
$barre_nav = "";
/* Nous avons au moins une page : avons nous besoin d'une barre de navigation ? */
if($nb_pages > 1)
{
/**
Nous avons plusieurs pages: nous allons afficher successivement les liens vers
les pages précédentes s'il y en a, la page en cours et les liens vers les pages
suivantes. Nous aurons une barre sous la forme : 1 | 2 | 3 etc.. en liens clicables
sauf pour la page en cours dont nous mettrons le chiffre en gras
*/
if($page_en_cours > 0)
{
for($i = 0; $i < $page_en_cours; $i++)
{
$p = $i + 1;
$barre_nav .= "<a href=\"". $url . $i ."\" title=\"page ". $p ."\">". $p ."</a> | ";
}
}
/**
On affiche la page en cours : notez le (+ 1) : pour les calculs, nous partons d'une
page 0 mais pour l'internaute, il est préférable de commencer à la page 1, donc on incrémente
*/
$barre_nav .= "<strong>". $page_affichee ."</strong>";
/* Enfin on affiche (s'il y a lieu) les liens vers les pages suivantes */
if(($page_affichee) < $nb_pages)
{
/* Il reste encore d'autres pages à afficher */
$nb_suivantes = $nb_pages - ($page_affichee);
for($j = ($page_affichee); $j < $nb_pages; $j++)
{
$p = $j + 1;
$barre_nav .= " | <a href=\"". $url . $j ."\" title=\"page ". $p ."\">". $p ."</a>";
}
}
/* On peut définir en plus la situation dans une autre variable à afficher ailleurs */
$page_affichee = "Page ". $page_affichee ." sur un total de ". $nb_pages ." pages.";
}
else
{
/* Nous n'avons qu'une seule page, on peut se contenter d'afficher juste page 1/1 */
$barre_nav .= "page 1/1";
}
/**
On peut maintenant afficher notre page. On va commencer par récupérer les informations
On doit définir à partir de quelle nouvelle on doit récupérer les données dans la clause LIMIT.
*/
$debut = $page_en_cours * $nb_messages_par_page;
$sql_n = "SELECT * FROM messagerie LIMIT ". $debut .", ". $nb_messages_par_page .";";
$nouvelles = mysql_query($sql_n);
?>
<p class="situation"><?php echo($page_affichee); ?></p>
<?php
while($mess = mysql_fetch_assoc($nouvelles))
{
?>
<td id="table_1_R01C01" style="width:33%; height:50%; vertical-align: top; padding:1px 4px 1px 4px; border:1px solid #4a4141; background-color:#ffffcc; /* CellStyle */" __AddCode="here">
<P class="Normal-P"><span class="Default-Paragraph-Font-C">DATE</span></P>
</td>
<td id="table_1_R01C02" style="width:33%; height:50%; vertical-align: top; padding:1px 4px 1px 4px; border:1px solid #4a4141; background-color:#ffffcc; /* CellStyle */" __AddCode="here">
<P class="Normal-P"><span class="Default-Paragraph-Font-C">EXPÉDITEUR</span></P>
</td>
<td id="table_1_R01C03" style="width:33%; height:50%; vertical-align: top; padding:1px 4px 1px 4px; border:1px solid #4a4141; background-color:#ffffcc; /* CellStyle */" __AddCode="here">
<P class="Normal-P"><span class="Default-Paragraph-Font-C">SUJET</span></P>
</td>
<td id="table_1_R02C01" style="width:33%; height:49%; vertical-align: top; padding:1px 4px 1px 4px; border:1px solid #4a4141; background-color:#ffffff; /* CellStyle */" __AddCode="here">
<P class="Normal-P"><span class="Default-Paragraph-Font-C"><?php echo $mess['date']; ?></span></P>
</td>
<td id="table_1_R02C02" style="width:33%; height:49%; vertical-align: top; padding:1px 4px 1px 4px; border:1px solid #4a4141; background-color:#ffffff; /* CellStyle */" __AddCode="here">
<P class="Normal-P"><span class="Default-Paragraph-Font-C"><?php echo $mess['pseudo_expediteur']; ?></span></P>
</td>
<td id="table_1_R02C03" style="width:33%; height:49%; vertical-align: top; padding:1px 4px 1px 4px; border:1px solid #4a4141; background-color:#ffffff; /* CellStyle */" __AddCode="here">
<P class="Normal-P"><span class="Default-Paragraph-Font-C"><a href="message.php?id=<? echo "$id"; ?>&id_message=<? echo "$id_message"; ?>"<?php echo $mess['sujet']; ?></a></span></P>
</td>
<?php
}
/* on libère la mémoire */
mysql_free_result($resultat_1);
mysql_free_result($hotels);
/* On peut fermer la connexion à MySQL */
mysql_close($connexion);
/* On affiche maintenant la barre de navigation */
?>
<p class="navigation"><?php echo($barre_nav); ?></p>
<?php
}
else
{
/**
Nous n'avons aucune page, on peut alors afficher un message autre
sans devoir nous préoccuper de la navigation
*/
?>
<h3>Vous n'avez aucun Message - Boîte de Réception Vide</h3>
<hr />
<?php
}
?>
</body>
</html>
Merci d'avance pour votre aide !