Bonjour,
Je veux afficher une liste d'offre d'emploi par catégorie(jobline composant de Joomla).
Voilà mon formulaire de recherche (jobline.html.php) : (la partie qui nous interesse est celle avec la balise select)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<form method="get" action="index.php" onsubmit="return checkForm(this);" name="searchForm">
          <input type="hidden" name="option" value="<?php echo $option; ?>" />
          <input type="hidden" name="task" value="results" />
          <input type="hidden" name="Itemid" value="<?php echo $Itemid; ?>" />
          <input type="text" class="inputbox" name="search" value="<?php echo ($search ? $search : ""); ?>" />
 
          <select name="search_fonction_job" class="select">';
           <option value="%">Tous</option>';
	  <?php	foreach ($rows as $row1) {
			echo '<option value='.$row1->id_fonction_job;
			if (isset($search_fonction_job) && $search_fonction_job !== '%' && $search_fonction_job == $row1->id_fonction_job) {echo ' selected';}
			echo'>'.$row1->fonction_job.'</option>';  }?>
 
		  </select>
          <input class="button" type="submit" value="<?php echo _JL_SEARCH; ?>" />
          </form>
Je récupère la valeur du champ select (jobline.php) et je créait ma variable requete à insérer dans la requete :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
// Load request parameters.
 
$search_fonction_job =  mosGetParam( $_REQUEST ,'search_fonction_job', '' );
if ($search_fonction_job=='%')
{ $requete = ""; }
else { $requete = "c.id_fonction_job='$search_fonction_job' AND"; }
Puis dans la fonction qui affiche la liste j'insère ma requête (jobline.php) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function listJobPostings( $type, $sort, $limit, $limitstart) {
	global $database, $option, $is_editor, $my, $mainframe, $cfgjl, $Itemid;
 
	.....
 
	// Read properties from db.
	$database->setQuery( "SELECT * "
		. "\nFROM #__jl_jobposting AS c"
		. "\nWHERE $requete c.state='1' "
		. ($access ? "\n	AND c.access<='$gid'" : "" )
        . $publishedquery
		. $typequery
		. "\nORDER BY $ordering"
		. "$limitquery"
	);
	$items = $database->loadObjectList();
En fesant ca cela ne fonctionne pas, si je remplace manuellement $requete par " c.id_fonction_job='9' AND " (par exemple) cela fonctionne mais dès que je réinsère la variables $search_fonction_job à la place de '9' cela ne fonctionne plus. De plus quand je fais un echo $requete; il m'affiche correctement le bout de requete a insérer. Mais si je met l'echo $requete dans la fonction, rien ne se passe.
J'en déduit donc que la variable n'arrive pas jusqu'à la fonction.
Faut-il initialiser la variable pour cette fonction ?