NB : ma date a un format de 12/05/2014Tu parles de la date $date_debut .... ou de la date dans ta BDD ??
SELECT DISTINCT S.id_pros ,ART.* ,SUM(S.qte) AS arrive ,SUM(S.qte) - (ART.vendu) AS diff FROM stocks S ,(SELECT A.article, A.id_prod ,SUM(A.qte) as vendu FROM destocks A GROUP BY A.id_prod) ART WHERE(ART.id_prod = S.id_pros) AND DAY(date) >= '25' AND DAY(date) >= '03' GROUP BY S.id_pros
jj/mm/yy est le format de mes date dans la BDD.
<?php class Zend_View_Helper_DateSqlToFr extends Zend_View_Helper_Abstract { private $listeMois = array( '01' => 'janvier', '02' => 'février', '03' => 'mars', '04' => 'avril', '05' => 'mai', '06' => 'juin', '07' => 'juillet', '08' => 'août', '09' => 'septembre', '10' => 'octobre', '11' => 'novembre', '12' => 'décembre', ); public function dateSqlToFr($dateSql, $format='JJ/MM/AAAA') { $Date = new Zend_Date($dateSql, Zend_Date::ISO_8601); $jourSemaine = $Date->get(Zend_Date::WEEKDAY); $jour = $Date->get(Zend_Date::DAY); $mois = $Date->get(Zend_Date::MONTH); $annee = $Date->get(Zend_Date::YEAR); if($format=='JJ/MM/AAAA') { return $jour.'/'.$mois.'/'.$annee; } else if($format=='JJ mmm') { return $jour.' '.$this->listeMois[$mois]; } else if($format=='JJ mmm AAAA') { return $jour.' '.$this->listeMois[$mois].' '.$annee; } else if($format=='JS JJ mmm AAAA') { return $jourSemaine.' '.$jour.' '.$this->listeMois[$mois].' '.$annee; } // valeur de retour par défaut return $dateSql; } }
<?php echo $this->dateSqlToFr($sortie['date_debut'], 'JS JJ mmm AAAA'); ?>
function ConvDateFR($strDate,$format=null){ // Converti une Date au format : YYYY-MM-DD HH:MM:SS // au format Français : jj/mm/AAAA HH:MM:SS // si $format .. retourne DATE + HEURE // sinon.. ne retourne QUE la date if($strDate){ $expDate=explode(' ',$strDate); $D=explode('-',$expDate[0]); $H=explode(':',$expDate[1]); if($expDate[0]=="0000-00-00"){ return " "; }else{ $DateFR=$D[2].'/'.$D[1].'/'.$D[0]; if(!$format){ return $DateFR; }else{ return $DateFR." ".$H[0].':'.$H[1].':'.$H[2]; } } } }
<?php echo ConvDateFR($sortie['date_debut'],True); ?> // Affiche sour la forme : jj/mm/AAAA HH:MM:SS
Je constate, en suivant la discussion que MSI79 veut faire du SQL de haut vol (SELECT dans un SELECT) alors qu'il ne maîtrise pas même le typage des donnéesCa...ça doit surement venir de moi (ou d'un autre membre) lors d'une précédente question...
$criterene fonctionne pas . elle ne m'affiche rien.
$critere
$critere = "DAY(date) >= '$jour_debut'";
$dateDebut = "02/04/2014"; // c'est pour l'exemple $expDate=explode('/',$dateDeb ); // transformation $dateDebut au format AAAA-MM-JJ $dateDebutSql = $expDate[2] . '-' . $expDate[1] . '-' . $expDate[0]; $critere = "date >= ''$dateDebutSql";
Si vous changez le type du champ date en type DATE, votre date en base sera au format: AAAA-MM-JJPourquoi ?
SELECT DISTINCT S.id_pros ,ART.* ,SUM(S.qte) AS arrive ,SUM(S.qte) - (ART.vendu) AS diff , DAY(date) as DDate FROM stocks S ,(SELECT A.article, A.id_prod ,SUM(A.qte) as vendu FROM destocks A GROUP BY A.id_prod) ART WHERE(ART.id_prod = S.id_pros) GROUP BY S.id_pros
SELECT DISTINCT S.id_pros ,ART.* ,SUM(S.qte) AS arrive ,SUM(S.qte) - (ART.vendu) AS diff , DAY(date) as DDate FROM stocks S ,(SELECT A.article, A.id_prod ,SUM(A.qte) as vendu FROM destocks A GROUP BY A.id_prod) ART WHERE(ART.id_prod = S.id_pros) AND DAY(date) >= '03' GROUP BY S.id_pros
$critere = $choix[0]." "; // .......[CUT] $critere = implode( " AND " , $choix);
var_dump($critere); string "DAY(date) >= '25' AND DAY(date) >= '05'
function dateToSql($date) { $expDate=explode('/',$dateDeb ); // transformation $dateDebut au format AAAA-MM-JJ return $expDate[2] . '-' . $expDate[1] . '-' . $expDate[0]; }
$critere = null; if(!empty($date_debut) && empty($date_fin)) { $critere = " date >= '".dateToSql($date_debut)."'"; } else if (!empty($date_debut) && !empty($date_fin)) { $critere = " date BETWEEN '" . dateToSql($date_debut)."' AND '" . dateToSql($date_fin)."' "; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionSELECT DISTINCT S.id_pros ,ART.*
,SUM(S.qte) AS arrive
,SUM(S.qte) - (ART.vendu) AS diff
, DAY(date) as DDate
FROM stocks S
,(SELECT A.article, A.id_prod ,SUM(A.qte) as vendu
FROM destocks A GROUP BY A.id_prod) ART
WHERE(ART.id_prod = S.id_pros)
GROUP BY S.id_pros
SELECT DISTINCT S.id_pros ,ART.*
,SUM(S.qte) AS arrive
,SUM(S.qte) - (ART.vendu) AS diff
, DAY(date) as DDate
FROM stocks S
,(SELECT A.article, A.id_prod ,SUM(A.qte) as vendu
FROM destocks A GROUP BY A.id_prod) ART
WHERE(ART.id_prod = S.id_pros)
AND DAY(date) >= '03'
GROUP BY S.id_pros
AND champ_date >= '2014-01-10' AND champ_date <= '2014-08-20'
AND champ_date BETWEEN '2014-01-10' AND '2014-08-20'
30 sept. 2014 à 18:00
SI ton souci concerne ...non pas le code PHP ... mais ta REQUETE .... POURQUOI CONTINUES TU A POSTER DANS LA SECTION PHP DU FORUM ?????????!!!!!!!!!!
Il y a une section SQL qui sert aux problèmes de requêtes !!!!
....ça fait déjà 50 fois que je te le dis..... tu n'avais pas lu les précédentes fois ou bien tu t'en moques de ce qu'on te dit ????
30 sept. 2014 à 18:11
30 sept. 2014 à 18:14
30 sept. 2014 à 18:18