Eléphant du PHP |
72 Messages
07 févr. 2012, 12:04
Bon j'ai pas mal avancé depuis mais j'ai un souci entre ce que me renvoit ma requqete quand je l'utilise directement dans access et ce qui m'est renvoyé par php à savoir
SELECT B.nomProprietaire AS nomProprietaire, B.reference AS reference, C.dateCreation AS dateCreation, C.numeroFacture AS numeroFacture, C.tarifTotal AS tarifTotal, C.tarifTotalHT AS tarifTotalHT FROM ((detailFacture AS A
INNER JOIN commande AS B ON B.idCommande=A.idCommande)
INNER JOIN facture AS C ON C.idFacture=A.idFacture)
WHERE C.dateCreation BETWEEN {D '2011-12-10'} AND {D '2011-12-13'};
me renvoit 10 resultat dans access
alors que mon code php me renvoit un seul resultat
/** fonction de transformation de date entrée par l'utilisateur à des fins d'une recherche dans la base de données access
* @ date : date entrée sous la forme par l'utilisateur 01/02/2011
* @ return date : date formatée attendu par la base de données access {D '2011-02-01'}
**/
function ConversionEnDateCompatibleDbAccess ($iDateEntreUtilisateur){
list($iJour,$iMois,$iAnnee) = explode ('/',$iDateEntreUtilisateur);
$iDateFormatee = '{D\''.$iAnnee.'-'.$iMois.'-'.$iJour.'\'}';
return $iDateFormatee;
}
$oConnection=GetConnection::GetConnection();
$oPDOStatement=$oConnectionAnalysimmo->query('SELECT B.nomProprietaire AS nomProprietaire, B.reference AS reference, C.dateCreation AS dateCreation, C.numeroFacture AS numeroFacture, C.tarifTotal AS tarifTotal, C.tarifTotalHT AS tarifTotalHT
FROM ((detailFacture AS A
INNER JOIN commande AS B ON B.idCommande=A.idCommande)
INNER JOIN facture AS C ON C.idFacture=A.idFacture)
WHERE C.dateCreation BETWEEN '.ConversionEnDateCompatibleDbAccess($iValeurDebutPeriode).'
AND '.ConversionEnDateCompatibleDbAccess($iValeurFinPeriode).'');
$aNomProprietaire=array();
$aReference=array();
$aDateCreation=array();
$aNumeroFacture=array();
$aTarifTotal=array();
$aTarifTotalHt=array();
while($aRow=$oPDOStatement->fetch()){
$aNomProprietaire[]= $aRow['nomProprietaire'];
$aReference[] = $aRow['reference'];
$aDateCreation[]= $aRow['dateCreation'];
$aNumeroFacture[]= $aRow['numeroFacture'];
$aTarifTotal[]= $aRow['tarifTotal'];
$aTarifTotalHt[] = $aRow['tarifTotalHT'];
}
$oConnection=NULL;
unset($oConnection);
// on compte le nombre de resultat
$iNbreNomProprietaire = count($aNomProprietaire);
$iNbreReference= count ($aReference);
$iNbreDateCreation= count ($aDateCreation);
$iNbreNumeroFacture= count ($aNumeroFacture);
$iNbreTarifTotal= count ($aTarifTotal);
$iNbreTarifTotalHt= count ($aTarifTotalHt);
wb_message_box($window,$iNbreNomProprietaire.' ont été trouvé ','nombre de resultat renvoyés',WBC_WARNING);
et la j'ai une message box m'informant que je n'ai qu'un jeu de resultat disponible !!!
j'utilise winbinder pour generer une interface graphique cliente.
OU se situe mon erreur? merci à vous