Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
909 connectés 

  FORUM HardWare.fr
  Programmation

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

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

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

n°176407
ludo2604
kitsch' me if u can
Posté le 15-07-2002 à 15:20:01  profilanswer
 

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!  
mood
Publicité
Posté le 15-07-2002 à 15:20:01  profilanswer
 

n°176453
bozocarzu
Posté le 15-07-2002 à 16:06:59  profilanswer
 

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
n°176475
--greg--
Posté le 15-07-2002 à 16:22:22  profilanswer
 

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


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°176480
bozocarzu
Posté le 15-07-2002 à 16:24:13  profilanswer
 

--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
n°176482
--greg--
Posté le 15-07-2002 à 16:25:11  profilanswer
 

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!
n°176484
ludo2604
kitsch' me if u can
Posté le 15-07-2002 à 16:26:45  profilanswer
 

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!  
n°176492
bozocarzu
Posté le 15-07-2002 à 16:33:36  profilanswer
 

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

n°176507
ludo2604
kitsch' me if u can
Posté le 15-07-2002 à 16:40:46  profilanswer
 

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!  
n°176545
bozocarzu
Posté le 15-07-2002 à 17:06:51  profilanswer
 

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

n°176571
bozocarzu
Posté le 15-07-2002 à 17:31:15  profilanswer
 

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>";
?>

mood
Publicité
Posté le 15-07-2002 à 17:31:15  profilanswer
 

n°176576
ludo2604
kitsch' me if u can
Posté le 15-07-2002 à 17:55:54  profilanswer
 

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!  
n°176595
bozocarzu
Posté le 15-07-2002 à 18:55:55  profilanswer
 

ICQ : 98380491
Msn : bozocarzu@hotmail.com

n°176611
bozocarzu
Posté le 15-07-2002 à 19:12:48  profilanswer
 

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
n°176629
bozocarzu
Posté le 15-07-2002 à 19:36:01  profilanswer
 

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";
}
?>

n°176633
--greg--
Posté le 15-07-2002 à 19:36:58  profilanswer
 

cte topic de fous furieux :ouch:


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°176644
bozocarzu
Posté le 15-07-2002 à 20:00:41  profilanswer
 

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

n°176645
bozocarzu
Posté le 15-07-2002 à 20:01:41  profilanswer
 

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";
}
?>


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

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

 

Sujets relatifs
[PHP] Manipulation de données contenant des 'quotes' ?Tag personalisés dans PHP (résolu)
[PHP / JavaScript] variable php dans un formulaire :[ PHP ] Récupérer le répertoire actuel ?
[MySQL / PHP] Obtenir une entrée aléatoirement.[PHP] dates
[ PHP ] tri par page[PHP] Couper une variable au bout de X caractères sur un espace...
[PHP] $var= 1.222222555552222; --------> $var=1.23; ?? comment on fait[PHP] Parsing sur site en php to excel
Plus de sujets relatifs à : [ PHP ] Perdu dans mes boucles > j'ai besoin de vous <


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR