Tabeau dynamique en php

tito -  
 tito -
Bonjour,

Voila je voudrai créer un tableau a l'aide de php et afficher dans chaque cellule des informations qui provienne d'une base de données.

Voila mon code :

<table>
<?php
$nb_colone = 6;
$compteur_enregistrement = $total_enregistrement;
while ($row_img){
$img = explode('.', $row_img['url']);
if($total_enregistrement != 0){
if($nb_colone == 6){
echo '<tr>';
$nb_colone = 0;}

if($nb_colone != 6){
if($compteur_enregistrement != 0){
echo '<td><img src="../images/gallerie/'.$img[0].'-mini.'.$img[1].' /></td>';
$compteur_enregistrement = $compteur_enregistrement - 1;}
$nb_colone = $nb_colone + 1;}

if($nb_colone == 6){
echo '</tr>';}

}
}
?>
</table>

le probleme c'est qu'il répéte a l'infini les balises <tr> et </tr> .
Les premieres images s'affiche bien pourtant.

Pouvez vous m'aider ?
A voir également:

6 réponses

pitxu Messages postés 689 Date d'inscription   Statut Membre Dernière intervention   95
 
bonjour,

ta boucle devrait plutôt ressembler à ça :

while ($row_img=mysql_fetch_assoc($ma_requete)) {
...
}
0
tito
 
Oui enfet au départ je l'avait codé comme ca mais j'avai cette erreur : mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource ...

Je comprend pas
0
pitxu Messages postés 689 Date d'inscription   Statut Membre Dernière intervention   95
 
fais un fichier test.php avec tes infos de base de données et une requête très simple dans cette boucle while et ça doit fonctionner sans problème.
0
tito
 
Effectivement sa fonctionne trés bien sur le fichier test, mais alor je compren pas pourquoi sa ne fonctionne pas sur ma page !

je remet mon code avec la connexion a la base de données :

<?php
mysql_select_db($database_support, $support);
$query_img = "SELECT * FROM img";
$img = mysql_query($query_img, $support) or die(mysql_error());
$row_img = mysql_fetch_assoc($img);
$totalRows_img = mysql_num_rows($img);
$total_enregistrement = $totalRows_img;
?>
<table>
<?php
$nb_colone = 6;
$compteur_enregistrement = $total_enregistrement;
while ($row_img=mysql_fetch_assoc($img)){
$img = explode('.', $row_img['url']);
if($total_enregistrement != 0){
if($nb_colone == 6){
echo '<tr>';
$nb_colone = 0;}

if($nb_colone != 6){
if($compteur_enregistrement != 0){
echo '<td><img src="../images/gallerie/'.$img[0].'-mini.'.$img[1].' /></td>';
$compteur_enregistrement = $compteur_enregistrement - 1;}
$nb_colone = $nb_colone + 1;}

if($nb_colone == 6){
echo '</tr>';}

}
}
?>
</table>


Il y a t'il une erreur ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tito
 
Je vien de trouver, c'est la fonction explode() qui gene !

Seulement j'en ai besoin =s

J'ai éssayé de la placer a un autre endroit que dans la boucle et c'est pareil ...

Il y a t'il une autre solution ?
0
tito
 
Bonjour,

Bon la seule solution que j'ai trouvé est de modifier la table de la BDD pour éviter le explode(), enregistré l'url de l'image en deux parties.

Maintenant tout fonctionne bien, a l'exception qu'il manque un enregistrement a chaque fois ...

Si il y a 3 entrées dans la table seul 2 seront affichées...

Quelqu'un a une idée d'ou sa peut venir ?

Merci
0