AW: [Mapserver-DE] Abfragen

Michael Schulz mschulz at webgis.de
Die Jan 18 12:33:51 CET 2005


Hallo Kerstin,

mit dem modus nquery startest du eine Abfrage um "alle" Ergebnisse die deiner query entsprechen zu 
erhalten (bei query nur eines, nemmich das rämlich gesehen nächstliegende, oder dass in der 
Layerhierarchie zu oberst liegende.

Mit dem Modus query/nqeury wird beim mapserver-Aufruf nun statt dem im web-Abschnitt definierten 
Template, das Template aus der Layerdefintion verwendet, die Ergebnisse zu deinem query liefert. 
Zusätzlich wird nun noch der Abschnitt "querymap" mit ausgewertet, dieser entscheidet z.B. über die 
Art von hiliting und die dazu verwendete Farbe.

In diesem Query-Template, können zusätzliche Template-variablen verwendet werden, als wichtigstes, 
die Variablen, die die Attributwerte z.B. aus dem Shapefile enthalten. Um jetzt Query-ergebnisse 
anzuzeigen, könntest Du eine Datei angeben, die deinem Standard-Template gleicht, zusätzlich aber 
die Attribute darstellen kann. Auf diesem Weg, würdest Du Query-ergebnisse quasi im gleichen Fenster 
und Layout anzeigen.

Um Ergebnisse z.B. in einem Popup oder in einem anderen Frame anzuzeigen, verwende ich zusätzlich 
ein bisschen javascript. Dabei wird in dem query-Template, z.b. als onload event eben ein Popup 
geöffnet und mit javascript die Ergebnisse dort hineingeschrieben.

Man kann auch das target ändern, dazu muss man dann, wie in einer vorigen Mail angemerkt, aber beim 
abschicken des formulars immer testen ob mode=query ist und dann das target umsetzen. Ist aber 
meiner meinung nach nicht so schön, da in dem ursprungsfenster/frame dann gar nichts mehr passiert 
(es sei denn man macht wilde javascript Verrenkungen).

Hoffe, das war nicht zu durcheinander ;-))

Grüße, Michael



Böcke schrieb:
> Die Abfrageseiten werden doch in der Map-Datei angegeben. Somit wird die Queryabfrage Mapserverintern abgearbeitet.
> Ich glaube nicht, dass das so einfach ist, zudem der Befehl, der das Abfrageergebnis im selben Fenster öffnet, erstmal irgendwo abgefangen werden muss um diesen dann mit z.B. target="_blank" zu überschreiben.
> 
> Na gut vielleicht hat hier ja jemand eine gute möglichkeit. Mich würde das auch interessieren, wie es funktioniert.
> @Kerstin: Wenn keiner antwortet am besten mal in der englischen Liste nachfragen.
> 
> Gruß Max
> 
> -----------
> 
> Kerstin,
> 
> irgendwo wird ja eine Funktion aufgerufen oder ein Formular abgeschickt. 
> Dieser/m musst du dann einfach übergeben, wohin ddie query übergeben 
> wird: target="_blank" für ein neues Fenster,  "_self" für dasselbe, oder 
> du übergibst das an einen (i)frame o.ä., der einen Namen hat.
> 
> Welchen Client nutzt du denn?
> 
> Grüsse, Till
> 
> 
> Kerstin.Schlicht wrote:
> 
> 
>>Hallo Liste,
>>
>>ist es möglich, sich eine Abfrage in einem eigenen Fenster anzeigen zu 
>>lassen oder sogar in die aktuelle Seite einzubinden?
>>Mir ist die Vorgehensweise hinsichtlich der Abfragen nicht ganz klar.
>>Ich hab´s so verstanden, dass im Template definiert wird, ob es sich 
>>um eine "query" oder "nquery" handelt.
>>In meinem Fall:
>><input type="checkbox" name="mode" value="nquery"> (funktioniert 
>>soweit auch)
>>Wie die Abfrageseite aussieht, steht in der 3-teiligen html-Seite 
>>HEADER, TEMPLATE u.FOOTER
>>
>>Aber wie oder wo kann ich die notwendige Änderung durchführen?
>>
>>Vielen Dank für Hilfe
>>Kerstin
>>
>>_______________________________________________
>>Mapserver-DE mailing list
>>Mapserver-DE at freegis.org
>>https://freegis.org/mailman/listinfo/mapserver-de
>>
> 
> 
> 

-- 
-----------------------------------------------------------
Michael Schulz                                in medias res
Dipl.-Geologe                              Gesellschaft für
                                 Informationstechnologie mbH
                                      In den Weihermatten 66
		                             79108 Freiburg
                                      0761 55695-95 (Fax 96)
mschulz at webgis.de              www.webgis.de/www.zopecms.de




This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)