[ PHP ] Perdu dans mes boucles > j'ai besoin de vous <

Perdu dans mes boucles > j'ai besoin de vous < [ PHP ] - Programmation

Marsh Posté le 15-07-2002 à 15:20:01    

bon, je vais essayer de faire clair.
J'ai une liste de chanson tres grande. Je voudrai donc afficher ça ans 2 colonnes.
Le prob c'est que je n'y arrive pas car je me perds dans mon code !!
 
voici le code: (en gras c le code pour faire 2 colonnes)
alors j'explique: "artistes" c pour afficher les artistes mais bon ça c 'est reglé on s'occupe du code à partir de elseif ($HTTP_GET_VARS["cat"] == "chansons" ).
 

Code :
  1. <?
  2. if ($HTTP_GET_VARS["cat"] == "artistes" )
  3. {
  4. if ($HTTP_GET_VARS["letter"] == "#" )
  5. {
  6. $requete = mysql_query("SELECT * FROM artistes WHERE nom REGEXP '^[0-9].*' ORDER BY nom" );
  7. }
  8. elseif (ereg("^[A-Z]$", $HTTP_GET_VARS["letter"]))
  9. {
  10. $requete = mysql_query("Select DISTINCT t1.nom,id, count(t2.id_artistes) As nbr FROM artistes As t1 LEFT join chansons As t2 On t1.id=t2.id_artistes WHERE t1.nom LIKE '{$HTTP_GET_VARS["letter"]}%' group by t1.nom" ); 
  11. }
  12. else
  13. { //au cas où un petit malin envoie une variable lettre invalide, on fait la requête avec la lettre a (par exemple)  
  14. $requete = mysql_query("SELECT * FROM artistes WHERE nom LIKE 'A%'" );
  15. }
  16. while ($ligne_artiste=mysql_fetch_object($requete))
  17. {
  18. $req=mysql_query("SELECT id FROM artistes ORDER BY id DESC LIMIT 9,1" );
  19. $ligne=mysql_fetch_object($req);
  20. $idlimit = $ligne->id;
  21. if
  22. ($ligne_artiste->id>=$idlimit)
  23. {
  24. echo "<div align=center><a class=main href='index.php?p=scriptsphp3/lyrics/artistes&cat=$cat&letter=$letter&id=$ligne_artiste->id' title='$ligne_artiste->nbr Chansons !'>$ligne_artiste->nom</a> New!<br>";
  25. }
  26. else
  27. {
  28. echo "<div align=center><a class=main href='index.php?p=scriptsphp3/lyrics/artistes&cat=$cat&letter=$letter&id=$ligne_artiste->id' title='$ligne_artiste->nbr Chansons !'>$ligne_artiste->nom</a><br>";
  29. }
  30. echo "</div>";
  31. }
  32. }
  33.   echo("<TABLE width=350 height=11 align=center>
  34.   \n<TR>\n<TD>\n" ); elseif ($HTTP_GET_VARS["cat"] == "chansons" )
  35. {
  36. if ($HTTP_GET_VARS["letter"] == "#" )
  37. {
  38. $requete = mysql_query("SELECT DISTINCT t1.titre,t1.id_lyrics,t1.nb_click,t1.id_artistes,t2.id,t2.nom FROM chansons As t1 LEFT join artistes As t2 On t1.id_artistes=t2.id WHERE t1.titre REGEXP '^[0-9].*' ORDER BY t1.titre" );
  39. }
  40. elseif (ereg("^[A-Z]$", $HTTP_GET_VARS["letter"]))
  41. {
  42. $requete = mysql_query("SELECT DISTINCT t1.titre,t1.id_lyrics,t1.nb_click,t1.id_artistes,t2.id,t2.nom FROM chansons As t1 LEFT join artistes As t2 On t1.id_artistes=t2.id WHERE t1.titre LIKE '{$HTTP_GET_VARS["letter"]}%' ORDER BY t1.titre" );
  43. $ligne_chanson=mysql_fetch_object($requete);
  44. $parcolonne = $ligne_chanson/2;
  45. $colnum = 1;
  46. $nblignes = 0;
  47. }
  48. else
  49. { //au cas où un petit malin envoie une variable lettre invalide, on fait la requête avec la lettre a (par exemple)  
  50. $requete = mysql_query("SELECT * FROM chansons WHERE titre LIKE 'A%'" );
  51. }
  52. while ($ligne_chanson=mysql_fetch_object($requete))
  53. {
  54. $nbligne++;
  55. echo "<a href=index.php?p=scriptsphp3/lyrics/paroles&cat=$cat&letter=$letter&id_lyrics=$ligne_chanson->id_lyrics&id=$ligne_chanson->id>$ligne_chanson->titre</a><font color=white> - $ligne_chanson->nom<br>";
  56. if(($nbligne >= $parcolonne) && ($colnum == 1))
  57. {
  58.  echo("</TD>\n<TD>\n" );
  59.  $colnum = 2;
  60. } }
  61. echo("</TD>\n</TR>\n</TABLE>\n" );
  62. }
  63. ?>


 
il m'affiche une erreur:
parse error, unexpected T_ELSEIF on line 66
 
qui correspond à:
 elseif ($HTTP_GET_VARS["cat"] == "chansons" )
 
 [:kains]


Message édité par ludo2604 le 15-07-2002 à 16:53:44

---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 15-07-2002 à 15:20:01   

Reply

Marsh Posté le 15-07-2002 à 16:06:59    

En regardant vite fais, j'ai vu un trus bizzar avant ton elseif, il y as un echo qui n'as rien a faire là et sa doit etre sa qui fou la merde, regarde si sa marche sa :
 

<?
if($HTTP_GET_VARS["cat"] == "artistes" )
{
if ($HTTP_GET_VARS["letter"] == "#" )
{
$requete = mysql_query("SELECT * FROM artistes WHERE nom REGEXP '^[0-9].*' ORDER BY nom" );
}
elseif (ereg("^[A-Z]$", $HTTP_GET_VARS["letter"]))
{
$requete = mysql_query("Select DISTINCT t1.nom,id, count(t2.id_artistes) As nbr FROM artistes As t1 LEFT join chansons As t2 On t1.id=t2.id_artistes WHERE t1.nom LIKE '{$HTTP_GET_VARS["letter"]}%' group by t1.nom" );  
}
else
{ //au cas où un petit malin envoie une variable lettre invalide, on fait la requête avec la lettre a (par exemple)  
$requete = mysql_query("SELECT * FROM artistes WHERE nom LIKE 'A%'" );  
}  
while ($ligne_artiste=mysql_fetch_object($requete))
{
$req=mysql_query("SELECT id FROM artistes ORDER BY id DESC LIMIT 9,1" );  
$ligne=mysql_fetch_object($req);  
$idlimit = $ligne->id;
if($ligne_artiste->id>=$idlimit)
{  
echo "<div align=center><a class=main href='index.php?p=scriptsphp3/lyrics/artistes&cat=$cat&letter=$letter&id=$ligne_artiste->id' title='$ligne_artiste->nbr Chansons !'>$ligne_artiste->nom</a> New!<br>";
}
else
{
echo "<div align=center><a class=main href='index.php?p=scriptsphp3/lyrics/artistes&cat=$cat&letter=$letter&id=$ligne_artiste->id' title='$ligne_artiste->nbr Chansons !'>$ligne_artiste->nom</a><br>";
}
echo "</div>";
}
[g]echo("<TABLE width=350 height=11 align=center>\n<TR>\n<TD>\n" );[/g]
}
[#f00e00]Il ete ici avant[/#f00e00]
elseif ($HTTP_GET_VARS["cat"] == "chansons" )
{
if ($HTTP_GET_VARS["letter"] == "#" )
{
$requete = mysql_query("SELECT DISTINCT t1.titre,t1.id_lyrics,t1.nb_click,t1.id_artistes,t2.id,t2.nom FROM chansons As t1 LEFT join artistes As t2 On t1.id_artistes=t2.id WHERE t1.titre REGEXP '^[0-9].*' ORDER BY t1.titre" );
}
elseif(ereg("^[A-Z]$", $HTTP_GET_VARS["letter"]))
{
$requete = mysql_query("SELECT DISTINCT t1.titre,t1.id_lyrics,t1.nb_click,t1.id_artistes,t2.id,t2.nom FROM chansons As t1 LEFT join artistes As t2 On t1.id_artistes=t2.id WHERE t1.titre LIKE '{$HTTP_GET_VARS["letter"]}%' ORDER BY t1.titre" );
$ligne_chanson=mysql_fetch_object($requete);
$parcolonne = $ligne_chanson/2;
$colnum = 1;  
$nblignes = 0;  
}
else
{ //au cas où un petit malin envoie une variable lettre invalide, on fait la requête avec la lettre a (par exemple)  
$requete = mysql_query("SELECT * FROM chansons WHERE titre LIKE 'A%'" );  
}
while($ligne_chanson=mysql_fetch_object($requete))
{
$nbligne++;
echo "<a href=index.php?p=scriptsphp3/lyrics/paroles&cat=$cat&letter=$letter&id_lyrics=$ligne_chanson->id_lyrics&id=$ligne_chanson->id>$ligne_chanson->titre</a><font color=white> - $ligne_chanson->nom<br>";
if(($nbligne >= $parcolonne) && ($colnum == 1))
{
echo("</TD>\n<TD>\n" );  
$colnum = 2;
}
}
echo("</TD>\n</TR>\n</TABLE>\n" );
}
?>  


Message édité par bozocarzu le 15-07-2002 à 16:10:14
Reply

Marsh Posté le 15-07-2002 à 16:22:22    

tu m'étonnes que t'es perdu  :cry:


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 15-07-2002 à 16:24:13    

--greg-- a écrit a écrit :

tu m'étonnes que t'es perdu  :cry:  




 
Si lui n'y retrouve pas alors qu'il as ecris se code, comment nous on peut s'y retrouver
 
PS : dsl --greg-- je suis en train de fiare n'importe quoi là


Message édité par bozocarzu le 15-07-2002 à 16:26:09
Reply

Marsh Posté le 15-07-2002 à 16:25:11    

bozocarzu a écrit a écrit :

 

--greg-- a écrit a écrit :

tu m'étonnes que t'es perdu  :cry:  








en effet, je l'ai écrit.


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 15-07-2002 à 16:26:45    

ah ouf enfin de l'aide merci :)
alors ok j'ai changé ce que tu m'as dis mais maintenant il m'affiche une erreur que j'avais jamais vu avant:
Unsupported operand types on line 71:
 
ca correspond à ça:
$ligne_chanson=mysql_fetch_object($requete);
$parcolonne = $ligne_chanson/2
 
peut etre que c parceque le mysql-fetch_object est deja plus bas non ?


---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 15-07-2002 à 16:33:36    

Je regarde, je vais tenter de percer les secret ton code  :pt1cable:  
 
lol c'est trop le bordel

Reply

Marsh Posté le 15-07-2002 à 16:40:46    

bas en fait non.
J'ai ma page d'acceuil du script avec une liste deroulante(<select> ) avec "artistes" et chansons" et a cote les lettres de l'alphabet: A B C etc...
quand on choisit "artistes" dans le select et qu'on click sur une lettre et bien ça affiche tous les artistes commencant par cette lettre. Idem pour "chansons".
et c'est definit par cat=$cat
 
 
ensuite on arrive sur la page detail  
et là le code:
ya une partie qui traite les artistes:
if ($HTTP_GET_VARS["cat"] == "artistes" )  
 
 et l'autre qui traite les chansons:
elseif ($HTTP_GET_VARS["cat"] == "chansons" )  
 
le if ($HTTP_GET_VARS["letter"] == "#" )  correspond au chiffres.
et apres les requetes ce sont des jointures et voila  :sarcastic:
 
jpouvais pas faire plus simple...


Message édité par ludo2604 le 15-07-2002 à 16:42:15

---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 15-07-2002 à 17:06:51    

Ok,c'est bon, je comprend ta structure, et le fonctionnement, mais je refais un morceau pour afficher sur 2 colonnes car je comprend pas comment tu veut faire
 
Pas contre, les chanson qui correspond au chiffre, j les met aussi sur 2 colonne, un jour tu en auras aussi beaucoup

Reply

Marsh Posté le 15-07-2002 à 17:31:15    

Je ne peut pas tester, alors sa risque de ne pas marcher du 1er coup :
 

<?
if($HTTP_GET_VARS["cat"] == "artistes" )
{
if($HTTP_GET_VARS["letter"] == "#" )
{
$requete = mysql_query("SELECT * FROM artistes WHERE nom REGEXP '^[0-9].*' ORDER BY nom" );
}
elseif(ereg("^[A-Z]$", $HTTP_GET_VARS["letter"]))
{
$requete = mysql_query("Select DISTINCT t1.nom,id, count(t2.id_artistes) As nbr FROM artistes As t1 LEFT join chansons As t2 On t1.id=t2.id_artistes WHERE t1.nom LIKE '{$HTTP_GET_VARS["letter"]}%' group by t1.nom" );  
}
else
{[#ff0000]//Au tant lui retourner un echo et un lien sur la page de choix ![/#ff0000]
$requete = mysql_query("SELECT * FROM artistes WHERE nom LIKE 'A%'" );
}  
while($ligne_artiste=mysql_fetch_object($requete))
{
$req=mysql_query("SELECT id FROM artistes ORDER BY id DESC LIMIT 9,1" );  
$ligne=mysql_fetch_object($req);  
$idlimit = $ligne->id;
if($ligne_artiste->id>=$idlimit)
{
echo "<div align=center><a class=main href='index.php?p=scriptsphp3/lyrics/artistes&cat=$cat&letter=$letter&id=$ligne_artiste->id' title='$ligne_artiste->nbr Chansons !'>$ligne_artiste->nom</a> New!<br>";
}
else
{
echo "<div align=center><a class=main href='index.php?p=scriptsphp3/lyrics/artistes&cat=$cat&letter=$letter&id=$ligne_artiste->id' title='$ligne_artiste->nbr Chansons !'>$ligne_artiste->nom</a><br>";
}
echo "</div>";
}
echo("<TABLE width=350 height=11 align=center>\n<TR>\n<TD>\n<TABLE align=center>" );
}
elseif ($HTTP_GET_VARS["cat"] == "chansons" )
{
if($HTTP_GET_VARS["letter"] == "#" )
{
$requete = mysql_query("SELECT DISTINCT t1.titre,t1.id_lyrics,t1.nb_click,t1.id_artistes,t2.id,t2.nom FROM chansons As t1 LEFT join artistes As t2 On t1.id_artistes=t2.id WHERE t1.titre REGEXP '^[0-9].*' ORDER BY t1.titre" );
}
elseif(ereg("^[A-Z]$", $HTTP_GET_VARS["letter"]))
{
$requete = mysql_query("SELECT DISTINCT t1.titre,t1.id_lyrics,t1.nb_click,t1.id_artistes,t2.id,t2.nom FROM chansons As t1 LEFT join artistes As t2 On t1.id_artistes=t2.id WHERE t1.titre LIKE '{$HTTP_GET_VARS["letter"]}%' ORDER BY t1.titre" );
}
else
{ [#ff0000]//Au tant lui retourner un echo et un lien sur la page de choix ![/#ff0000]
$requete = mysql_query("SELECT * FROM chansons WHERE titre LIKE 'A%'" );  
}  
$nbrow=mysql_fetch_row($requete);
$col1=($nbrow-($nbrow%2))/2+($nbrow%2);
$num=0;
while($ligne_chanson=mysql_fetch_object($requete))
{
$num++;
if($num==$col1)
{
echo "</TABLE>\n</TD>\n<TD>\n<TABLE align=center>"
}
echo "<TR><TD><a href=index.php?p=scriptsphp3/lyrics/paroles&cat=$cat&letter=$letter&id_lyrics=$ligne_chanson->id_lyrics&id=$ligne_chanson->id>$ligne_chanson->titre</a><font color=white> - $ligne_chanson->nom</TD></TR>";
}
echo"</TABLE>\n</TD>\</TR>\n</TABLE>";
?>

Reply

Marsh Posté le 15-07-2002 à 17:31:15   

Reply

Marsh Posté le 15-07-2002 à 17:55:54    

Code :
  1. <?
  2. if($HTTP_GET_VARS["cat"] == "artistes" )
  3. {
  4. if($HTTP_GET_VARS["letter"] == "#" )
  5. {
  6. $requete = mysql_query("SELECT * FROM artistes WHERE nom REGEXP '^[0-9].*' ORDER BY nom" );
  7. }
  8. elseif(ereg("^[A-Z]$", $HTTP_GET_VARS["letter"]))
  9. {
  10. $requete = mysql_query("Select DISTINCT t1.nom,id, count(t2.id_artistes) As nbr FROM artistes As t1 LEFT join chansons As t2 On t1.id=t2.id_artistes WHERE t1.nom LIKE '{$HTTP_GET_VARS["letter"]}%' group by t1.nom" ); 
  11. }
  12. else
  13. {//Au tant lui retourner un echo et un lien sur la page de choix !
  14. Header("Location: index.php?p=scriptsphp3/lyrics/lyrics&cat=artistes" );
  15. while($ligne_artiste=mysql_fetch_object($requete))
  16. {
  17. $req=mysql_query("SELECT id FROM artistes ORDER BY id DESC LIMIT 9,1" ); 
  18. $ligne=mysql_fetch_object($req); 
  19. $idlimit = $ligne->id;
  20. if($ligne_artiste->id>=$idlimit)
  21. {
  22. echo "<div align=center><a class=main href='index.php?p=scriptsphp3/lyrics/artistes&cat=$cat&letter=$letter&id=$ligne_artiste->id' title='$ligne_artiste->nbr Chansons !'>$ligne_artiste->nom</a> New!<br>";
  23. }
  24. else
  25. {
  26. echo "<div align=center><a class=main href='index.php?p=scriptsphp3/lyrics/artistes&cat=$cat&letter=$letter&id=$ligne_artiste->id' title='$ligne_artiste->nbr Chansons !'>$ligne_artiste->nom</a><br>";
  27. }
  28. echo "</div>";
  29. }
  30. echo("<TABLE width=350 height=11 align=center>\n<TR>\n<TD>\n<TABLE align=center>" );
  31. }
  32. elseif ($HTTP_GET_VARS["cat"] == "chansons" )
  33. {
  34. if($HTTP_GET_VARS["letter"] == "#" )
  35. {
  36. $requete = mysql_query("SELECT DISTINCT t1.titre,t1.id_lyrics,t1.nb_click,t1.id_artistes,t2.id,t2.nom FROM chansons As t1 LEFT join artistes As t2 On t1.id_artistes=t2.id WHERE t1.titre REGEXP '^[0-9].*' ORDER BY t1.titre" );
  37. }
  38. elseif(ereg("^[A-Z]$", $HTTP_GET_VARS["letter"]))
  39. {
  40. $requete = mysql_query("SELECT DISTINCT t1.titre,t1.id_lyrics,t1.nb_click,t1.id_artistes,t2.id,t2.nom FROM chansons As t1 LEFT join artistes As t2 On t1.id_artistes=t2.id WHERE t1.titre LIKE '{$HTTP_GET_VARS["letter"]}%' ORDER BY t1.titre" );
  41. }
  42. else
  43. { //Au tant lui retourner un echo et un lien sur la page de choix !
  44. Header("Location: index.php?p=scriptsphp3/lyrics/lyrics&cat=chansons" );
  45. $nbrow=mysql_fetch_row($requete);
  46. $col1=($nbrow-($nbrow%2))/2+($nbrow%2);
  47. $num=0;
  48. while($ligne_chanson=mysql_fetch_object($requete))
  49. {
  50. $num++;
  51. if($num==$col1)
  52. {
  53. echo "</TABLE>\n</TD>\n<TD>\n<TABLE align=center>"; <<<< ici
  54. }
  55. echo "<TR><TD><a href=index.php?p=scriptsphp3/lyrics/paroles&cat=$cat&letter=$letter&id_lyrics=$ligne_chanson->id_lyrics&id=$ligne_chanson->id>$ligne_chanson->titre</a><font color=white> - $ligne_chanson->nom</TD></TR>";
  56. }
  57. echo"</TABLE>\n</TD>\</TR>\n</TABLE>";
  58. } <<<< ici
  59. ?>


 
en rouge c les ptites erreus que j'ai vu.
Bon maintenant, lorsque je suis select=artistes, tout est deformé ( le tableau )
et en chansons il m'affiche cette erreur:
Unsupported operand types on line  75
 
la ligne correspond à ca:
$col1=($nbrow-($nbrow%2))/2+($nbrow%2);
 
et pourquoi as tu fais 2 tableaux ?
 
si tu as ICQ, msn ou autre je peux te montrer l'affichage.
 
merci de ton aide  :)


Message édité par ludo2604 le 15-07-2002 à 18:01:53

---------------
Make Portraits, Not War!  
Reply

Marsh Posté le 15-07-2002 à 18:55:55    

ICQ : 98380491
Msn : bozocarzu@hotmail.com

Reply

Marsh Posté le 15-07-2002 à 19:12:48    

ludo2604 a écrit a écrit :

 
en rouge c les ptites erreus que j'ai vu.
Bon maintenant, lorsque je suis select=artistes, tout est deformé ( le tableau )
et en chansons il m'affiche cette erreur:
Unsupported operand types on line  75
 
la ligne correspond à ca:
$col1=($nbrow-($nbrow%2))/2+($nbrow%2);
 
et pourquoi as tu fais 2 tableaux ?
 
si tu as ICQ, msn ou autre je peux te montrer l'affichage.
 
merci de ton aide  :)  




 
J'ai corriger mes erreur, j'ai refais un peu le code, le tableau atirste ne doit pas plus etre deformer.
 
Ensuite, si il trouve une erreur pour $col1=($nbrow-($nbrow%2))/2+($nbrow%2); , c'est nbrow, ne doit pas etre un nombre, et la il faut que je me renseigne.
 
Si j'ai fais 2 tableau pour les chanson, c'est parce qu'il y as 2 colones :
- Si je fais un tableau a 2 colone, j'aurais en affichage :
 
a b
c d
e f
 
- Alors qu'avec ma methode j'ai :
 
a d
b e
c f
 
Sa range par ordre alphabetique les chanson en vertical et pas en horizontal
 
Essais sa :
 

<?
if($HTTP_GET_VARS["cat"] == "artistes" ){
 if($HTTP_GET_VARS["letter"] == "#" ){
  $requete = mysql_query("SELECT * FROM artistes WHERE nom REGEXP '^[0-9].*' ORDER BY nom" );
 }elseif(ereg("^[A-Z]$", $HTTP_GET_VARS["letter"])){
  $requete = mysql_query("Select DISTINCT t1.nom,id, count(t2.id_artistes) As nbr FROM artistes As t1 LEFT join chansons As t2 On t1.id=t2.id_artistes WHERE t1.nom LIKE '{$HTTP_GET_VARS["letter"]}%' group by t1.nom" );  
 }else{
  $requete = mysql_query("SELECT * FROM artistes WHERE nom LIKE 'A%'" );
 }  
 while($ligne_artiste=mysql_fetch_object($requete)){
  $req=mysql_query("SELECT id FROM artistes ORDER BY id DESC LIMIT 9,1" );  
  $ligne=mysql_fetch_object($req);  
  $idlimit = $ligne->id;
  if($ligne_artiste->id>=$idlimit){
   echo "<div align=center><a class=main href='index.php?p=scriptsphp3/lyrics/artistes&cat=$cat&letter=$letter&id=$ligne_artiste->id' title='$ligne_artiste->nbr Chansons !'>$ligne_artiste->nom</a> New!<br>";
  }else{
   echo "<div align=center><a class=main href='index.php?p=scriptsphp3/lyrics/artistes&cat=$cat&letter=$letter&id=$ligne_artiste->id' title='$ligne_artiste->nbr Chansons !'>$ligne_artiste->nom</a><br>";
  }
  echo "</div>";
 }
}elseif ($HTTP_GET_VARS["cat"] == "chansons" ){
 echo("<TABLE width=350 height=11 align=center>\n<TR>\n<TD>\n<TABLE align=center>" );
 if($HTTP_GET_VARS["letter"] == "#" ){
  $requete = mysql_query("SELECT DISTINCT t1.titre,t1.id_lyrics,t1.nb_click,t1.id_artistes,t2.id,t2.nom FROM chansons As t1 LEFT join artistes As t2 On t1.id_artistes=t2.id WHERE t1.titre REGEXP '^[0-9].*' ORDER BY t1.titre" );
 }elseif(ereg("^[A-Z]$", $HTTP_GET_VARS["letter"])){
  $requete = mysql_query("SELECT DISTINCT t1.titre,t1.id_lyrics,t1.nb_click,t1.id_artistes,t2.id,t2.nom FROM chansons As t1 LEFT join artistes As t2 On t1.id_artistes=t2.id WHERE t1.titre LIKE '{$HTTP_GET_VARS["letter"]}%' ORDER BY t1.titre" );
 }else{
  $requete = mysql_query("SELECT * FROM chansons WHERE titre LIKE 'A%'" );  
 }  
 $nbrow=mysql_fetch_row($requete);
 $col1=($nbrow-($nbrow%2))/2+($nbrow%2);
 $num=0;
 while($ligne_chanson=mysql_fetch_object($requete)){
  $num++;
  if($num==$col1){
   echo "</TABLE>\n</TD>\n<TD>\n<TABLE align=center>";
  }
  echo "<TR><TD><a href=index.php?p=scriptsphp3/lyrics/paroles&cat=$cat&letter=$letter&id_lyrics=$ligne_chanson->id_lyrics&id=$ligne_chanson->id>$ligne_chanson->titre</a><font color=white> - $ligne_chanson->nom</TD></TR>";
 }
 echo"</TABLE>\n</TD>\</TR>\n</TABLE>";
}
?>


Message édité par bozocarzu le 15-07-2002 à 19:13:53
Reply

Marsh Posté le 15-07-2002 à 19:36:01    

Voila le code, et en plus il marche
 

<?
if($HTTP_GET_VARS["cat"] == "artistes" ){
 if($HTTP_GET_VARS["letter"] == "#" ){
  $requete = mysql_query("SELECT * FROM artistes WHERE nom REGEXP '^[0-9].*' ORDER BY nom" );
 }elseif(ereg("^[A-Z]$", $HTTP_GET_VARS["letter"])){
  $requete = mysql_query("Select DISTINCT t1.nom,id, count(t2.id_artistes) As nbr FROM artistes As t1 LEFT join chansons As t2 On t1.id=t2.id_artistes WHERE t1.nom LIKE '{$HTTP_GET_VARS["letter"]}%' group by t1.nom" );  
 }else{
  $requete = mysql_query("SELECT * FROM artistes WHERE nom LIKE 'A%'" );
 }  
 while($ligne_artiste=mysql_fetch_object($requete)){
  $req=mysql_query("SELECT id FROM artistes ORDER BY id DESC LIMIT 9,1" );  
  $ligne=mysql_fetch_object($req);  
  $idlimit = $ligne->id;
  if($ligne_artiste->id>=$idlimit){
   echo "<div align=center><a class=main href='index.php?p=scriptsphp3/lyrics/artistes&cat=$cat&letter=$letter&id=$ligne_artiste->id' title='$ligne_artiste->nbr Chansons !'>$ligne_artiste->nom</a> New!<br>";
  }else{
   echo "<div align=center><a class=main href='index.php?p=scriptsphp3/lyrics/artistes&cat=$cat&letter=$letter&id=$ligne_artiste->id' title='$ligne_artiste->nbr Chansons !'>$ligne_artiste->nom</a><br>";
  }
  echo "</div>";
 }
}elseif ($HTTP_GET_VARS["cat"] == "chansons" ){
 echo("<TABLE width=350 height=11>\n<TR>\n<TD>\n<TABLE align=center>" );
 if($HTTP_GET_VARS["letter"] == "#" ){
  $requete = mysql_query("SELECT DISTINCT t1.titre,t1.id_lyrics,t1.nb_click,t1.id_artistes,t2.id,t2.nom FROM chansons As t1 LEFT join artistes As t2 On t1.id_artistes=t2.id WHERE t1.titre REGEXP '^[0-9].*' ORDER BY t1.titre" );
 }elseif(ereg("^[A-Z]$", $HTTP_GET_VARS["letter"])){
  $requete = mysql_query("SELECT DISTINCT t1.titre,t1.id_lyrics,t1.nb_click,t1.id_artistes,t2.id,t2.nom FROM chansons As t1 LEFT join artistes As t2 On t1.id_artistes=t2.id WHERE t1.titre LIKE '{$HTTP_GET_VARS["letter"]}%' ORDER BY t1.titre" );
 }else{
  $requete = mysql_query("SELECT * FROM chansons WHERE titre LIKE 'A%'" );  
 }  
 $nbrow=mysql_num_rows($requete);
 $col1=($nbrow-($nbrow%2))/2+($nbrow%2);
 $num=0;
 while($ligne_chanson=mysql_fetch_object($requete)){
  $num++;
  if($num==$col1){
   echo "</TABLE>\n</TD>\n<TD>\n<TABLE align=center>\n";
  }
  echo "<TR><TD><a href=index.php?p=scriptsphp3/lyrics/paroles&cat=$cat&letter=$letter&id_lyrics=$ligne_chanson->id_lyrics&id=$ligne_chanson->id>$ligne_chanson->titre</a><font color=white> - $ligne_chanson->nom</TD></TR>\n";
 }
 echo"</TABLE>\n</TD></TR>\n</TABLE>\n";
}
?>

Reply

Marsh Posté le 15-07-2002 à 19:36:58    

cte topic de fous furieux :ouch:


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 15-07-2002 à 20:00:41    

Ouais, mais on as continuer sur msn lol  :pt1cable:  
Son code etais pas tres compliqué

Reply

Marsh Posté le 15-07-2002 à 20:01:41    

Voila les derniere mod sur ton script ludo :  
 

<?
if($HTTP_GET_VARS["cat"] == "artistes" ){
 if($HTTP_GET_VARS["letter"] == "#" ){
  $requete = mysql_query("SELECT * FROM artistes WHERE nom REGEXP '^[0-9].*' ORDER BY nom" );
 }elseif(ereg("^[A-Z]$", $HTTP_GET_VARS["letter"])){
  $requete = mysql_query("Select DISTINCT t1.nom,id, count(t2.id_artistes) As nbr FROM artistes As t1 LEFT join chansons As t2 On t1.id=t2.id_artistes WHERE t1.nom LIKE '{$HTTP_GET_VARS["letter"]}%' group by t1.nom" );  
 }else{
  echo"! Choisissez une lettre !";
  exit();
 }  
 while($ligne_artiste=mysql_fetch_object($requete)){
  $req=mysql_query("SELECT id FROM artistes ORDER BY id DESC LIMIT 9,1" );  
  $ligne=mysql_fetch_object($req);  
  $idlimit = $ligne->id;
  if($ligne_artiste->id>=$idlimit){
   echo "<div align=center><a class=main href='index.php?p=scriptsphp3/lyrics/artistes&cat=$cat&letter=$letter&id=$ligne_artiste->id' title='$ligne_artiste->nbr Chansons !'>$ligne_artiste->nom</a> New!<br>";
  }else{
   echo "<div align=center><a class=main href='index.php?p=scriptsphp3/lyrics/artistes&cat=$cat&letter=$letter&id=$ligne_artiste->id' title='$ligne_artiste->nbr Chansons !'>$ligne_artiste->nom</a><br>";
  }
  echo "</div>";
 }
}elseif ($HTTP_GET_VARS["cat"] == "chansons" ){
 echo("<TABLE width=80%>\n<TR>\n<TD>\n<TABLE align=center>" );
 if($HTTP_GET_VARS["letter"] == "#" ){
  $requete = mysql_query("SELECT DISTINCT t1.titre,t1.id_lyrics,t1.nb_click,t1.id_artistes,t2.id,t2.nom FROM chansons As t1 LEFT join artistes As t2 On t1.id_artistes=t2.id WHERE t1.titre REGEXP '^[0-9].*' ORDER BY t1.titre" );
 }elseif(ereg("^[A-Z]$", $HTTP_GET_VARS["letter"])){
  $requete = mysql_query("SELECT DISTINCT t1.titre,t1.id_lyrics,t1.nb_click,t1.id_artistes,t2.id,t2.nom FROM chansons As t1 LEFT join artistes As t2 On t1.id_artistes=t2.id WHERE t1.titre LIKE '{$HTTP_GET_VARS["letter"]}%' ORDER BY t1.titre" );
 }else{
  echo"! Choisissez une lettre !";
  exit();
 }  
 $nbrow=mysql_num_rows($requete);
 $col1=($nbrow-($nbrow%2))/2+($nbrow%2);
 $num=0;
 while($ligne_chanson=mysql_fetch_object($requete)){
  $num++;
  if($num==$col1){
   echo "</TABLE>\n</TD>\n<TD>\n<TABLE align=center>\n";
  }
  echo "<TR><TD valign=top><a href=index.php?p=scriptsphp3/lyrics/paroles&cat=$cat&letter=$letter&id_lyrics=$ligne_chanson->id_lyrics&id=$ligne_chanson->id>$ligne_chanson->titre</a><font color=white> - $ligne_chanson->nom</TD></TR>\n";
 }
 echo"</TABLE>\n</TD></TR>\n</TABLE>\n";
}
?>

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed