8768 sujets

Développement web côté serveur, CMS

Bonjour,

Voici un cas très simple à résoudre pour un pro du PDO :

Je vous présente mon multiselect et mes checkbox

 <select multiple="multiple" name="secteur_searched[]" >
      <option value="1">Accueil - Secrétariat - Fonctions Administratives</option>
      <option value="2">Achats - Juridique - Qualité; - RH - Direction</option>
     etc...
    </select> 

<input type="checkbox" name="type_de_contrat[]" value="CDI" >      
 <input type="checkbox" name="type_de_contrat[]" value="CDD" > 


Et ici 3 gouttes de PHP :

try{
$query =  "SELECT * FROM marinterim_job_offers j 
          JOIN marimmo_villes v ON v.ville_id =j.job_ville  "; 
 $where = array();
 $param = array();

if(!empty($_REQUEST['secteur_searched']) AND is_array($_REQUEST["secteur_searched"]) ) {
    $where[] = "j.job_secteur IN (:job_secteur)";
    $param[":job_secteur"] = "'".implode("','", $_REQUEST['secteur_searched'])."'";
   } 

 if(!empty($_REQUEST['type_de_contrat']) AND count($_REQUEST['type_de_contrat']) > 0 ) {
    $where[] = "j.job_contrat IN (:job_contrat)";
    $param[":job_contrat"] = "'".implode("','", $_REQUEST['type_de_contrat'])."'";
} 

if (!empty($where)) 
   {  $query.= ' WHERE ' . implode(' AND ', $where); 
   }

$query.= " ORDER BY j.job_date_insertion DESC"; 
$sth =$marInterim ->prepare($query); 
$sth->execute($param);



A vous de me dire comment faire passer les valeurs de mon MultiSelect ET/OU de mes checkbox à mysql via PDO. je lance le chrono : Tic Tac : vous avez 5mn... Smiley smile

Merci beaucoup (jour de crise n°3)
Question Subsidiaire : Est-ce que c'est la même galère avec mysqli ? Sinon je passe à mysqli..
as-tu déjà essayé de faire un var_dump avant l'utilisation de ta query idée de voir à quoi ressemblait ta requête avant préparation ? Ca te permettrait possiblement de voir le soucis. (de base, là comme ça, je verrais un simple oubli / un simple ajout de trop de virgule quelque part ^^)


Et non, ça n'a aucune chance d'être plus simple en mysqli, tu auras la même difficulté pour générer ta requête, le problème venant manifestement de là.
Bonjour,
Je suis désolée de ne pas avoir donné suite à ton message : j'ignorais qu'il y avait une réponse... J'avais sûrement du oublier de cocher "recevoir les réponses par email"... ?

Oui, bien sûr, avant de poster je faisais des echo et var_dump de ma query.

Je suis passée par datatables pour obtenir le résultat Final escompté. avec un script php plus "simple".

Merci de t'être intéressé au sujet.
Vape6 a écrit :
Bonjour,
Je suis désolée de ne pas avoir donné suite à ton message : j'ignorais qu'il y avait une réponse... J'avais sûrement du oublier de cocher "recevoir les réponses par email"... ?

Oui, bien sûr, avant de poster je faisais des echo et var_dump de ma query.

Je suis passée par datatables pour obtenir le résultat Final escompté. avec un script php plus "simple".

Merci de t'être intéressé au sujet.