modifier l'affichage des resultats.... [PHP] - Programmation
Marsh Posté le 20-02-2002 à 21:16:58
Tableau <table>..</table>
1 ligne <tr>...</tr>
3 cellules <td>..</td>
Dans les cellules : blabla<br>blabla<br>
cellule 1 : de # à F
cellule 2 : de G à O
cellule 3 : de P à Z
Sinon, tu peux aussi calculer le nombre de lignes totales (avec les séparateurs...) et diviser par 3 pour essayer d'harmoniser les colonnes...
Marsh Posté le 20-02-2002 à 21:43:41
oui mais je peux pas placer le tableau car les lettres apparaissent dynamiquement à partir de ca echo("<B>.</B> <a href=\"artistes.php3?id=$ligne_artiste->id\">$ligne_artiste->nom</a><BR>" );
}
donc je peux pas savoir c'est quelle lettrte
Marsh Posté le 21-02-2002 à 10:24:24
j'ai essaye comme tu as dis, c'est à dire de calculer le nombre de colonnes...
Voila:
$query = "select $ from table";
$result = mysql_query($query);
$nb = mysql_num_rows($result);
$par_colonne = ceil($nb/3);
Il me reste à inclure ceci dans ta boucle. Si le résultat est supérieur à $par_colonne, une nouvelle colonne est créé et le palier pour la création d'une nouvelle colonne est augmenté de $nb_colonne, etc...
le prob c'est que je ne sais aps ecrire ça en php...
HELP!
Marsh Posté le 21-02-2002 à 13:00:52
Tu est déja capable de savoir quand tu change de lettre, non ?
C'est pareil pour les colonnes :
Au début :
echo("<TABLE>\n<TR>\n<TD>\n" );
$colnum = 1;
$nblignes = 0;
Dans la boucle :
$nbligne++;
if( $nbligne >= $parcolonne )
{
$nbligne=0;
echo("</TD>\n<TD>\n" );
}
Et à la fin, on ferme la dernière colonne et le tableau
echo("</TD>\n</TR>\n</TABLE>\n" );
OK ?
Marsh Posté le 21-02-2002 à 14:25:01
OK
donc j'ai l'ai introduit et voila ce que ça donne
<?
$query = "select $ from artistes";
$result = mysql_query($query);
$nb = mysql_num_rows($result);
$par_colonne = ceil($nb/3);
echo("<TABLE>\n<TR>\n<TD>\n" );
$colnum = 1;
$nblignes = 0;
$req_artiste=mysql_query("SELECT id,nom FROM artistes ORDER by nom" );
while ($ligne_artiste=mysql_fetch_object($req_artiste))
{
$var=substr($ligne_artiste->nom,0,1);if($var!=$var2)
echo '<br>'.'- '.'<font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFD16F"> '.'<B>'.substr($ligne_artiste->n
om,0,1).'</B>'.'<BR>'.
39;<BR>';
$var2=$var;
echo ' '.("<B>.</B> <a href=\"artistes.php3?id=$ligne_artiste->id\">$
ligne_artiste->nom</a>" ).'<BR>';
}
$nbligne++;
if( $nbligne >= $par_colonne )
{
$nbligne=0;
echo("</TD>\n<TD>\n" );
}
echo("</TD>\n</TR>\n</TABLE>\n" );
?>
ya erreur:
Warning: Supplied argument is not a valid MySQL result resource in e:\internet\création pages perso\ludo project\scriptsphp3\lyrics\lyrics.php3 on line 93
Marsh Posté le 21-02-2002 à 15:42:45
C'est laquelle la ligne 93 ? ? ? ?
Là, t'as un pb de connexion à la BDD, rien à voir avec le tableau !
D'autre part, je t'ai dis de mettre çà :
Code :
|
DANS LA BOUCLE !
[jfdsdjhfuetppo]--Message édité par Mara's dad--[/jfdsdjhfuetppo]
Marsh Posté le 20-02-2002 à 20:52:21
Salut
J'ai donc finis mon script de lyrics mais au niveau de l'affichage je voudrai modifier un peu car ça s'affiche comme ça une liste et ça fait pas trop beau:
A
. Aalyiah
. Assia
B
. Blink 182
C
. Cramberries
D
. Dr Dre
E
. exemple
. exemple
F
. exemple
enfin si on laisse descendre cette liste jusq'ua Z c + long encore.
Je voudrai donc ranger çà en 3 colones comme ici:
http://purcity.free.fr/index.php3?p=lyrics/index
Je mets la ligne de commande pour afficher les artistes si ça peut aider:
$req_artiste=mysql_query("SELECT id,nom FROM artistes ORDER by nom" );
while ($ligne_artiste=mysql_fetch_object($req_artiste))
{
$var=substr($ligne_artiste->nom,0,1);if($var!=$var2)
echo substr($ligne_artiste->nom,0,1).'<BR>';
$var2=$var;
echo("<B>.</B> <a href=\"artistes.php3?id=$ligne_artiste->id\">$ligne_artiste->nom</a><BR>" );
}
merci d'avance
---------------
Make Portraits, Not War!