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 :

Convertir et utiliser les dates


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 63
    Points : 29
    Points
    29
    Par défaut Convertir et utiliser les dates
    BOnjour.

    J'ai dans ma BDD une date qui indique l’expiration d'in compte.
    J'esaie de comparer si cette date est inferrieur je ne souhaite na pas afficher la date.

    Je fais ma petite requête sql et en php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    $data = new webshopv3($config);
     
    $sql = "SELECT * FROM Active" ;
     
    $l = q($sql);
     
     
     
    			while ($row = $data->query_array($l))
    			{
     
     
    		            $dateDB = strtotime($row['EndDate']->format('Y-m-d H:i:s'));
     
    			    $eventend = strtotime('now')->format('Y-m-d H:i:s');
     
    			    if ($dateDB > $eventend) {
    			        var_dump($row['Title']);
    			    }
    			}
    			?>
     
    			    if ($dateDB > $eventend) {
    			        var_dump($row['Title']);
    			    }
    			}
    			?>
    Si je fait un while normal ya tout qui s'"affiche mais je souhaite n'afficher que les date de la BDD qui sont supérieur.a la date du jour (temps actuel).

    Voila j’espère recevoir des réponse car la je saisis pas du tout.

    CDT

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 768
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 768
    Points : 43 936
    Points
    43 936
    Par défaut
    Si ta date est bien dans un format date au niveau de la base de données, tu peux le faire directement dans ta requête SQL.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 63
    Points : 29
    Points
    29
    Par défaut
    Bonjour et merci.

    Comment faire en sql du coup svp ?
    Meme si je prefere la methode via PHP sql

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 253
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 253
    Points : 8 544
    Points
    8 544
    Billets dans le blog
    17
    Par défaut
    Tu comptes faire quelque chose en PHP des lignes expirées ? Si non alors il faut filtrer en SQL.

    Sélectionner les lignes dont la date d'expiration n'est pas encore atteinte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $sql = <<<SQL 
        SELECT ALL cols
        FROM activity
        WHERE expire_at > CURRENT_DATE
        SQL;
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 63
    Points : 29
    Points
    29
    Par défaut
    Merci.

    Pourriez vous retaper le code du script sql svp ?

    Vous avez été trop vite et de mon coté je peux pas debugué.

  6. #6
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 253
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 253
    Points : 8 544
    Points
    8 544
    Billets dans le blog
    17
    Par défaut
    Ton code est mal indenté et invalide, je n'y touche pas.

    Dans l'idée tu remplaces ton $sql par mon $sql en adaptant le nom des colonnes et de la table.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 63
    Points : 29
    Points
    29
    Par défaut
    Merci mais je n'y arrive pas.

    J'ai fais ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
      SELECT *
        FROM Active
        WHERE EndDate > CURRENT_DATE
    Mais j'ai une grosse erreur..

    Pourriez vous svp m'aider a faire cette requête SQL ?

    Merci

  8. #8
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 253
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 253
    Points : 8 544
    Points
    8 544
    Billets dans le blog
    17
    Par défaut
    Comment veux-tu qu'on t'aide ?

    Tu ne donnes ni le message d'erreur, ni la dernière version de ton script
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 63
    Points : 29
    Points
    29
    Par défaut
    J'utilise sql serveur.

    J'ai ce code sql qui fonctionne sous mssl mais en php.

    Voila :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT *
    FROM            Active
    WHERE        (EndDate > CURRENT_TIMESTAMP)
    J'ai bien un resultat et c'est ce que je veux.

    Par contre quand je passe sous php avec ce codde :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
     function co3()
                  {
                      $connectionInfo = array( "Database"=>"REGISTER", "UID"=>"USERDB", "PWD"=>"MDPDB");
     
                      global $conn,$config,$c_host;
                      $conn = sqlsrv_connect('VMI488950\SQLEXPRESS', $connectionInfo);
                      if(!$conn) die('SQL ERROR.');
                  }
     
                  function q3($q)
                  {
                      global $conn;
                      return sqlsrv_query($conn,$q,array(),array("Scrollable"=>SQLSRV_CURSOR_KEYSET));
                  }
     
     
                  co3();
     
                  $sql = "SELECT *
    FROM            Active
    WHERE        (EndDate > CURRENT_TIMESTAMP)";
     
                  $l = q3($sql);
     
                  while ($row2 = $data->query_array($l))
                    {
     
                        echo $row2['ActiveID'];
                    }
     
                     ?>
    Je me retrouve sans aucun resultat, je comprends pas

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 63
    Points : 29
    Points
    29
    Par défaut
    Merci pour votre aide.

    J'ai compris mon erreur, en, faite j'utilise et il le connait pas, faut utiliser Du coup voici la requête qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
                  $sql = "SELECT *
                          FROM  Active
                          WHERE (EndDate > CURRENT_TIMESTAMP)";
     
                  $l = q3($sql);
     
                  while (($fetch = sqlsrv_fetch_array($l)) != False)
                    {
     
                        echo $fetch['Title'];
                    }
    Merci a tous encore

  11. #11
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 253
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 253
    Points : 8 544
    Points
    8 544
    Billets dans le blog
    17
    Par défaut
    Merci pour ton retour, heureux que ça fonctionne

    En effet, j'ai fourni un SQL compatible MySQL.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2020
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Février 2020
    Messages : 63
    Points : 29
    Points
    29
    Par défaut
    Merci a toi.

    Je clos le sujet

  13. #13
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 362
    Points : 39 805
    Points
    39 805
    Billets dans le blog
    9
    Par défaut à propos de "SELECT *"
    Je vous recommande la lecture de cet article de BLOG :

    https://www.developpez.net/forums/bl...iliser-select/

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 20/12/2017, 16h25
  2. Réponses: 1
    Dernier message: 09/11/2009, 21h58
  3. Utiliser les dates
    Par Daniela dans le forum SQL
    Réponses: 8
    Dernier message: 10/10/2008, 12h00
  4. Comment convertir ce style de date ?
    Par Bruno13 dans le forum Langage
    Réponses: 6
    Dernier message: 08/11/2005, 04h03

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