affichage tableau

Petit nouveau ! | 4 Messages

29 avr. 2007, 00:03

bonjour, je me débute a la programmation web et j'ai réaliseé un petit script qui permet d'afficher dans un tableau (que je viens de définir)le contenu d'une table mais je trouve que le dernier enregistement de la table s'affiche seul alors que la table contient plus que 20 enregistrement,voila je presente le script j'attend un coup de main pour afficher tout les enregistrement,merci.

<?php
$connect = mysql_connect('localhost','root','') or die ("erreur de connexion");
mysql_select_db('tacapes',$connect) or die ("erreur de connexion base");
$result = mysql_query("SELECT * from contact");


while ( $cols = mysql_fetch_array($result))
{
$id=$cols['id'];
$nom=$cols['nom'];
$email=$cols['email'];
$message=$cols['message'];
$sujet=$cols['sujet'];


}
mysql_close()
?>
<table width="81%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>id</td>
<td>nom</td>
<td>email</td>
<td>sujet</td>
<td>message</td>
</tr>
<tr>
<td><p><?php echo $id; ?></p></td>
<td><?php echo $nom; ?></td>
<td><?php echo $email; ?></td>
<td><? echo $sujet; ?></td>
<td><?php echo $message; ?></td>
</tr>
<tr>
<td><p><?php echo $id; ?></p></td>
<td><?php echo $nom; ?></td>
<td><?php echo $email; ?></td>
<td><? echo $sujet; ?></td>
<td><?php echo $message; ?></td>
</tr>

</table>

Mammouth du PHP | 686 Messages

29 avr. 2007, 00:20

tu doit intègrer ton autre code dans ta boucle where

Mammouth du PHP | 686 Messages

29 avr. 2007, 00:27

oublies pas lorsque tu poste du code PHP de cliquer sur le bouton PHP
<?php 
$connect = mysql_connect('localhost','root','') or die ("erreur de connexion"); 
mysql_select_db('tacapes',$connect) or die ("erreur de connexion base"); 
$result = mysql_query("SELECT * from contact"); 


while ( $cols = mysql_fetch_array($result)) 
{ 
$id=$cols['id']; 
$nom=$cols['nom']; 
$email=$cols['email']; 
$message=$cols['message']; 
$sujet=$cols['sujet']; 


echo "
<table width=\"81%\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td>id</td>
<td>nom</td>
<td>email</td>
<td>sujet</td>
<td>message</td></tr><tr>
<td><p>$id</p></td><td>$nom</td>
<td>$email</td>
<td>$sujet</td>
<td>$message</td>
</tr><tr>
<td><p>$id</p></td>
<td>$nom</td> 
<td>$email</td> 
<td>$sujet</td> 
<td>$message</td> 
</tr> 
</table>";
} 
mysql_close() 
?> 

Petit nouveau ! | 4 Messages

29 avr. 2007, 13:38

bonjour je te remerci pour votre aide.en fait g'ai pas obtenu ce que je vouler vraiment,le probleme est pour chaque nouvel affichage le tableau se redimensinne, je veux que toute les collones soient de meme taille.

ViPHP
ViPHP | 5924 Messages

29 avr. 2007, 15:32

C'est parce que tu remets les balises table à chaque itération.
Il faut les mettre hors du while, de même que les titres du tableau, et ne laisser que les balises tr et td qui contiennent des données, à l'intérieur du while.

Petit nouveau ! | 4 Messages

29 avr. 2007, 17:31

j'ai pas bien compris votre explication,voila mon objectif est d'afficher dans un tableau les lignes qui existent dans une table 'contact' de ma bd dans un tableau, avec le code que j'ai, l'affichage n'est pas organiser je pense que j'ai bien posé mon probleme.

ViPHP
ViPHP | 5924 Messages

29 avr. 2007, 17:42

j'ai pas bien compris votre explication,voila mon objectif est d'afficher dans un tableau les lignes qui existent dans une table 'contact' de ma bd dans un tableau, avec le code que j'ai, l'affichage n'est pas organiser je pense que j'ai bien posé mon probleme.
J'ai bien compris et je répète mon explication :
C'est parce que tu remets les balises table à chaque itération.
Il faut les mettre hors du while, de même que les titres du tableau, et ne laisser que les balises tr et td qui contiennent des données, à l'intérieur du while.
La balise table c'est ca : <table>
Une itération c'est quand l'interpréteur php exécute une fois le contenu de ton while.
A part les termes informatiques que je viens d'expliciter et qu'il convient de savoir avant de se mettre à la programmation, je ne vois rien de bien sorcier dans mon explication...

El Konkonbré M@squed
Invité n'ayant pas de compte PHPfrance

29 avr. 2007, 17:48

Salut.

Essaies ceci :
<?php 
$connect = mysql_connect('localhost','root','') or die ("erreur de connexion"); 
mysql_select_db('tacapes',$connect) or die ("erreur de connexion base"); 
$result = mysql_query("SELECT * from contact"); 

echo '
<table width="81%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>id</td>
<td>nom</td>
<td>email</td>
<td>sujet</td>
<td>message</td>
</tr>
';

while ( $cols = mysql_fetch_array($result)) 
{ 
$id=$cols['id']; 
$nom=$cols['nom']; 
$email=$cols['email']; 
$message=$cols['message']; 
$sujet=$cols['sujet']; 

echo "
<tr>
<td><p>$id</p></td>
<td>$nom</td> 
<td>$email</td> 
<td>$sujet</td> 
<td>$message</td> 
</tr> 
";
} 
echo '</table>';

mysql_close() 
?>


Bye.

ViPHP
ViPHP | 1996 Messages

29 avr. 2007, 17:50

bonjour je te remerci pour votre aide.en fait g'ai pas obtenu ce que je vouler vraiment,le probleme est pour chaque nouvel affichage le tableau se redimensinne, je veux que toute les collones soient de meme taille.
Pour que les colonnes soit de même taille utlise la balise <th> pour le nom de ta colonne et donne lui un attribut width="80" par exemple.
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr