Tabeau dynamique en php

Fermé
tito - 24 nov. 2009 à 18:12
 tito - 25 nov. 2009 à 10:00
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 ?

6 réponses

pitxu Messages postés 689 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 25 mars 2015 94
24 nov. 2009 à 20:17
bonjour,

ta boucle devrait plutôt ressembler à ça :

while ($row_img=mysql_fetch_assoc($ma_requete)) {
...
}
0
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 vendredi 7 septembre 2007 Statut Membre Dernière intervention 25 mars 2015 94
24 nov. 2009 à 20:26
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
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
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
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