Partage
  • Partager sur Facebook
  • Partager sur Twitter

trouver une date dans une BDD et l'afficher

    24 janvier 2017 à 13:17:14

    <body>
    	<?php echo $_POST["date"];
    		$datechoisie = DATE_FORMAT($_POST["date"], %Y/%m/%d);
            try
    		{
    			$bdd = new PDO('mysql:host=localhost;dbname=drone;charset=utf8', 'root', '');
    		}
    		catch(Exception $e)
    		{
    				die('Erreur : '.$e->getMessage());
    		}
    		$date = $bdd->query("SELECT dateoffly FROM vol1 WHERE dateoffly = $datechoisie");
    		echo $date;
    			?><h1>
    			<?php
    				if($date){
    					echo $date;
    				}else {
    						echo 'erreur';
    				}
    			?></h1>
    	</body>

    Bonjour,

    J'essaye de verifier si la date choisie par l'utilisateur ($_POST["date"]) existe dans ma base de données, j'ai essayé beaucoup de solutions sur internet mais à chaque fois j'ai un probleme, souvent la date ne s'affiche pas car elle n'est pas en "string" je crois...

    Un ptit coup de main serait le bienvenue...merci d'avance

    • Partager sur Facebook
    • Partager sur Twitter
      24 janvier 2017 à 13:26:47

      • il te manque l'étape de fetch, tu ne peux pas echo $date comme ça, c'est une instance de la classe PDOStatement qui n'implémente pas la méthode magique __toString
      • il manques les quotes pour le SQL autour de $datechoisie mais ça te vaudrait une injection SQL : prépares ta requête sinon échappes (PDO::quote) $datechoisie
      • DATE_FORMAT est une fonction SQL, non PHP
      • il manque les quotes autour du format de DATE_FORMAT (son deuxième argument)
      • ce n'est pas DATE_FORMAT mais STR_TO_DATE que tu as besoin en fait ?

      Le changement de format de la date (je ne sais quoi => Y-m-d), soit tu le fais en SQL avec STR_TO_DATE soit avec PHP (DateTime::createFromFormat)

      -
      Edité par julp 24 janvier 2017 à 13:30:27

      • Partager sur Facebook
      • Partager sur Twitter
        24 janvier 2017 à 14:23:35

        Merci pour ta réponse rapide,

        Hélas je suis un noob en programmation php/mysql et je n'ai pas le temps de tout apprendre entièrement (revue de projet dans 2 jours...)

        Peut -tu me communiquer le code corrigé et/ou les explications ? 

        Merci beaucoup d'avance

        //Le seul l'unique noob

        • Partager sur Facebook
        • Partager sur Twitter
          24 janvier 2017 à 14:27:30

          Comme je l'ai dit précédemment :

          Alexmtch a écrit:

          Un peu de recherche svp : http://php.net/manual/fr/pdostatement.fetchall.php


          Scroll vers la partie "Exemple"
          • Partager sur Facebook
          • Partager sur Twitter
            24 janvier 2017 à 14:33:43

            okay j'ai repris l'exemple et je l'ai adapté, ça m'affiche : Array ( [0] => Array ( [dateoffly] => 2017-01-17 [0] => 2017-01-17 ) )

            j'ai choisi de prendre une date déja écrite (2017-01-17) au lieu du $_POST pour simplifier la tache

            -
            Edité par bigbrother3 24 janvier 2017 à 14:37:25

            • Partager sur Facebook
            • Partager sur Twitter
              24 janvier 2017 à 14:44:42

              Eh bien tu récupère bien ta date ^^ quel est le problème Alors ? tu peux faire un echo de ta date et tu verra qu'elle s'affiche correctement ;)
              • Partager sur Facebook
              • Partager sur Twitter
                24 janvier 2017 à 14:49:31

                okay c'est bon merci beaucoup !
                • Partager sur Facebook
                • Partager sur Twitter

                trouver une date dans une BDD et l'afficher

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown