Besoin d'aide date formulaire HTML/PHP/SQL

snowflakedu59 Messages postés 90 Date d'inscription   Statut Membre Dernière intervention   -  
GallyNet Messages postés 434 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai fais un "historique des ventes" ... je vous laisse aller voir cela ira plus vite que de vous expliquer ...
cela fonctionnait avant que je prenne en compte la date .
mes codes :

formulaire :
<h1>Consulter l'historique des ventes par plat</h1>

<br>

<h2><form name="historique des ventes" method="post" action="index.php?page=traitementhistoriquedesventes">
Periode du <input name="DebutPeriode" value="JJ/MM/AAAA" size="10" type="text"> Au <input name="FinPeriode" value="JJ/MM/AAAA" size="10" type="text"></h2>
<br>
<br>
<h2><input value="Envoyer" type="submit"></h2>
</form>

traitement:
<?php
// Connexion au serveur MySQL et ouverture de la base vpc
$db=mysql_connect("sql.free.fr","del.resto","**********") or die(" erreur de connexion".mysql_error());
mysql_select_db("del_resto",$db) or die(" erreur de connexion à la base Delresto");

// Requête d'affichage des enregistrements de la table CLIENT
$sql = "SELECT plat_nom, COUNT( commande_id ) AS 'nb de commandes', SUM( ligne_commande_qte ) AS 'quantité commandée'
FROM plat, carte, ligne_commande, commande
WHERE plat.plat_id = carte.plat_id
AND carte.carte_id = ligne_commande.carte_id
AND ligne_commande.commande_id = commande.commande_id
AND commande_date BETWEEN '" . $_POST['DebutPeriode'] . "' AND '" . $_POST['FinPeriode'] . "'
GROUP BY plat_nom";
// ***************************************************

// Exécution de la requête
$requete = mysql_query($sql) or die ("erreur requete sql !");

// Affichage des résultats de la requête
?>



je pense que c'est une incompatibilité entre les données envoyées et la date contenue dans la BDD
commande_date est au format Datetime

Merci

2 réponses

GallyNet Messages postés 434 Date d'inscription   Statut Membre Dernière intervention   387
 
C'est même sûr que cela vient d'une incompatibilité entre données fournit et base de données. Tu demande à ce que les dates soit écrite de la forme JJ/MM/AAAA alors qu'en MySQL les dates sont enregistré sous le format AAAA-MM-JJ.
Les datetime ont l'heure en plus, mais cela ne gêne pas de ne pas les mettre lors d'une recherche.

Il te faut donc passer par une conversion de format entre les date que tu reçoit et celle que tu doit mettre dans ta requêtes. J'ai pas de fonction sous la main, mais il y a des exemples sur le net.
0
snowflakedu59 Messages postés 90 Date d'inscription   Statut Membre Dernière intervention   5
 
si dans le fomulaire je demande la date en YYYY-MM-JJ cela irai ?
0
GallyNet Messages postés 434 Date d'inscription   Statut Membre Dernière intervention   387
 
Si l'utilisateur rentre directement la date au bon format, alors il n'y aura pas de problème. Apres, c'est juste une question de savoir ce qui est le plus pratique pour l'utilisateur.
0