Recherche avec 2 critères

Bonjour,

testé, re-testé pas de solution. J’obtiens bien des résultats avec cette boucle :

<B_listefiltre>
#ANCRE_PAGINATION

[(#LOGO_ARTICLE|image_recadre{300,300,center}|inserer_attribut{class,img-responsive})]

[(#TITRE|couper{20})]

[(#TEXTE|couper{100})] [(#LISTER_VALEURS{tps_acti})] [(#LISTER_VALEURS{distance_acti})km] [(#LISTER_VALEURS{villes_pnr})] [(#LISTER_VALEURS{decouverte})]

+

</BOUCLE_listefiltre>

#PAGINATION{page_precedent_suivant}

<B_total>
#ANCRE_PAGINATION

[(#LOGO_ARTICLE|image_recadre{300,300,center}|inserer_attribut{class,img-responsive})]

[(#TITRE|couper{20})]

[(#TEXTE|couper{100})] [(#LISTER_VALEURS{tps_acti})] [(#LISTER_VALEURS{distance_acti})km] [(#LISTER_VALEURS{villes_pnr})] [(#LISTER_VALEURS{decouverte})]

+

#PAGINATION{page_precedent_suivant}

Mais je dois sélectionner les deux entités : ville et type. Alors qu’il serait intéressant d’avoir un résultat en sélectionnant aussi l’un des deux.

Mon formulaire :

Niveau [(#LISTER_VALEURS{niveau_acti}|unique)] Les villes [(#LISTER_VALEURS{villes_pnr}|unique)]

Merci pour les éclaircissements :slight_smile:

Teenoo

Le 11/04/2014 10:51, Laetitia Boiron a écrit :

Bonjour,

testé, re-testé pas de solution. J'obtiens bien des résultats avec cette boucle :

je suis désolé mais ta citation est tellement longue qu'il est difficile de t'aider.

Déjà toi, tu auras plus de chance de trouver si tu simplifies le code, à part,
pour explorer le problème dans un contexte plus lisible.

Et si tu envoies un source de 3 ou lignes, plus de personnes pourront étudier ton problème
qu'avec un source de 100 ou 300 lignes.

JL

<B_listefiltre>
    #ANCRE_PAGINATION
    <div class="grid fiches-acti">
<BOUCLE_listefiltre(ARTICLES){id_rubrique}
     {villes_pnr LIKE #ENV{ville}}{niveau_acti LIKE #ENV{type}}
     {par villes_pnr, niveau_acti}
     {pagination 20}
     {doublons}>
               <div class="col-lg-4 cs-style-3 rub-one">
          <figure>
          [(#LOGO_ARTICLE|image_recadre{300,300,center}|inserer_attribut{class,img-responsive})]
          <figcaption>
                    <h4>[(#TITRE|couper{20})]</h4>
                    [<span class="intro-acti">(#TEXTE|couper{100})</span>]
[<span class="tps-acti">(#LISTER_VALEURS{tps_acti})</span>]
[<span class="niveau niv-acti#NIVEAU_ACTI">(#LISTER_VALEURS{distance_acti})km</span>]
[<span class="ville-acti">(#LISTER_VALEURS{villes_pnr})</span>]
[<span class="decouverte-acti">(#LISTER_VALEURS{decouverte})</span>]
                    <p><a class="btn btn-default" href="#URL_ARTICLE" role="button">+</a></p>
          </figcaption>
          </figure>
</div><!-- /.actu-one -->

   </BOUCLE_listefiltre>
   </div>
   <div class='pagination'>
     #PAGINATION{page_precedent_suivant}
   </div>
</B_listefiltre>

<B_total>
    #ANCRE_PAGINATION
    <div class="grid fiches-acti">
<BOUCLE_total(ARTICLES){id_rubrique} {par villes_pnr, niveau_acti}{pagination 20}>
<div class="col-lg-4 cs-style-3 rub-one">
                 <figure>
                 [(#LOGO_ARTICLE|image_recadre{300,300,center}|inserer_attribut{class,img-responsive})]
                 <figcaption>
                           <h4>[(#TITRE|couper{20})]</h4>
                           [<span class="intro-acti">(#TEXTE|couper{100})</span>]
                         [<span class="tps-acti">(#LISTER_VALEURS{tps_acti})</span>]
                         [<span class="niveau niv-acti#NIVEAU_ACTI">(#LISTER_VALEURS{distance_acti})km</span>]
                         [<span class="ville-acti">(#LISTER_VALEURS{villes_pnr})</span>]
                         [<span class="decouverte-acti">(#LISTER_VALEURS{decouverte})</span>]
                           <p><a class="btn btn-default" href="#URL_ARTICLE" role="button">+</a></p>
                 </figcaption>
                 </figure>
</div><!-- /.actu-one -->
</BOUCLE_total>
   </div>
   <div class='pagination'>
     #PAGINATION{page_precedent_suivant}
   </div>
</B_total>
<//B_listefiltre>

Mais je dois sélectionner les deux entités : ville et type. Alors qu'il serait intéressant d'avoir un résultat en
sélectionnant aussi l'un des deux.

Mon formulaire :
<form action="#SELF" name="filtre" method="GET" class='bouton_action_post ajax bouger'>
       <select name="type">
       <option value="">Niveau</option>
       <optgroup>
       <BOUCLE_filtre(ARTICLES){id_rubrique}>
           [<option value="[(#NIVEAU_ACTI)]"
class="f#NIVEAU_ACTI"[(#ENV{type}|=={[(#NIVEAU_ACTI)]}|?{'selected="selected"',''})]>(#LISTER_VALEURS{niveau_acti}|unique)</option>]
       </BOUCLE_filtre>
       <optgroup>
       </select>

       <select name="ville">
       <option value="">Les villes</option>
       <optgroup>
       <BOUCLE_filtreville(ARTICLES){id_rubrique}>
           [<option value="#VILLES_PNR"
[(#ENV{ville}|=={[(#VILLES_PNR)]}|?{'selected="selected"',''})]>(#LISTER_VALEURS{villes_pnr}|unique)</option>]
       </BOUCLE_filtreville>
       <optgroup>
       </select>

           <input type="submit"></input>
</form>

Merci pour les éclaircissements :slight_smile:

Teenoo

Oui pardon :slight_smile: Le code simplifié :

[ (#LISTER_VALEURS{niveau_acti}|unique) ] [ (#LISTER_VALEURS{villes_pnr}|unique) ]

<BOUCLE_listefiltre(ARTICLES){id_rubrique}
{villes_pnr LIKE #ENV{ville}}{niveau_acti LIKE #ENV{type}}
{par villes_pnr, niveau_acti}
{doublons}>

[(#TITRE|couper{20})]


```

```

Teenoo

Le 16 avr. 2014 à 12:02, JLuc <jluc@no-log.org> a écrit :

Le 11/04/2014 10:51, Laetitia Boiron a écrit :

Bonjour,

testé, re-testé pas de solution. J’obtiens bien des résultats avec cette boucle :

je suis désolé mais ta citation est tellement longue qu’il est difficile de t’aider.

Déjà toi, tu auras plus de chance de trouver si tu simplifies le code, à part,
pour explorer le problème dans un contexte plus lisible.

Et si tu envoies un source de 3 ou lignes, plus de personnes pourront étudier ton problème
qu’avec un source de 100 ou 300 lignes.

JL

<B_listefiltre>
#ANCRE_PAGINATION

[(#LOGO_ARTICLE|image_recadre{300,300,center}|inserer_attribut{class,img-responsive})]

[(#TITRE|couper{20})]

[(#TEXTE|couper{100})] [(#LISTER_VALEURS{tps_acti})] [(#LISTER_VALEURS{distance_acti})km] [(#LISTER_VALEURS{villes_pnr})] [(#LISTER_VALEURS{decouverte})]

+

</BOUCLE_listefiltre>

#PAGINATION{page_precedent_suivant}

<B_total>
#ANCRE_PAGINATION

[(#LOGO_ARTICLE|image_recadre{300,300,center}|inserer_attribut{class,img-responsive})]

[(#TITRE|couper{20})]

[(#TEXTE|couper{100})] [(#LISTER_VALEURS{tps_acti})] [(#LISTER_VALEURS{distance_acti})km] [(#LISTER_VALEURS{villes_pnr})] [(#LISTER_VALEURS{decouverte})]

+

#PAGINATION{page_precedent_suivant}

Mais je dois sélectionner les deux entités : ville et type. Alors qu’il serait intéressant d’avoir un résultat en
sélectionnant aussi l’un des deux.

Mon formulaire :

Niveau [(#LISTER_VALEURS{niveau_acti}|unique)] Les villes [(#LISTER_VALEURS{villes_pnr}|unique)]

Merci pour les éclaircissements :slight_smile:

Teenoo


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
http://archives.rezo.net/spip.mbox/

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc

Et oualou j’ai trouvé la solution :slight_smile: J’ai changé le nom de mes variables pour qu’elles aient la même sémantique ainsi que le nom « name » de mes select.

Donc ci-dessous le formulaire corrigé.

<BOUCLE_filtre(ARTICLES){id_rubrique}>
[<option value=« [(#NIVEAU_ACTI)] » class=« f#NIVEAU_ACTI »[(#ENV{niveau_acti}|=={[(#NIVEAU_ACTI)]}|?{‹ selected=« selected » ›,‹  ›})]>

(#LISTER_VALEURS{niveau_acti}|unique)

]

<BOUCLE_filtreville(ARTICLES){id_rubrique}>
[<option value=« #VILLES_PNR » [(#ENV{villes_pnr}|=={[(#VILLES_PNR)]}|?{‹ selected=« selected » ›,‹  ›})]>

(#LISTER_VALEURS{villes_pnr}|unique)

]

La boucle

<BOUCLE_listefiltre(ARTICLES){id_rubrique}
{villes_pnr ?LIKE %(#ENV{villes_pnr})%}{niveau_acti ?LIKE %(#ENV{niveau_acti})%}

{par villes_pnr, niveau_acti}
{doublons}>

[(#TITRE|couper{20})]

Bonne journée

Teenoo

Le 18/04/2014 18:21, Laetitia Boiron a écrit :

Et oualou j'ai trouvé la solution :slight_smile: J'ai changé le nom de mes variables pour qu'elles aient la même sémantique ainsi
que le nom "name" de mes select.

impec :slight_smile:
JL

Donc ci-dessous le formulaire corrigé.

<form action="#SELF" name="filtre" method="GET" class='bouton_action_post ajax bouger'>

<select name="niveau_acti">
<BOUCLE_filtre(ARTICLES){id_rubrique}>
[<option value="[(#NIVEAU_ACTI)]"
class="f#NIVEAU_ACTI"[(#ENV{niveau_acti}|=={[(#NIVEAU_ACTI)]}|?{'selected="selected"',''})]>
(#LISTER_VALEURS{niveau_acti}|unique)
</option>]
</BOUCLE_filtre>
</select>

<select name="villes_pnr">
<BOUCLE_filtreville(ARTICLES){id_rubrique}>
[<option value="#VILLES_PNR" [(#ENV{villes_pnr}|=={[(#VILLES_PNR)]}|?{'selected="selected"',''})]>
(#LISTER_VALEURS{villes_pnr}|unique)
</option>]
</BOUCLE_filtreville>
</select>

<input type="submit"></input>

</form>

La boucle

<BOUCLE_listefiltre(ARTICLES){id_rubrique}
{villes_pnr ?LIKE%(#ENV{villes_pnr})%}{niveau_acti ?LIKE%(#ENV{niveau_acti})%}
{par villes_pnr, niveau_acti}
{doublons}>
<h4>[(#TITRE|couper{20})]</h4>
</BOUCLE_listefiltre>

Bonne journée

Teenoo