[Résolu] Affichage à partir de mysql

Affichage à partir de mysql [Résolu] - PHP - Programmation

Marsh Posté le 20-08-2006 à 12:40:59    

Bonjour,
pour un site de musique, je dois créer une page agenda des concerts de manière dynamique. A savoir que le groupe inserera lui même ses dates, etc...
Jusque là tout est ok, tout fonctionne bien.
Mais, il leur arrive des fois de jouer avec une personne ou un groupe qui accompagne.
J'essaie de faire le script afin que l'affichage se fasse en fonction de l'accompagnant (order by 'accompa' and 'date') et c'est ici que je me trouve bloqué.
A vrai dire, je ne sais pas si je dois imbriquer 2 boucles ou pas.
Voici mon script:

Code :
  1. $table='agenda';
  2. $connex=mysql_connect("***","***","***" ) or die("Connexion impossible" );
  3. mysql_select_db("musicada" ) or die("Connexion impossible à la BD" );
  4. $requete=mysql_query("select * from $table order by 'avec' and 'date' " );
  5. if (!$requete)
  6. {
  7.  echo "Erreur à la base Mysql - Recommencez plus tard<br />";
  8.  echo "Merci<br>";
  9.  echo "<a href=\"index.php\">Retour</a>";
  10. }
  11. else
  12. {
  13.  echo "<h1>Les concerts</h1>";
  14.  while ($contenu=mysql_fetch_array($requete))
  15.   {
  16.    echo "<h3>Musica dal Vivo - ".$contenu['avec']."</h3>"; /* c'est ici que je bloque*/
  17.    echo "Nom: ".$contenu['evenement']."<br />";
  18.    echo "Lieu: ".$contenu['lieu']."<br />";
  19.    echo "date: ".$contenu['date']."<br />";
  20.    echo "Adresse: ".$contenu['adresse']."<br />";
  21.    echo  "Infos: ".$contenu['info']."<br />";
  22.    echo "<hr class=\"disco\" />";
  23.   }
  24. }
  25. mysql_close();


 
A vrai dire, j'ai essayé de mettre une autre boucle, mais je ne comprends pas très bien. Je demande juste que l'on m'explique les étapes à suivre.
 
Merci


Message édité par oualad le 25-08-2006 à 00:00:24

---------------
Un forum étant un lieu d'échange, j'accepte les MP uniquement pour les rendez-vous coquins - Imac PPC G3 350Mhz Mac OS X 10.3.9
Reply

Marsh Posté le 20-08-2006 à 12:40:59   

Reply

Marsh Posté le 20-08-2006 à 12:47:34    

Si le groupe fait le même concert avec plusieurs autres grps, tu va faire une entrée pour chaque personne qui accompagne ?
 
J'aurais tendance à dire que le schéma de la base de donnée n'est pas très bien fait :D ou sinon il faut que les noms du champ "avec" soit déjà trié


---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 20-08-2006 à 13:01:42    

C'est bien de me dire que le schéma de ma BD est mal fait, mais c'est mieux de m'expliquer aussi.
Merci


---------------
Un forum étant un lieu d'échange, j'accepte les MP uniquement pour les rendez-vous coquins - Imac PPC G3 350Mhz Mac OS X 10.3.9
Reply

Marsh Posté le 20-08-2006 à 13:40:43    

zapan666 a écrit :

Si le groupe fait le même concert avec plusieurs autres grps, tu va faire une entrée pour chaque personne qui accompagne ?
 
J'aurais tendance à dire que le schéma de la base de donnée n'est pas très bien fait :D ou sinon il faut que les noms du champ "avec" soit déjà trié


 

oualad a écrit :

C'est bien de me dire que le schéma de ma BD est mal fait, mais c'est mieux de m'expliquer aussi.
Merci


 
en gras, l'explication


Message édité par zapan666 le 20-08-2006 à 13:40:57

---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 20-08-2006 à 13:53:50    

Citation :

Si le groupe fait le même concert avec plusieurs autres grps, tu va faire une entrée pour chaque personne qui accompagne ?
 
J'aurais tendance à dire que le schéma de la base de donnée n'est pas très bien fait :D ou sinon il faut que les noms du champ "avec" soit déjà trié


 
Je ne saisi pas trop :cry:  
Ce que je ne veux pas se trouve ici
j'aimerais plus tot un genre de truc ou tout les concerts avec Pascale Elia, se suivent sans que cette personne soit toujours renomée.
En html, c'est simple ça donne ceci
Et c'est ce que je n'arrive pas à faire de manièere dynamique.
 
Merci de ton aide


---------------
Un forum étant un lieu d'échange, j'accepte les MP uniquement pour les rendez-vous coquins - Imac PPC G3 350Mhz Mac OS X 10.3.9
Reply

Marsh Posté le 20-08-2006 à 14:26:48    

a ok, je croyais que le groupe pouvait être accompagné par 1 ou plusieurs artistes.
 
Tu peux toujours faire quelque chose genre :  
 
if ( $artiste_prec != $artiste_courrant ) { affiche le nom de l'artiste } sinon { affiche la date de concert }


Message édité par zapan666 le 20-08-2006 à 14:27:04

---------------
my flick r - Just Tab it !
Reply

Marsh Posté le 20-08-2006 à 22:26:23    

Merci de ta réponse.
J'ai essayé mais ça foire.  
 
Je vais continuer et reviendrais si je trouve (ou pas)
 
Merci


---------------
Un forum étant un lieu d'échange, j'accepte les MP uniquement pour les rendez-vous coquins - Imac PPC G3 350Mhz Mac OS X 10.3.9
Reply

Marsh Posté le 20-08-2006 à 23:42:49    

Ca y est, j'ai trouvé. J'ai fait des tests et ça m'a l'air correct.
Il ne me reste qu'à faire une mise en page correcte et je pense que mon problème sera résolu.

Code :
  1. $table='agenda';
  2. $connex=mysql_connect("***"***","***" ) or die("Connexion impossible" );
  3. mysql_select_db("musicada" ) or die("Connexion impossible à la BD" );
  4. $requete=mysql_query("select * from $table order by 'avec' " );
  5. if (!$requete)
  6. {
  7.  echo "Erreur à la base Mysql - Recommencez plus tard<br />";
  8.  echo "Merci<br>";
  9.  echo "<a href=\"index.php\">Retour</a>";
  10. }
  11. else
  12. {$avec=$contenu['avec'];
  13.  while ($contenu=mysql_fetch_array($requete))
  14.   {
  15.   if(($contenu['avec']!=$avec) and ($contenu['avec']!="" )) {
  16.    echo "<h3>Avec ".$contenu['avec']."</h3>";
  17.    $avec=$contenu['avec'];
  18.    echo "<p>Evénement: ".$contenu['evenement']."<br />";
  19.    echo "Lieu: ".$contenu['lieu']."<br />";
  20.    echo "date: ".$contenu['date']."<br />";
  21.    echo "Adresse: ".$contenu['adresse']."<br />";
  22.    echo  "Infos: ".$contenu['info']."</p>";}
  23.   elseif (($contenu['avec']=$avec) or ($contenu['avec']="" )){
  24.    $avec=$contenu['avec'];
  25.    echo "<p>Evénement: ".$contenu['evenement']."<br />";
  26.    echo "Lieu: ".$contenu['lieu']."<br />";
  27.    echo "date: ".$contenu['date']."<br />";
  28.    echo "Adresse: ".$contenu['adresse']."<br />";
  29.    echo  "Infos: ".$contenu['info']."</p>";}
  30.   }
  31. }
  32. mysql_close();


 
Bien entendu, le code est optimisable. Je pourrais m'éviter la redondance en utilisant qu'une seule fois la partie avec les "echo".
Merci de ton aide
@+


Message édité par oualad le 21-08-2006 à 09:24:38

---------------
Un forum étant un lieu d'échange, j'accepte les MP uniquement pour les rendez-vous coquins - Imac PPC G3 350Mhz Mac OS X 10.3.9
Reply

Sujets relatifs:

Leave a Replay

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