Page 1 sur 2
Regroupement par date
Posté : 06 juin 2005, 10:51
par Todd
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
Posté : 06 juin 2005, 11:01
par mere-teresa
Fais le au moment de la requête à la BDD.
Posté : 06 juin 2005, 11:33
par Invité
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
Posté : 06 juin 2005, 11:49
par mere-teresa
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 ?
Posté : 06 juin 2005, 12:00
par Todd
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
Posté : 06 juin 2005, 12:09
par mere-teresa
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 ?
Posté : 06 juin 2005, 12:16
par zeus
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

Une grosse bise -smack- sur chaque joue -smack-
C'est quand que tu nous offre à boire ?

Posté : 06 juin 2005, 12:38
par mere-teresa
Quand mon banquier sera mon ami ?
On se voit le 8 ?
Posté : 06 juin 2005, 12:59
par Invité
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

Posté : 06 juin 2005, 13:16
par zeus
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 !!
Posté : 06 juin 2005, 14:05
par mere-teresa
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 
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
Posté : 06 juin 2005, 14:09
par Invité
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> ";
if ($rowfesti['lieu']!="")
{
echo $rowfesti["lieu"]." ";
}
else
{
echo " - ";
}
if($rowfesti['tarif']!="")
{
echo $rowfesti["tarif"]." <br><br><br></td>";
}
else
{
echo " - <br><br><br>";
}
}
echo "</td></tr></table>";
?>
Je veux afficher le festival, puis tout les concert pour ce dernier
Posté : 06 juin 2005, 14:29
par mere-teresa
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.
Posté : 06 juin 2005, 15:41
par pjl
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.
Posté : 06 juin 2005, 15:54
par Invité
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?