Prob pour les baleze avec affichage tableau

Répondre
allserv
le 30/07/2004 à 00:30
allserv
Bonsoir,

Voilà, j'ai un petit problème, j'ai une liste d'enregistrements dans ma table avatars avec les différents noms des images des avatars contenu dans le dossier "image".

Je souhaite en fait recuperer tous ses avatars, les mettres dans un tableau a 5 colonnes et en dessous de chaque ligne de 5 avatars, j'affiche les boutons radios avec l'id de l'avatar entré dans la base. Tout fonctionne impec jusqu'a la derniere ligne où là le bouton radio ne s'affiche plus car sur ma derniere ligne je n'ai qu'un seul avatar :

(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1579]ce lien[/lien])


J'ai fait un systme avec deux affichages via la variable $aff et la variable $passage, en effet a chaque ligne, la variable $passage est incrementée. en fin de boucle, on teste si on arrive a la fin de la ligne grace à $passage==$nbre_col. Si oui on pass $aff à 2 et $i on lui retire $nbre_col, pour qu'il revienne aux memes valeurs que la ligne qu'il veint d'afficher.

Mais le problème c'est au niveau de la derniere ligne, sachant qu'il n'arrive pas toujours à la finir, la deuxieme affichage est ignorée.

Je ne vois vraiment pas comment je pourrais procéder, quelqu'un aurait une idée ?

Merci d'avance

ps: en meme temmps, je comprends pas tout le temps a la fin j'ai une image vide, comme si il affichait un enregistrement qui n'existait pas... donc si vous voyez lerreur pour ca aussi je serais comblé smiley
moogli
le 30/07/2004 à 01:50
moogli
Salut,

Bien compliqué tout sa smiley

J'ai une idée différente de ce que tu a fait tu met le bouton sous l'image dans la meme case ???

Si non pour ton souci, idée un peu bourrin mis qui se tien :)
=> tu compte le nb d'avatar.
Tu calculel nb de ligne: ceil(nb d'avatar/nb de colone)
a partir de la tu calcul le nb d'avatar sur ta dernière ligne = nb de ligne * nb d'avtar par ligne
(tu va me dire je lé déja du début=> que neni ici c'est plus tot le nombre d'avatar possible sur le nombre de ligne utile)
donc le nb d'avatar sur la dernière ligne
=>(nb_par_colone-(nb_max-nb_d_avatar))

Une fois que ta tout ce bazard tu compte le ligne que tu affiche quand il arrive sur la dernière ligne (calculé + haut) tu sais combien tu as de case a utiliser, pour les autres tu peut fair un colspan ou affiché de espace.

sa donne un truc dans ce genre la
<?php
$nb_par_ligne=5;
$nb_d_avatar vient de la requete sql
$nb_de_ligne=ceil($nb_d_avatar/$nb_par_ligne);
$nb_max=nb_de_ligne*$nb_par_ligne;
$nb_sur_la_derniere_ligne=$nb_par_ligne-($nb_max-$nb_d_avatar);

dans ton code :
$ligne=1;
if ($ligne==$nb_de_ligne)
{
for ($i=0;$i<$nb_sur_la_derniere_ligne;$i++)
{
echo '<td><img src=""></td>';
}
for ($j=0;$j<($nb_max-$nb_d_avatar);$j++)
{
echo '<td>&nbsp;</td>';
}
}
else {
//affichage normal avec 1 $ligne++ quand tu change de ligne
}
?>


J'ai supposé que tu inclus cela dans le while de traitement de la requete (ou for smiley);

J'espère que tu as compris ce que je veut dire (en me relisant je suis pas sur d'être compréhensible).

@+
Il en faut peu pour être heureux !!!!!
allserv
le 30/07/2004 à 11:19
allserv
J'ai quand meme essayé ta methode mais sans succès, le pire c'est que le script arrivait à faire ramer le 2400+ smiley

J'ai donc préféré la premiere solution, j'ai mis les radios en dessous..

Sinon il existe une fonction qui permet dans un tableau de retirer toutes les entrées obselettes (qui n'ont rien dedans) ?

Merci d'avance
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours