Aide - Recherche - Membres - Calendrier
Version complète : Affichage dans un tableau
Trucs et astuces Express > Aide à la création de site Web > Langage de programmation Web
h2ck3r
Salut a tous! Alors voila, j'ai un petit probleme avec ma messagerie interne...
Je voudrais afficher les liens vers mes messages a lire dans un tableau.

voici mon code pour le moment
CODE
<?php
session_start();
// on vérifie toujours qu'il s'agit d'un membre qui est connecté
if (!isset($_SESSION['login'])) {
   // si ce n'est pas le cas, on le redirige vers l'accueil
   header ('Location: index.php');
   exit();
}
?>

<html>
<head>
<title>Espace membre</title>
</head>

<body>
Bienvenue <?php echo stripslashes(htmlentities(trim($_SESSION['login']))); ?> !<br /><br />
<?php
$base = mysql_connect ('localhost', 'moi', '');
mysql_select_db ('mabase_db', $base);

// on prépare une requete SQL cherchant tous les titres, les dates ainsi que l'auteur des messages pour le membre connecté
$sql = 'SELECT titre, date, membre.login as expediteur, messages.id as id_message FROM messages, membre WHERE id_destinataire="'.$_SESSION['id'].'" AND id_expediteur=membre.id ORDER BY date DESC';
// lancement de la requete SQL
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$nb = mysql_num_rows($req);

if ($nb == 0) {
   echo 'Vous n\'avez aucun message.';
}
else {
   // si on a des messages, on affiche la date, un lien vers la page lire.php ainsi que le titre et l'auteur du message
   while ($data = mysql_fetch_array($req)) {
       echo  $data['date'] , ' - <a href="lire.php?id_message=' , $data['id_message'] , '">' , stripslashes(htmlentities(trim($data['titre']))) , '</a> [ Message de <b>' , stripslashes(htmlentities(trim($data['expediteur']))) , '</b> ]<br />';
   }
}
mysql_free_result($req);
mysql_close();
?>
<br /><a href="envoyer.php">Envoyer un message</a>
<br /><br /><a href="deconnexion.php">Déconnexion</a>
</body>
</html>
Webmaster
C'est pas vraiment un tableau ce que tu fais la, c'est plus des lignes avec des retours de lignes... Ça va donner sensiblement la même chose mais pas en aussi beau vu que des lignes peuvent être plus longue que d'autre donc les colonnes seront toute décalé.

Rien ne t'empêche d'utiliser un vrai tableau la dedans...
h2ck3r
Ok, et peut tu me dire comment fire un vrai tableau avec mes lignes?
C'est la aprtie ou j'ai toujours galéré... Et je ne comprends toujours aps d'ailleur! Peut tu m'aider?
Merci
franber
Bonsoir

tu peux regarder un tutoriel sur html ou examiner la source d'une page web contenant un tableau

ou encore tu peux utiliser par exemple Dreamver ou Nvu pour créer soit un exemple soit directement ton tableau
franber
excusez-moi c'est dreamweaver et pas dreamver
h2ck3r
Oui, merci, je sais quel logiciels utiliser... Mais ce que je demande,c'est pas le code html d'un tabmeau! c'est de pouvoir insérer mon script dans ce tableau, proporement!
Comme je ne suis pas chez moi, je programme avec le bloc-note de windows... (vive l'espoir)
franber
bonsoir,

ok

voilà comment je ferais, je n'ai pas testé les $var1, $var2 et $var3 mais le principe est là
s'il reste un problème de syntaxe, je ferai le test.

<?php
session_start();
// on vérifie toujours qu'il s'agit d'un membre qui est connecté
if (!isset($_SESSION['login'])) {
// si ce n'est pas le cas, on le redirige vers l'accueil
header ('Location: index.php');
exit();
}
?>

<html>
<head>
<title>Espace membre</title>
</head>

<body>
Bienvenue <?php echo stripslashes(htmlentities(trim($_SESSION['login']))); ?> !<br /><br />
<?php
$base = mysql_connect ('localhost', 'moi', '');
mysql_select_db ('mabase_db', $base);

// on prépare une requete SQL cherchant tous les titres, les dates ainsi que l'auteur des messages pour le membre connecté
$sql = 'SELECT titre, date, membre.login as expediteur, messages.id as id_message FROM messages, membre WHERE id_destinataire="'.$_SESSION['id'].'" AND id_expediteur=membre.id ORDER BY date DESC';
// lancement de la requete SQL
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$nb = mysql_num_rows($req);

if ($nb == 0) {
echo 'Vous n\'avez aucun message.';
}
else {
// si on a des messages, on affiche la date, un lien vers la page lire.php ainsi que le titre et l'auteur du message
/********************************************************************************
************************************************/

<table border=1 cellpadding=0 cellspacing=0 frame="box" style="color: #000000;">

<!-- ligne de titre du tableau -->

<tr>
<td class="tit">date</td>
<td class="tit">message </td>
<td class="tit">de<td>
</tr>
<?php
while ($data = mysql_fetch_array($req))
{
$var1=$data['date'];
$var2="<a href=\"lire.php?id_message='".$data['id_message'].\">".stripslashes(htmlentities(trim($data['titre'])))."</a>";
$var3=" Message de ".stripslashes(htmlentities(trim($data['expediteur']))) ;
?>
<tr>
<td class="data">$var1</td>
<td class="data">$var2</td>
<td class="data">$var3</td>
</tr>
<?php
}
?>

</table>
/***********************************************************/
<?php
}
mysql_free_result($req);
mysql_close();
?>
<br /><a href="envoyer.php">Envoyer un message</a>
<br /><br /><a href="deconnexion.php">Déconnexion</a>
</body>
</html>
franber
j'ai oublié ?> avant

<table border=1 cellpadding=0 cellspacing=0 frame="box" style="color: #000000;">
h2ck3r
Oui, merci, mais j'ai réussi entre temps...
voila le code :

CODE
<?php
session_start();
// on vérifie toujours qu'il s'agit d'un membre qui est connecté
if (!isset($_SESSION['login'])) {
   // si ce n'est pas le cas, on le redirige vers l'accueil
   header ('Location: index.php');
   exit();
}
?>
<p align="left">Bienvenue <?php echo stripslashes(htmlentities(trim($_SESSION['login']))); ?> !</p>
<p align="center">
   <?php
mysql_connect("localhost", "h2ck3r", "");
mysql_select_db("h2ck3r_db");

$nb = mysql_num_rows($id_requete);
if ($nb == 0)
{
echo 'Vous n\'avez aucun message.<br/><br/>';
mysql_free_result($id_requete2);
}

$id_requete = mysql_query('SELECT titre, date, membre.login as expediteur, messages.id as id_message FROM messages, membre WHERE id_destinataire="'.$_SESSION['id'].'" AND id_expediteur=membre.id ORDER BY date DESC');

if ($id_requete)
{
echo '<table border="1">'
.'<tr>'
.'<th>Date</th> <th>Message</th> <th>Expéditeur</th>';
while($ligne = mysql_fetch_assoc($id_requete))
{
echo '<tr>'
. '<td><b>' . $ligne['date'] . '<b/></td>'
. '<td><a href="lire.php?id_message=' , $ligne['id_message'] , '">' , stripslashes(htmlentities(trim($ligne['titre']))) , '</a></td>'
. '<td><b>' , stripslashes(htmlentities(trim($ligne['expediteur']))) , '</b></td>';
echo '<tr>';                  
}
echo '</table>';
mysql_free_result($id_requete);
}
mysql_close();
?>
</p>
<br /><a href="envoyer.php">Envoyer un message</a>
<br /><br /><a href="deconnexion.php">Déconnexion</a>


Voila, c'est ce que je voulais faire! merci à vous quand meme
Ceci une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquez ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.