[RESOLU] Ma requete pour récupérer les derniers jours ne marche pas?

Eléphant du PHP | 218 Messages

22 déc. 2013, 12:04

Bonjour, à l'aide de recherche sur le net j'ai fais une requête qui à prioris devrait récupérer les entrées des 365 dernier jours. Cependant, je n'y parviens vraiment pas :( Pas de message d'erreurs, ca affiche toutes les données depuis le debut au lieu de filtrer depuis les 365 derniers jours.
Voici ma requête (Mon champs date étant un datetime sous la forme 2010-11-16 15:36:48) :
$total_sql = $bdd->prepare("
						SELECT total, date
						FROM table_commande
						WHERE paiement != :paiement
						AND (CURDATE() - date)<= 365
						");
$total_sql->execute(array(
						'paiement' => 0
						));
$total_sql->setFetchMode(PDO::FETCH_ASSOC);

// $prixtotal_au_clic = 0;			
// $nb_commandes_au_clic = 0;
while( $total = $total_sql->fetch() )
{
	echo $total['total'];
}
Merci pour votre aide...
Cadeaux personnalisés pour toute la famille :
https://cadeauxplaisir.com/

Mammouth du PHP | 571 Messages

22 déc. 2013, 14:29

bonjour,

la fonction DATEDIFF de mysql retourne le nombre de jours entre 2 dates.A partir de là tu pourras comparer le nombre de jours retournés par rapport aux 365 jours:
$total_sql = $bdd->prepare("
                                                SELECT total, date
                                                FROM table_commande
                                                WHERE paiement != :paiement
                                                AND  DATEDIFF(CURDATE(),`date`)<=365 AND CURDATE()>`date`
                                                ");

//la condition CURDATE()>`date` permet d'exclure les lignes dont les dates sont dans le futur

Eléphant du PHP | 218 Messages

22 déc. 2013, 14:46

Mais génial ca fonctionne merci, j'avais essayé avec between aussi mais ca marchait pas mais là, nnniiiiikel, merci ;)
Cadeaux personnalisés pour toute la famille :
https://cadeauxplaisir.com/