Hi Thomas,

Thx for your fast reply!

The <searchitem> of my last message was related to a shapefile for a test.
That's why I didn't add an SQL query in it as I didn't see any shapefile
example with an sql tag.
Anyway, I just tried to add:
<sql>SELECT DISTINCT NUMBER FROM building _shp">
WHERE TYPE = '[dependfldval]'  AND NUMBER ~* '[search]' ORDER BY NUMBER
</sql>

But the second field is still not filtered... : (

>From what I see, you example with 2 fields is dealing with a PGSQL table.
Here is what I have:
<searchitem name="addresses" description="Addresses -Suggest Suggest
PGSQL-">
       <layer type="postgis" name="Address_table">

        <field type="s" name="Address_field" description="Street"
wildcard="2">
                <definition type="suggest" connectiontype="db"
minlength="1" startleft="1" sort="asc">
                       <dsn encoding="UTF-8">pgsql://user:pass@localhost
/db</dsn>
                  <sql>SELECT DISTINCT Address_field FROM
public.Address_table WHERE Address_field IS NOT NULL ORDER BY
Address_field</sql>

<events>onchange="$('#pmsfld_number_field').val('').flushCache()"</events>
                   </definition>
            </field>

            <field type="n" name="Number_field" description="Nb"
wildcard="2">
               <definition type="suggest" connectiontype="db" sort="asc"
minlength="3" dependfld="Address_field">
                  <dsn encoding="UTF-8">pgsql://user:pass@localhost/db</dsn>
                  <sql>SELECT DISTINCT Number_field FROM
public.goeland_addresse_lausanne WHERE Number_field ~* '^[search]' {and
Address_field = '[dependfldval]'} ORDER BY Number_field</sql>
               </definition>
        </field>

     </layer>
</searchitem>

First field works, but the query is made as soon as I choose one entry in
the list. No chance to select anything on the 2nd field.
If I switch the first field mode to 'options', the drop down menu comes
empty. Actually the values are in there, but just not displayed... very
strange.

In case the problem is there, here under the related layer of my mapfile:
LAYER
   NAME "Address_table"
   TYPE POINT
   DATA "geom from Address_table using unique idaddress using srid=21781"
   CONNECTIONTYPE postgis
   CONNECTION "user=user password=pass dbname=db host=localhost port=5432"
   METADATA
      "DESCRIPTION" "Addresses"
      "RESULT_FIELDS" "idaddress, Address_table, Number_field"
       "RESULT_HEADERS" "ID, Street, Nb"
       "ows_title" "addresses"
   END
   TEMPLATE void
   CLASS
      STYLE
         SYMBOL "circle"
         COLOR 255 0 125
         MINSIZE 1
         SIZE 6
         MAXSIZE 10
      END
   END
END

Do you see anything wrong/missing?




On Wed, Mar 27, 2013 at 2:55 PM, Thomas RAFFIN <traf...@sirap.fr> wrote:

> I think you have to define the SQL query for suggest option with depend
> field val. Here is an example for the 2d field that depend on field1
>
>              <field type="s" name="field2" description="Field 2"
> wildcard="0" size="15">
>                  <definition type="suggest" connectiontype="db"
> startleft="1" sort="asc" minlength="4" dependfld="field1">
>                      <dsn encoding="UTF-8">@</dsn>
>                      <sql>SELECT DISTINCT field2 FROM schema.table WHERE
> field1 = '[dependfldval]'  AND field2 ~* '[search]' ORDER BY field2</sql>
>                        <events></events>
>                  </definition>
>              </field>
>
> NB: it is possible to use many depend fields, but if it doesn't works
> already, maybe I've forgotten to commit something...
>              <field type="s" name="field1" description="Field 1"
> wildcard="0" size="15">
>
> <events>onchange="$('#pmsfld_field2').val('');$('#pmsfld_field2').flushCache();"</events>
>              </field>
>              <field type="s" name="field2" description="Field 2"
> wildcard="0" size="15">
>                  <definition type="suggest" connectiontype="db"
> startleft="1" sort="asc" minlength="4" dependfld="field1">
>                      <dsn encoding="UTF-8">@</dsn>
>                      <sql>SELECT DISTINCT field2 FROM schema.table WHERE
> field1 = '[dependfldval]' AND field2 ~* '[search]' ORDER BY att1</sql>
>
> <events>onchange="$('#pmsfld_field3').val('');$('#pmsfld_field3').flushCache();"</events>
>                  </definition>
>              </field>
>              <field type="s" name="field3" description="Field 3"
> wildcard="0" size="15">
>                  <definition type="suggest" connectiontype="db"
> startleft="1" sort="asc" minlength="4" dependfld="field1,field2">
>                      <dsn encoding="UTF-8">@</dsn>
>                      <sql>SELECT DISTINCT field3 FROM schema.table WHERE
> field1 = '[dependfldval_field1 ]' AND field2 = '[dependfldval_field2]'
> AND field3 ~* '[search]' ORDER BY field3</sql>
>                        <events>....</events>
>                  </definition>
>              </field>
>
> Le 27/03/2013 14:15, Chris forum a écrit :
> > Hi all,
> >
> > I am having a hard time getting to work a search with 2 fields, second
> one
> > being dependant of the first one.
> > I especially would like to do that with data coming from PGSQL .
> >
> > I know there are examples in the search.xml of the wiki, but I am not
> able
> > to reproduce them with the demo data:
> > - "Cities Options Suggest MS": P.MAPPER ERROR: This version of PHP does
> > support dBase functions
> > - "Communes Suggest PG": I can not find where to download the PGSQL
> > database gisdb
> >
> > Does anyone have a link where to get gisdb database?
> >
> > Here under what I tried with my own shapefile data.
> > This sort of work, but the second field is not filtered according to what
> > has been chosen on the first field.
> >
> > <searchitem name="Test" description="Test -Options Suggest MS-">
> >              <layer type="shape" name="building _shp">
> >
> >                 <field type="s" name="TYPE" description="Building Type"
> > wildcard="2">
> >                      <definition type="options" connectiontype="ms"
> > sort="asc" firstoption="*">
> >                          <mslayer encoding="ISO-8859-1" keyfield="TYPE"
> > showfield="TYPE"/>
> >
> > <events>onchange="$('#pmsfld_NUMBER').val('').flushCache()"</events>
> >                      </definition>
> >                  </field>
> >
> >                    <field type="s" name="NUMBER" description="Building
> > Number" wildcard="2">
> >                        <definition type="suggest" connectiontype="ms"
> > minlength="1" startleft="1" sort="asc" dependfld="TYPE">
> >                        <mslayer encoding="ISO-8859-1" keyfield="NUMBER"
> > showfield="NUMBER"/>
> >                        </definition>
> >                    </field>
> >
> >              </layer>
> >          </searchitem>
> >
> >
> > Regards,
> > Chris
> >
> ------------------------------------------------------------------------------
> > Own the Future-Intel&reg; Level Up Game Demo Contest 2013
> > Rise to greatness in Intel's independent game demo contest.
> > Compete for recognition, cash, and the chance to get your game
> > on Steam. $5K grand prize plus 10 genre and skill prizes.
> > Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d
> > _______________________________________________
> > pmapper-users mailing list
> > pmapper-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/pmapper-users
> >
> >
>
> --
>
>
> Thomas RAFFIN
> Chef de Projet Internet
> traf...@sirap.fr <mailto:traf...@sirap.fr>      Sirap <http://sirap.fr>
>       Tel
> : 04 75 72 84 10
> Fax : 04 75 70 07 98
> Rue Paul Louis Héroult - BP 253
> 26106 Romans cedex
>
>
> ------------------------------------------------------------------------------
> Own the Future-Intel&reg; Level Up Game Demo Contest 2013
> Rise to greatness in Intel's independent game demo contest.
> Compete for recognition, cash, and the chance to get your game
> on Steam. $5K grand prize plus 10 genre and skill prizes.
> Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d
> _______________________________________________
> pmapper-users mailing list
> pmapper-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/pmapper-users
>
------------------------------------------------------------------------------
Own the Future-Intel&reg; Level Up Game Demo Contest 2013
Rise to greatness in Intel's independent game demo contest.
Compete for recognition, cash, and the chance to get your game 
on Steam. $5K grand prize plus 10 genre and skill prizes. 
Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d
_______________________________________________
pmapper-users mailing list
pmapper-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pmapper-users

Reply via email to