IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Afficher date par ordre croissant ou décroissant


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 69
    Par défaut Afficher date par ordre croissant ou décroissant
    Bonjour,
    Voila je souhaite afficher le contenu d'une base de données par ordre croissant ou décroissant.
    J'arrive à l'afficher, la ou j'ai du mal c'est de ranger par date.
    J'ai un formulaire avec un champ date, cette date est affiché par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $jour = date("d/m/Y",$lecturedate);
    sous la forme 02/09/2009
    elle est ensuite envoyé dans la base de données MySQL lors de la validation du formulaire.
    La table "date" de la base est du type "date",
    mais je ne sais pas comment les ranger par ordre croissant ou décroissant
    Merci de votre aide

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Salut,
    Utilises
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM nomTable ORDER BY nomChampDate ASC; //croissant 
    SELECT * FROM nomTable ORDER BY nomChampDate DESC; //décroissant

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 69
    Par défaut
    Bonjour
    J'ai essayé mais ca les arrange comme ca:

    16/06/2009
    17/07/2009
    18/04/2009
    etc...
    ca prend le 1er chiffre en compte mais ca ne gère pas les mois

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut

    Fait voir ton code.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 69
    Par défaut
    Voici le code:

    pour récupérer la date:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $lecturedate = time();
    $jour = date("d-m-Y",$lecturedate);
    ?>
    Pour récupérer la date dans le formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <table border="0" div align="center" width="700">
    <tr>
    <td colspan="1" div align="right"></td><td colspan="1" div align="left"><input type="hidden" name="date" value="<?php echo $jour; ?>" maxlength="10" size="10" style="background:#BBDDFF"></td>
    </tr>
    </table>
    Lors de la validation du formulaire dans fichier envoi.php, je récupère la date:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $date = $_POST['date'];
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $requete = "UPDATE formation SET etat='$etat', date='$date',  commantaitre='$commentaire'";
    En fait il y a deja des infos dans la base de données, et lorsque le formulaire est validé ca va rajouter dans la base la date du jour de validation,
    mais avant que le formulaire soit valider le champs date dans la base est à "0000-00-00" ce qui s'affiche, alors que je voudrais que cela reste vide jusqu'a ce que le formulaire soit complété, avec la date dans le champs "date" à 02/09/2009
    j'ai donc 2 problèmes:
    1) pour classer par ordre
    2) empecher l'affichage de "0000-00-00" dans la base car si on affiche avant que le formulaire soit complété, la ligne validation du formulaire affiche 0000-00-00 à la place de rester vide

    c'est compliqué lol

    Merci

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Par défaut
    pour faire plu simple tu ajoute un champ tim stamp avec CURRENT_TIMESTAMP dan ta table

    SELECT * FROM nomTable ORDER BY "champ tim stamp" ASC; //croissant
    SELECT * FROM nomTable ORDER BY "champ tim stamp" DESC; //décroissant

Discussions similaires

  1. Trier une Grille par ordre croissant ou décroissant
    Par nurah dans le forum Composants VCL
    Réponses: 6
    Dernier message: 13/02/2013, 12h05
  2. Réponses: 1
    Dernier message: 03/12/2010, 23h35
  3. algo qui affiche par ordre croissant des nombres
    Par jeremdu69300 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 18/09/2008, 23h16
  4. Dates par ordre décroissant
    Par calagan99 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/06/2007, 10h07
  5. [MySQL] Affichage des dates par ordre décroissant
    Par ash_rmy dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/03/2007, 13h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo