bonjour,

j'ai eu un petit souci sur une chaine (résolu à l'arrach) mais j'aimerai comprendre pourquoi !

le souci : la chaine suivante se tronque toute seule !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
$query  = "SELECT idclient, denomination, idpresta, libelle, idcat, cat, quantite, tarif.tarif as pu, round(quantite*tarif.tarif) as total ";
$query .= " FROM (SELECT saisie.client AS idclient, clients.denomination, saisie.prestation AS idpresta, prestations.libelle, prestations.categorie AS idcat, categorie.libelle as cat, SUM(saisie.quantite) AS quantite";
$query .= " FROM saisie, clients, prestations, categorie";
$query .= " WHERE saisie.client = clients.id";
$query .= " AND saisie.prestation = prestations.id";
$query .= " AND prestations.categorie = categorie.id";
$query .= " AND saisie.date < STR_TO_DATE('".$date."', '%Y-%m-%d')";
$query .= " GROUP BY saisie.client, saisie.prestation) AS m, tarif";
$query .= " WHERE m.idcat = tarif.categorie AND m.quantite>=tarif.debut AND m.quantite<tarif.fin";
$query .= " ORDER BY denomination, idcat";
 
echo $query;
affiche
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT idclient, denomination, idpresta, libelle, idcat, cat, quantite, tarif.tarif as pu, round(quantite*tarif.tarif) as total FROM (SELECT saisie.client AS idclient, clients.denomination, saisie.prestation AS idpresta, prestations.libelle, prestations.categorie AS idcat, categorie.libelle as cat, SUM(saisie.quantite) AS quantite FROM saisie, clients, prestations, categorie WHERE saisie.client = clients.id AND saisie.prestation = prestations.id AND prestations.categorie = categorie.id AND saisie.date < STR_TO_DATE('2013-05-26', '%Y-%m-%d') GROUP BY saisie.client, saisie.prestation) AS m, tarif WHERE m.idcat = tarif.categorie AND m.quantite>=tarif.debut AND m.quantite

rien derrière quantite !!!

si je rajoute un espace après le <
ça marche (wtf ?)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$query .= ...
$query .= " WHERE m.idcat = tarif.categorie AND m.quantite>=tarif.debut AND m.quantite< tarif.fin";
$query .= " ORDER BY denomination, idcat";

je suis en php 5.3.4 sous wampserver
mon fichier est encodé en utf8 et j'avoue que je connais pas grand chose à l'encodage

quelque recherche sur google n'ont rien donnée

merci de vos lumières