Bonjour,
Je viens vers vous ajd car j'ai un petit soucis pour construire une requête.
Je vous fait le topo rapidement, sur une page l'utilisateur complète différents champs (acheteur, lieu de livraison, produit désiré, date...)
En fonction de ces critères, plusieurs choix de fournisseur/transporteurs sont fait a l'utilisateur.
J'ai réussi à filtrer sur tout les critères, sauf un, les suppléments. Chaque commande encodée par l'utilisateur peu contenir un ou plusieurs suppléments.
Je récupère ces suppléments en js (comme le reste des inputs) et les passes ensuite a un script php, qui lui me renvois l'html contenant les différents choix possible de fournisseurs, transporteurs.
Le soucis étant que le nombre de ces suppléments n'est pas défini, et de ce fait je rencontre des soucis à construire ma requête.
Je vous la pose là (elle n'est évidement pas fonctionnelle, mais je pense que vous devriez pouvoir comprendre ce que je souhaite faire, si pas, demandez ;) )
$reqf = $bdd->prepare('SELECT t.nom, tt.prix, t.id
FROM trajets_transporteurs as tt
LEFT JOIN transporteurs as t ON t.id = tt.id_transporteur
WHERE tt.id_trajet = :id_trajet
'
foreach ($supinter as $sup) {
'AND EXISTS (SELECT * FROM supplements_trans as st WHERE st.id_sup = '.$sup.' AND st.actif = 1 AND st.id_trans = tt.id_transporteur)'
}
'
');
$reqf->execute(array(
'id_trajet' => $id_trajet,
)) or die(print_r($reqf->errorInfo(), TRUE));
Je me demande donc s'il y a moyen de faire qqchose de dynamique, ou si je dois count l'array sur lequel je fait le foreach, et faire autant de requête que nécessaire (p-e en limitant le nombre max de suppléments sur une commande, ce qui est faisable).
Merci à ceux qui ont lu, et doublement merci à ceux qui se pencheront sur mon soucis ! 