IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Affichage filtré


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 67
    Par défaut Affichage filtré
    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 ?

  2. #2
    Membre éprouvé Avatar de bartrik
    Inscrit en
    Novembre 2003
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 104
    Par défaut
    on peut voir le résultat de ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 67
    Par défaut
    Quand je selectionne une fonction (categorie), il m'affiche ça :
    ( exemple la fonction qui correpond à l'identifiant 9)
    c.id_fonction_job='9' AND
    Quand je selectionne aucune fonction en particulier (toutes), il ne m'affiche rien

  4. #4
    Membre éprouvé Avatar de bartrik
    Inscrit en
    Novembre 2003
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 104
    Par défaut
    ta fonction listJobPostings a quel moment on lui indique le contenu de $requete ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 67
    Par défaut
    Et bien le contenu de $requete est seulement définie au début du script ou se trouve cette fonction.
    J'ai essayé de définir le contenu à l'intérieur même de la fonction mais cela ne fonctionne pas non plus :
    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
    18
    function listJobPostings( $type, $sort, $limit, $limitstart ) {
    	global $database, $option, $is_editor, $my, $mainframe, $cfgjl, $Itemid;
     
    ....
     
    if ($search_fonction_job=='%')
    { $requete = ""; }
    else { $requete = "c.id_fonction_job='$search_fonction_job' AND"; }
     
    	// 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"

  6. #6
    Membre éprouvé Avatar de bartrik
    Inscrit en
    Novembre 2003
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 104
    Par défaut
    Citation Envoyé par gueud Voir le message
    Et bien le contenu de $requete est seulement définie au début du script ou se trouve cette fonction.
    J'ai essayé de définir le contenu à l'intérieur même de la fonction mais cela ne fonctionne pas non plus :
    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
    18
    function listJobPostings( $type, $sort, $limit, $limitstart ) {
    	global $database, $option, $is_editor, $my, $mainframe, $cfgjl, $Itemid;
     
    ....
     
    if ($search_fonction_job=='%')
    { $requete = ""; }
    else { $requete = "c.id_fonction_job='$search_fonction_job' AND"; }
     
    	// 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"
    la c'est pareil $search_fonction_job n'est pas transmis a ta fonction, enfin il me semble.
    Perso je rajouterai $requete a l'appel de la fonction (la 1ere version), comme ça :
    listJobPostings( $type, $sort, $limit, $limitstart, $requete )

    Sinon faudrai que je fasse plus d'éssais, mais j'ai pas trop le temps ni un joomla d'installé.

Discussions similaires

  1. Affichage filtre de contexte en entete
    Par ptikiki dans le forum Cognos
    Réponses: 4
    Dernier message: 05/04/2013, 12h16
  2. Problème affichage filtre
    Par gabgom dans le forum Signal
    Réponses: 0
    Dernier message: 06/10/2011, 16h06
  3. [XL-2007] affichage filtre graph croisé dynamique
    Par excel2007excel dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 29/04/2009, 15h19
  4. Réponses: 2
    Dernier message: 13/10/2005, 14h24
  5. Filtre d'affichage de balise selon leur attributs
    Par Norely dans le forum XML/XSL et SOAP
    Réponses: 10
    Dernier message: 03/04/2003, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo