Walter,

I tested it with a PG dataset. If I define the DATA tag as

the_geom from (select ...) as newtable using unique gid ..."

then I get an error. If I define it

the_geom from (select ...) as newtable using unique OID ..."

then the error does not appear. The attribute search uses the OID field 
to uniquely identify a feature and add it to the resultlayer for 
highlighting. The OID field is the only one that is guaranteed existing 
in every PG table.

Maybe this helps.

Armin

Armin Burger wrote:
> Do you by chance specify the PostgIS layer as 
> "the_geom from (select ...) as newtable using unique gid ..." ?
> 
> armin
> 
> 
> 
>>--- Urspr?ngliche Nachricht ---
>>Von: Walter Lorenzetti <[EMAIL PROTECTED]>
>>An: [EMAIL PROTECTED]
>>Kopie: Armin Burger <[EMAIL PROTECTED]>
>>Betreff: Re: [Pmapper-users] query postgis bug
>>Datum: Mon, 17 Oct 2005 13:10:17 +0200
>>
>>Alle 19:10, venerd? 14 ottobre 2005, hai scritto:
>>Hi Armin,
>>
>>i try to do what you said me and i obtain OID that is correct!
>>I try to use 1.9.4 pmapper version but the bug persist
>>
>>For me the problem is another:
>>when i use multi-search-info (it works) in the apache-log i see that 
>>$resShpIdx is not OID postgis record but it's the gid, instead in search 
>>procedure $resShpIdx is OID, so the pmap_addResultLayer() function in
>>map.php 
>>is blocked at $newResLayer->addFeature($resShape),  this is correct?
>>
>>Bie Walter
>>
>>
>>
>>>Did you try the new version 1.9.4? There were some bugs for attribute
>>>searches on Postgis layers until then. I was hoping that they had been
>>>solved with the new version. I can remember that I got that problem, but
>>>do not know any more what was the reason for it.
>>>
>>>The problem comes from that it cannot find the shape based on the
>>>supplied feature ID. It uses this feature ID to identify the feature
>>>used for the highlighting. And it does not find the feature in the
>>>postgis layer with that id.
>>>
>>>Write out the feature to the PHP error log, using something like
>>>error_log("OID: $resShpIdx");
>>>
>>>after the line
>>>
>>>$resShape = $qLayer->getShape($resTileShpIdx, $resShpIdx);
>>>
>>>in map.php
>>>
>>>Then look in the postgis DB if you can find the feature using
>>>select * from your_table where oid = [the_id_from_$resShpIdx]
>>>
>>>
>>>Armin
>>
>>-- 
>>Walter Lorenzetti
>>[EMAIL PROTECTED]   www.faunalia.it   www.faunalia.com
>>Via di Tofori 123 - 55010 Camigliano (LU), Italy   Tel: (+39)347-6597931
>>
> 
> 

Reply via email to