PHP/MySQL - Trier des données
Résolu
CarbonKoala
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
CarbonKoala Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
CarbonKoala Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je vous sollicite, car j'ai un problème dans la programmation d'une galerie photo pour mon club de vélo.
Je souhaite que les membres du comité, par un simple formulaire, puisse envoyer des photos et créer des albums.
Pour l'instant, j'ai réussi:
1. Envoyer les photos dans un dossier spécifique
2. Entrer les données dans une base de donnée MySQL
La base de donnée est structurée ainsi:
1. id (le numéro de la photo (auto-incrémentation, clé primaire))
2. nomalbum (le nom de l'album dans lequel la photo se trouve)
3. cheminacces (où la photo se trouve sur le serveur)
4. date (c'est une chaine de caractère)
Donc j'ai une base de donnée avec des données du genre:
6 / Sortie VTT / images/galerie/sortie2011_1.jpg / le 29 avril 2011
5 / Sortie VTT / images/galerie/sortie2011_2.jpg / le 29 avril 2011
4 / Sortie VTT / images/galerie/sortie2011_3.jpg / le 29 avril 2011
3 / Sortie sur route / images/galerie/sortieroute_1.jpg / le 21 avril 2011
2 / Sortie sur route / images/galerie/sortieroute_2.jpg / le 21 avril 2011
1 / Sortie sur route / images/galerie/sortieroute_3.jpg / le 21 avril 2011
Je souhaiterais maintenant créer une requête PHP et MySQL pour trier les données extraites de la base et afficher ça sur le site de la sorte (je simplifie au maximum, j'aurai pas de problème à mettre en forme avec le PHP):
<h3>nomalbum1 (date1)</h3>
<img src="cheminaccesX" />
<h3>nomalbum2 (date2)</h3>
<img src="cheminaccesY" />
Mon principal problème est que je ne sais pas comment m'en sortir pour trier les données et séparer le nom de l'album du reste. En d'autres termes, je ne sais pas comment afficher le <h3>nomalbum (date)</h3> seulement 1 fois et pas entre chaque image (si j'ai plusieurs albums évidement).
J'espère avoir été assez clair :)
Merci d'avance de votre aide!
Je vous sollicite, car j'ai un problème dans la programmation d'une galerie photo pour mon club de vélo.
Je souhaite que les membres du comité, par un simple formulaire, puisse envoyer des photos et créer des albums.
Pour l'instant, j'ai réussi:
1. Envoyer les photos dans un dossier spécifique
2. Entrer les données dans une base de donnée MySQL
La base de donnée est structurée ainsi:
1. id (le numéro de la photo (auto-incrémentation, clé primaire))
2. nomalbum (le nom de l'album dans lequel la photo se trouve)
3. cheminacces (où la photo se trouve sur le serveur)
4. date (c'est une chaine de caractère)
Donc j'ai une base de donnée avec des données du genre:
6 / Sortie VTT / images/galerie/sortie2011_1.jpg / le 29 avril 2011
5 / Sortie VTT / images/galerie/sortie2011_2.jpg / le 29 avril 2011
4 / Sortie VTT / images/galerie/sortie2011_3.jpg / le 29 avril 2011
3 / Sortie sur route / images/galerie/sortieroute_1.jpg / le 21 avril 2011
2 / Sortie sur route / images/galerie/sortieroute_2.jpg / le 21 avril 2011
1 / Sortie sur route / images/galerie/sortieroute_3.jpg / le 21 avril 2011
Je souhaiterais maintenant créer une requête PHP et MySQL pour trier les données extraites de la base et afficher ça sur le site de la sorte (je simplifie au maximum, j'aurai pas de problème à mettre en forme avec le PHP):
<h3>nomalbum1 (date1)</h3>
<img src="cheminaccesX" />
<h3>nomalbum2 (date2)</h3>
<img src="cheminaccesY" />
Mon principal problème est que je ne sais pas comment m'en sortir pour trier les données et séparer le nom de l'album du reste. En d'autres termes, je ne sais pas comment afficher le <h3>nomalbum (date)</h3> seulement 1 fois et pas entre chaque image (si j'ai plusieurs albums évidement).
J'espère avoir été assez clair :)
Merci d'avance de votre aide!
A voir également:
- PHP/MySQL - Trier des données
- Fuite données maif - Guide
- Trier des données excel - Guide
- Easy php - Télécharger - Divers Web & Internet
- Sauvegarde des données - Guide
- Supprimer les données de navigation - Guide
Donc du style:
PHOTO DU CAMP DE VACANCES (Le 20 avril 2011)
=img= =img= =img= =img= =img= =img= =img= =img=
=img= =img= =img= =img= =img= =img= =img= =img=
=img= =img= =img= =img= =img= =img= =img= =img=
PHOTO DE LA COURSE (Le 14 avril 2011)
=img= =img= =img= =img= =img= =img= =img= =img=
=img= =img= =img= =img= =img= =img= =img= =img=
=img= =img= =img= =img= =img= =img= =img= =img=
Ta requete doit etre du genre SELECT * FROM table ORDER BY nomalbum ASC
Ou tout simplement SELECT * FROM table
<?php
// Connexion à la base de données
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=xxxx;dbname=xxx', 'xxx', 'xxx.', $pdo_options);
// Récupération des 10 derniers messages
$reponse = $bdd->query('SELECT nomalbum, cheminacces, date FROM galerie ORDER BY nomalbum DESC LIMIT 0, 100');
$old = 'null';
$count = 0;
while ($donnees = $reponse->fetch())
{
if ($donnees['nomalbum'] != $old)
{
echo '<h4>' . $donnees['nomalbum'] . ' (' . $donnees['date'] . ')</h4>' ;
echo '<p class="photos"><a href="' . $donnees['cheminacces'] . '" rel="lightbox" title="' . $donnees['nomalbum'] . '"><img class="photos" src="' . $donnees['cheminacces'] . '"></a>' ;
$old = $donnees['nomalbum'];
$count = $count + 1;
if ($count = mysql_num_rows($reponse))
{
echo '</p>';
}
}
else
{
echo '<a href="' . $donnees['cheminacces'] . '" rel="lightbox" title="' . $donnees['nomalbum'] . '"><img class="photos" src="' . $donnees['cheminacces'] . '"></a>' ;
$count = $count + 1;
if ($count = mysql_num_rows($reponse))
{
echo '</p>';
}
}
}
$reponse->closeCursor();
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>