Regroupement par date

Todd
Invité n'ayant pas de compte PHPfrance

06 juin 2005, 10:51

J'ai une serie d'évenement dans ma base de données, et a chacun correspond une date précise; la présentation est la suivante
date
auteur -lieu- tel
comment puis- je faire pour regrouper ses evenement par date, pour ne pas avoir afficher 50fios la même date

Je vous remerci d'avance

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

06 juin 2005, 11:01

Fais le au moment de la requête à la BDD.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Invité
Invité n'ayant pas de compte PHPfrance

06 juin 2005, 11:33

C'est ce que j'ai fais :
select a.nom,f.nom as nomfesti,p.lieu, p.date,a.id_artiste, p.tarif from artiste a, programmation p, festival f where(f.id_festival='$f') and (f.id_festival=p.id_festival)and(p.id_artiste=a.id_artiste) group by p.date
Mais ça me met qu'un seul artiste pour une date, même si il y en a plusieurs ce jour la

Et si je rajoute
group by p.date,a.nom ASC
Retour case départ, il me sépare les dates

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

06 juin 2005, 11:49

select a.nom,f.nom as nomfesti,p.lieu, p.date,a.id_artiste, p.tarif from artiste a, programmation p, festival f where(f.id_festival='$f') and (f.id_festival=p.id_festival)and(p.id_artiste=a.id_artiste) group by p.date
Mais ça me met qu'un seul artiste pour une date, même si il y en a plusieurs ce jour la
Dans PHPMyAdmin ?

Todd
Invité n'ayant pas de compte PHPfrance

06 juin 2005, 12:00

Dans PHPMyAdmin ?
Ds My Admi, ils me disent que ma requete a été effectué avec succès, ce que je sais déja puisque ça marche sur ma page mais ce n'est pas tout ce que je veux afficher

en clair jai seulement:

12/01/01
dupond paris 12

au lieu d'avoir toutes les occcurences de la table a la même date style :

12/01/01
dupond paris 12
marc perigueux 15

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

06 juin 2005, 12:09

Code : Tout sélectionner

select a.nom,f.nom as nomfesti,p.lieu, p.date,a.id_artiste, p.tarif from artiste a, programmation p, festival f where(f.id_festival='$f') and date= TADATE group by p.date
ET si tu demandais une date précise ? Est-ce que ça fonctionnerait mieux ?
Modifié en dernier par mere-teresa le 06 juin 2005, 12:39, modifié 1 fois.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 juin 2005, 12:16

En mission PHP jusque début septembre - merci PHPFrance !C'était mon anniversaire le 5 juin !
HAPPY BIRTHDAY TO YOU mere-teresa !!!

Désolé pour le retard

:love4: Une grosse bise -smack- sur chaque joue -smack- :love5: :love1:

C'est quand que tu nous offre à boire ? :boire9:
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

06 juin 2005, 12:38

Quand mon banquier sera mon ami ?
On se voit le 8 ?

Invité
Invité n'ayant pas de compte PHPfrance

06 juin 2005, 12:59

color=darkblue]ET si tu demandais une date précise ? Est-ce que ça fonctionnerait mieux ?[/color]
Non je peux pas demander une date, puisque je dois afficher toutes les dates pour un festival donné, donc tout doit apparaitre

Bon anniversaire ;)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

06 juin 2005, 13:16

Quand mon banquier sera mon ami ?
On se voit le 8 ?

??? :?: pk le 8 ? j'ai pas tout compris !!!

--EDIT--

Je viens de repenser à l'apéro PHP !!!!

Désolé mais je ne peux pas être sur Paris !!!! C'est dommage j'y étais hier !!
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

06 juin 2005, 14:05

ET si tu demandais une date précise ? Est-ce que ça fonctionnerait mieux ?
Non je peux pas demander une date, puisque je dois afficher toutes les dates pour un festival donné, donc tout doit apparaitre

Bon anniversaire ;)
Merci pour mon anniv :oops:
Sinon, pour ton souci...
Tu veux un seul festival, et regrouper les concerts par date ?
Simplifie ta requête...pour les tests. Tel est mon conseil. (tu ajouteras les champs supplémentaires après).

Tu veux quoi exactement ?
Si c'est bien un festival et classé par date :

Code : Tout sélectionner

SELECT nom, date FROM festival WHERE nom LIKE "eurockeennes" ORDER BY date
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Invité
Invité n'ayant pas de compte PHPfrance

06 juin 2005, 14:09

Pour ête plus clair :

Code : Tout sélectionner

<? /* variable */ $f=$_GET["id"]; /*recupération resultat */ $reqfesti = "select a.nom,f.nom as nomfesti,p.lieu, p.date,a.id_artiste, p.tarif from artiste a, programmation p, festival f where(f.id_festival='$f') and (f.id_festival=p.id_festival)and(p.id_artiste=a.id_artiste) group by p.date"; $requetefesti = mysql_query($reqfesti); $reqnom= "select festival.nom from festival where festival.id_festival='$f'"; $requenom= mysql_query($reqnom); echo"<table cellspacing='1'><tr>"; while ($rownom=mysql_fetch_array($requenom)) { echo "<td colspan='2' height='90'><b>".$rownom['nom']."</b></td></tr>"; } echo "<tr><td width='200' valign='top'><a href='presentationfest.php?id=$f'>- Présentation</a><br><br>"; echo "<a href='programmationfest.php?id=$f'>- Programmation</a><br><br>"; echo "<a href='InfosPratiquesfest.php?id=$f'>- Infos Pratiques</a><br><br>"; echo "<a href='equipefest.php?id=$f'>- Equipe </a><br><br>"; echo "<a href='Partenaires.php?id=$f'>- Partenaires</a><br><br><br><br>"; echo "<a href='liste_festivals.php'>- Retour </a><br><br></td>"; echo "<td valign='top' >"; while ($rowfesti=mysql_fetch_array($requetefesti)) { echo "<b>". $rowfesti["date"]."</b><br>"; echo" <a href='bioArt.php?id=".$rowfesti["id_artiste"]."'>".$rowfesti["nom"]."</a>&nbsp;&nbsp;&nbsp;"; if ($rowfesti['lieu']!="") { echo $rowfesti["lieu"]."&nbsp;&nbsp;&nbsp;"; } else { echo " - &nbsp;&nbsp;&nbsp;"; } if($rowfesti['tarif']!="") { echo $rowfesti["tarif"]."&nbsp;&nbsp;&nbsp;<br><br><br></td>"; } else { echo " - &nbsp;&nbsp;&nbsp;<br><br><br>"; } } echo "</td></tr></table>"; ?>
Je veux afficher le festival, puis tout les concert pour ce dernier

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

06 juin 2005, 14:29

Pour moi c'est pas plus clair, mes pauvres yeux ne se fatigueront pas à lire tout ça...
Que donne une requête comme celle que je t'ai proposé (ajustée avec TES noms de champs...) ?

edit: ;) j'avais tort, mais le monsieur n'a pas répondu à mes questions et je n'ai pas la possibilité de faire des tests.
Modifié en dernier par mere-teresa le 06 juin 2005, 16:19, modifié 1 fois.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

ViPHP
pjl
ViPHP | 2119 Messages

06 juin 2005, 15:41

c'est un traitement à faire en PHP.
Ta requete va te ramener ligne par lignes TOUS les élèments dont tu as besoin y compris la date sur chaque ligne.
Toi en PHP, tu vas devoir stocker cette date dans une variable de facon à pouvoir la comparer avec les dates des lignes suivantes.

Si elle est différente, tu l'affiches et tu stockes la nouvelle date dans ta variable.

Invité
Invité n'ayant pas de compte PHPfrance

06 juin 2005, 15:54

Yep c'est ce qu je pensais ausi, j'ai suivis tes conseil mere teresaa mais le resultat reviens toujours au même je dois trié par php, je pensais, initialisé uen variable date a zéro, dans un while la comparer avec la précédente (commment??) si elle est pareil, change rien, si elle diffère changement de date

Mai comment faire en php?