Probleme affichage sql php
Résolu
audi68
Messages postés
571
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour a tous,
J ai une base de donné avec date et heure mais j aimerais afficher les images par date croissant
c est a dire
01/02/12
05/02/12
28/02/12
01/05/12
et ainsi de suite
j effectue la requete suivante
$req = mysql_query("SELECT * FROM exif WHERE dossier='$doss' ORDER BY date ASC, heure ASC"
mais l affichage se fait sous cette forme
01/06/12
05/06/12
15/02/12
28/01/12
que dois changer dans la requete pour afficher le resultat correctement
merci de votre aide
J ai une base de donné avec date et heure mais j aimerais afficher les images par date croissant
c est a dire
01/02/12
05/02/12
28/02/12
01/05/12
et ainsi de suite
j effectue la requete suivante
$req = mysql_query("SELECT * FROM exif WHERE dossier='$doss' ORDER BY date ASC, heure ASC"
mais l affichage se fait sous cette forme
01/06/12
05/06/12
15/02/12
28/01/12
que dois changer dans la requete pour afficher le resultat correctement
merci de votre aide
A voir également:
- Probleme affichage sql php
- Affichage double ecran - Guide
- Easy php - Télécharger - Divers Web & Internet
- Problème affichage fenêtre windows 10 - Guide
- Windows 11 affichage classique - Guide
- Thunderbird problème affichage message - Forum Thunderbird
15 réponses
Je suppose que le champ "date" est un VARCHAR et non un champ DATE ou DATETIME (voir même TIMESTAMP)
Puisqu'il s'agit d'un VARCHAR, c'est un tri alphabétique qui est effectué.
Puisqu'il s'agit d'un VARCHAR, c'est un tri alphabétique qui est effectué.
Bonsoir
J'étais en train d'écrire la même chose...
J'ajoute :
Comme ta date aura alors le format yyyy-mm-jj, il faudra la mettre en forme pour la récupérer :
J'étais en train d'écrire la même chose...
J'ajoute :
Comme ta date aura alors le format yyyy-mm-jj, il faudra la mettre en forme pour la récupérer :
"SELECT *,DATE_FORMAT(date,"%d-%m-%y") datef FROM exif WHERE dossier='$doss' ORDER BY date ASC, heure ASC"
merci de votre reponse
Le champ date est un VARCHAR dois je lui donner un autre champs?
Ma date est sous la forme correct c est a dire 19/05/2012
Merci de votre aide
Le champ date est un VARCHAR dois je lui donner un autre champs?
Ma date est sous la forme correct c est a dire 19/05/2012
Merci de votre aide
Le champ 'date' doit en effet avoir un autre type de champ, tel que DATE ou DATETIME.
Plutôt que d'avoir un champ 'date' et un champ 'heure', l'information serait stockée directement dans ce nouveau champ.
Attention à bien former la valeur au moment de l'INSERT. Classiquement, le format attendu est "2012-06-13 19:55:45"
Plutôt que d'avoir un champ 'date' et un champ 'heure', l'information serait stockée directement dans ce nouveau champ.
Attention à bien former la valeur au moment de l'INSERT. Classiquement, le format attendu est "2012-06-13 19:55:45"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
merci de ta reponse
Donc apres pour l affichage correct je fais un explode de la date
et pour le tri croissant je fais comment?
merci de ton aide
Donc apres pour l affichage correct je fais un explode de la date
et pour le tri croissant je fais comment?
merci de ton aide
Pas besoin de faire un explode, je t'ai déjà donné la requête :
Ça fait à la fois le tri (ORDER BY) et la mise en forme (DATE_FORMAT) - utilise %y ou %Y suivant que tu veux 2 ou 4 chiffres (au début tu en montrais 2, maintenant tu en montres 4...)
[edit] DATE_FORMAT(date,"%d/%m/%y") si tu veux des slash plutôt que des tirets
"SELECT *,DATE_FORMAT(date,"%d-%m-%y") datef FROM exif WHERE dossier='$doss' ORDER BY date ASC, heure ASC"
Ça fait à la fois le tri (ORDER BY) et la mise en forme (DATE_FORMAT) - utilise %y ou %Y suivant que tu veux 2 ou 4 chiffres (au début tu en montrais 2, maintenant tu en montres 4...)
[edit] DATE_FORMAT(date,"%d/%m/%y") si tu veux des slash plutôt que des tirets
merci de ta reponse
Par contre j ai modifier le champ j ai mis datetime
donc je n utilise plus le champ heure
et pour afficher l heure je fait coimment pas de explode?
merci de ton aide
Par contre j ai modifier le champ j ai mis datetime
donc je n utilise plus le champ heure
et pour afficher l heure je fait coimment pas de explode?
merci de ton aide
donc je n utilise plus le champ heure
et pour afficher l heure je fait coimment
Tu n'utilises plus le champ heure et tu veux afficher l'heure ?
J'ai du mal à comprendre....
La fonction DATE_FORMAT marche aussi bien sur un champ de type date ou datetime. Et tu as le droit de lire toi-même la doc de mysql pour voir toutes les variantes de format possibles si tu veux afficher l'heure, maintenant que je t'ai indiqué quelle était la bonne fonction.
et pour afficher l heure je fait coimment
Tu n'utilises plus le champ heure et tu veux afficher l'heure ?
J'ai du mal à comprendre....
La fonction DATE_FORMAT marche aussi bien sur un champ de type date ou datetime. Et tu as le droit de lire toi-même la doc de mysql pour voir toutes les variantes de format possibles si tu veux afficher l'heure, maintenant que je t'ai indiqué quelle était la bonne fonction.
Tu n'utilises plus le champ heure et tu veux afficher l'heure ?
Si j utilise encore l heure mais lors de l insertion dans ma base je l enregistre sous cette forme
aaaa-mm-jj 00:00:00
donc c est pour ca que je demande comment afficher
si je fais tous simple
$req = mysql_query("SELECT * FROM exif WHERE dossier='$doss' ORDER BY date ASC"
l affichage n est pas correct il mais dans l order des jours et ne tiens pas compte du mois
Merci de ta reponse
Si j utilise encore l heure mais lors de l insertion dans ma base je l enregistre sous cette forme
aaaa-mm-jj 00:00:00
donc c est pour ca que je demande comment afficher
si je fais tous simple
$req = mysql_query("SELECT * FROM exif WHERE dossier='$doss' ORDER BY date ASC"
l affichage n est pas correct il mais dans l order des jours et ne tiens pas compte du mois
Merci de ta reponse
Si ton champ date est bien du type datetime alors si, cette requête ordonne correctement les dates. Il n'y a pas de doute là-dessus.
Et la requête
t'affiche bien les dates rangées par ordre croissant sous la forme jj-mm-aaaa
Et la requête
"SELECT *,DATE_FORMAT(date,"%d-%m-%Y") datef FROM exif WHERE dossier='$doss' ORDER BY date ASC"
t'affiche bien les dates rangées par ordre croissant sous la forme jj-mm-aaaa
merci de ta reponse mais il me donne c et erreur
Parse error: syntax error, unexpected '%' in
oui j affiche bien mes dates comme jj.mm.aaaa
merci de ton aide
Parse error: syntax error, unexpected '%' in
oui j affiche bien mes dates comme jj.mm.aaaa
merci de ton aide
ci joint la requete
<?php
// On récupère le contenu de $_GET dans l'adresse, soit ce qu'il y a après page.php3?dossier=
$doss=$_GET['dossier'];
$dir_nom = $doss; // dossier listé (pour lister le répertoir courant : $dir_nom = '.' --> ('point')
echo "<h2> $dir_nom </h2>\n\n";
echo "\t\t<ul>\n";
include('config.php');
$req = mysql_query("SELECT *,DATE_FORMAT(date,"%d-%m-%Y") datef FROM exif WHERE dossier='$doss' ORDER BY date ASC") or die(mysql_error()); // Requête SQL
while($dnn = mysql_fetch_array($req))
{
?>
<li> <a href=" <?php echo $dir_nom;?>/big/<?php echo $dnn['image'];?>" rel="prettyPhoto[gallery2]" title="Le <?php echo $dnn['date'];?> à <?php echo $dnn['heure'];?> "><img src="<?php echo $dir_nom;?>/<?php echo $dnn['image'];?>" alt="Photo prise le <?php echo $dnn['date'];?> à <?php echo $dnn['heure'];?> par <?php echo $dnn['personne'];?> ""/></a></li>
<?php
}
mysql_close();
?>
merci
<?php
// On récupère le contenu de $_GET dans l'adresse, soit ce qu'il y a après page.php3?dossier=
$doss=$_GET['dossier'];
$dir_nom = $doss; // dossier listé (pour lister le répertoir courant : $dir_nom = '.' --> ('point')
echo "<h2> $dir_nom </h2>\n\n";
echo "\t\t<ul>\n";
include('config.php');
$req = mysql_query("SELECT *,DATE_FORMAT(date,"%d-%m-%Y") datef FROM exif WHERE dossier='$doss' ORDER BY date ASC") or die(mysql_error()); // Requête SQL
while($dnn = mysql_fetch_array($req))
{
?>
<li> <a href=" <?php echo $dir_nom;?>/big/<?php echo $dnn['image'];?>" rel="prettyPhoto[gallery2]" title="Le <?php echo $dnn['date'];?> à <?php echo $dnn['heure'];?> "><img src="<?php echo $dir_nom;?>/<?php echo $dnn['image'];?>" alt="Photo prise le <?php echo $dnn['date'];?> à <?php echo $dnn['heure'];?> par <?php echo $dnn['personne'];?> ""/></a></li>
<?php
}
mysql_close();
?>
merci
Ok, je n'avais pas fait attention aux " et aux '. C'est une erreur énorme, étonnant que personne ne l'ait déjà siganlée - à commencer par toi.
$req = mysql_query("SELECT *,DATE_FORMAT(date,'%d-%m-%Y') datef FROM exif WHERE dossier='$doss' ORDER BY date ASC") or die(mysql_error()); // Requête SQL