Aller au contenu

[Resolu]Affichage de la date à partir de mysql


ssc37

Messages recommandés

Bonjour, :chinois:

Voila je me suis mis un peu au php et je ne vois pas comment realiser ce que je souhaite. En fait j'ai une page qui liste les concerts présents dans ma base mysql, tout ca s'affiche dans un tableau mais je souhaiterais ne pas repeter la même date sur chaques lignes mais plutot genre ca:

===========================================
15-09-05
===========================================
20h | Département: 37 | Ville: Tours  | Groupes: FuriousBelly, Les Witotos
20h | Département: 75 | Ville: Paris   | Groupes: Kattilers, FlyingOver
===========================================
18-09-05
===========================================
22h | Département: 86 | Ville: Poitiers| Groupes: Haya, Fouta
22h | Département: 49 | Ville: Angers | Groupes: Zenzilé, Dr.Alimantado
===========================================

J'ai cherchais chez notre ami google mais point trouvé de choses qui m'éclaire :chinois:

Est-ce que quelqu'un pourais me donner un coup de :chinois: en m'expliquant comment je pourais faire?enfin le principe quoi :chinois: car je vois pas trop comment faire avec ce que j'ai appris pour le moment :chinois:

Merci :D

Lien vers le commentaire
Partager sur d’autres sites

Si tu souhaites vraiment faire ça, une manière possible est de stocker tes dates dans une table séparée associée à un champ id en auto_increment, et d'associer cet id à chaque concert

En gros :

Table date :

********************

id (INT, auto_increment) -> Simple ID

date_conert (date) -> Contient une date unique à chaque enregistrement

********************

Table concerts :

********************

id_concert (INT, auto_increment) -> Simple ID

département (INT) -> Ben le département

ville (VARCHAR) -> La ville

GROUPES (BLOB ou VARCHAR) -> Les groupes

date (INT) -> correspond à date.id pour récupérer la date associée

********************

En gros pour récupérer les concerts à une date précise (15 Sep 2005), ta requête ressemblera à un truc du genre :

SELECT concerts.departement,concerts.ville,concerts.groupes,concerts.date,date.date_concert

FROM concerts,date

WHERE concert.date = date.id

AND date.date_concert = "2005/09/15";

Bon je garantis pas la fiabilité de la requête (loin de là même) mais c'est en gros le principe...

Cette solution est valable si tu répertories beaucoup de concerts pour une même date, sinon ça ne vaut pas le coup...

Lien vers le commentaire
Partager sur d’autres sites

La solution viendra du php, pas du SQL...

Voici une méthode efficace, qui en plus te permet de conserver ta structure de tables SQL et tes requêtes telles quelles :

Dans ta boucle d'affichage des résultats, il suffit, à chaque ligne, de regarder si la date du concert est identique à la date du concert précédent (la date est placée dans une variable externe à la boucle, et remplie à chaque itération). Si la date est différente, tu affiches un joli en-tête avec la date, puis le concert. Dans le cas contraire, tu affiches juste le concert.

Et voilà :)

Lien vers le commentaire
Partager sur d’autres sites

Hem, je viens de comprendre que j'ai rien compris... C'est un grand pas.

Je pensais que tu ne voulais pas stocker la date dans les enregistrements concerts de ta base de données...

effectivement, la méthode de Sentinel devrait te convenir...

Sur ce, je m'en vais m'auto-flagéller pour n'avoir rien compris...

:chinois:

Lien vers le commentaire
Partager sur d’autres sites

Merci les gars :sm:

En fait hier soir je voulais faire un peu comme l'explique Sentinel mais je devais être trop fatigué pour réfléchir :sm: Je chercherais ce soir pour transformer l'explication de sentinel en code car je vois bien le principe mais pour le moment je mouline un peu :gne:

@ce soir je pense :sm:

Lien vers le commentaire
Partager sur d’autres sites

Bon bah ca loupe pas je trouve pas comment mettre un oeuvre ce que m'a dit Sentinel avec le peu de fonctions que je puisse connaitre de php et recherches sur google :chinois:

Voila mon rapide script si vous pouvez m'orienter: :francais:

<?php

// Déclaration des paramètres de connexion

$host = 'localhost';

$user = '***';

$bdd = 'test';

$passwd  = '***';

// Connexion au serveur

mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");

mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");

// Creation et envoi de la requete

$query = "SELECT date,departement,ville,groupe,heuredebut,paf,commentaires FROM concerts ORDER BY date";

$result = mysql_query($query);

// Recuperation des resultats

while($row = mysql_fetch_row($result)){

$date = $row[0];

$departement = $row[1];

$ville = $row[2];

$groupe = $row[3];

$heuredebut = $row[4];

$paf = $row[5];

$commentaires = $row[6];

$datefr = dateUsToFr($date);

echo "<tr>\n

<td>$datefr</td>\n

<td>$departement</td>\n

<td>$ville</td>\n

<td>$groupe</td>\n

<td>$heuredebut</td>\n

<td>$paf</td>\n

<td>$commentaires</td>\n

</tr>\n";

}

// Deconnexion de la base de donnees

mysql_close();

?>

</tr>

</table>

Lien vers le commentaire
Partager sur d’autres sites

Simplement :

$date_previous = '';
while($row = mysql_fetch_row($result))
{
 $date = $row[0];

 if ( $date_previous != $date )
 {
    /* affichage des entêtes */
   $date_previous = $date;
 }

Note au passage que mysql_fetch_assoc est à conseiller, (ainsi que l'utilisation d'alias dans les noms de champs SQL) pour éviter de devoir réécrire/modifier du code.

Lien vers le commentaire
Partager sur d’autres sites

Simplement :

$date_previous = '';
while($row = mysql_fetch_row($result))
{
 $date = $row[0];

 if ( $date_previous != $date )
 {
    /* affichage des entêtes */
   $date_previous = $date;
 }

Note au passage que mysql_fetch_assoc est à conseiller, (ainsi que l'utilisation d'alias dans les noms de champs SQL) pour éviter de devoir réécrire/modifier du code.

Merci :dtc: en fait après avoir posté je me suis dis "bon faut quand même que tu essaye de trouver par toi même mon gamin!! :-D " et j'y suis arrivé même si quand j'y repense je me dit "Franchement c'était simple faut que tu arretes de fumer quand tu apprend quelquechose.... :baton: "

Merci pour le conseil pour mysql_fetch_assoc j'étudierais ca......à tête reposée :sucre:

Hop resolu meme si c'était vraiment simple ;)

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...