Seite 1 von 1

Volltextsuche und selects

Verfasst: Do 7. Mär 2019, 12:15
von christobal
Hallo aus Tirol,

ich weiß nicht mehr, wie das geht. Vielleicht kann mir wer helfen? Und zwar möchte ich Objekte filtern, und zwar durch 2 selects und ein Volltextsuchfeld. So schauts zur Zeit aus. Aber wie kann ich den search-input in die condition integrieren?

Bitte um Hilfe!

Code: Alles auswählen

<we:form type="search" id="self">

<we:search type="textinput" name="suche" />

<select name="Bezugsraumselect" id="Bezugsraumselect">
<option value="%">Alle Bundesländer</option>
<option value="Burgenland">Burgenland</option>
<option value="Kärnten">Kärnten</option>
<option value="Niederösterreich">Niederösterreich</option>
<option value="Oberösterreich">Oberösterreich</option>
<option value="Salzburg">Salzburg</option>
<option value="Steiermark">Steiermark</option>
<option value="Tirol">Tirol</option>
<option value="Vorarlberg">Vorarlberg</option>
<option value="Wien">Wien</option>
</select>

<select name="Artselect" id="Artselect">
<option value="%">Alle Förderungsarten</option>
<option value="Darlehen">Darlehen</option>
<option value="Garantien">Garantien</option>
<option value="Kredit">Kredit</option>
<option value="Zuschuss">Zuschuss</option>
</select>


<input type="reset" name="Zurücksetzen" value="Zurücksetzen" />
<input type="submit" name="Submit" value="Suche" />

</we:form>

<we:setVar from="request" to="global" namefrom="Bezugsraumselect" nameto="Bezugsraumselect" />
<we:setVar from="request" to="global" namefrom="Artselect" nameto="Artselect" />

<we:condition name="condition">
<we:conditionAdd field="Bezugsraum" var="%Bezugsraumselect%" compare="like"/>
<we:conditionAnd />
<we:conditionAdd field="Art" var="%Artselect%" compare="like"/>
</we:condition> 

<we:listview type="object" name="finanzierungen_listview" order="we_id" classid="19" desc="false" condition="\$condition">
Danke, Christoph

Re: Volltextsuche und selects

Verfasst: Do 7. Mär 2019, 12:56
von mokraemer
was meinst du denn mit einem Volltextsuchfeld? Du meinst es soll quasi in allen Feldern gesucht werden?
Das geht nur, wenn du die LV für type="search" nutzt. Die Datenbanken können nicht in allen Feldern suchen, deshalb haben wir dafür ja noch die Index-Tabelle. Die andere Alternative wäre sonst nur, jedes Feld einzeln anzugeben und dies mit "OR" zu verknüpfen - das ist aber halt bei Felderweiterungen/Umbenennen fehleranfällig.

Re: Volltextsuche und selects

Verfasst: Fr 8. Mär 2019, 10:39
von christobal
Danke vielmals Mo für die Hilfe!

Ich würde es gerne versuchen, 8 Felder (Waswirdgefoerdert, Werber, Art, Kosten, Foerdersatz, Unterobergrenzen, Bedingungen, Stellen) aus der Klasse zu durchsuchen.

Kannst Du mir bitte bei den conditions helfen und geht das mit dem Eingabefeld

Code: Alles auswählen

<we:search type="textinput" name="suche" />
?

Re: Volltextsuche und selects

Verfasst: Do 14. Mär 2019, 09:34
von haydi
Huhuu und Guten Morgen,

wenn du die condition selbst basteln willst, dann nicht we:search nehmen, sondern ein einfaches we:input.
Dieses kannst du dann bspw. in globale Variablen packen....

Code: Alles auswählen

<we:input type="text" name="suche" to="global" nameto="meinsuchstring" />
Oder was auch immer du machen möchtest...

Wichtig! Damit bspw. SQL-Injection vermieden werden, solltest du deine setVar-Viecher noch erweitern ... bspw.

Code: Alles auswählen

<we:setVar from="request" namefrom="Bezugsraumselect" typefrom="text" varType="string" prepareSQL="true" striptags="true" to="global" nameto="Bezugsraumselect" />
Schau für Details am besten auch in die Tag-Referenz.

Liebe Grüße
Heidi

Re: Volltextsuche und selects

Verfasst: Mi 22. Mai 2019, 12:33
von christobal
Grüß Dich Heidi, danke für Deine Hilfe!

Wenn ich ein <we:input...> mache, sehe ich auf der offiziellen Seite gar nichts. Laut tag-Ref ist das <we:input...> nur für den Bearbeitungsmodus?!

Ich habs jetzt so gelöst:

Sucheingabefeld:

Code: Alles auswählen

<input type="text" name="suchinput" class="form-control" />
Variablen und Condition

Code: Alles auswählen

<we:setVar from="request" to="global" namefrom="suchinput" nameto="suchinput" />
<we:setVar from="request" to="global" namefrom="Bezugsraumselect" nameto="Bezugsraumselect" />
<we:setVar from="request" to="global" namefrom="Artselect" nameto="Artselect" />

<we:condition name="condition">
<we:conditionAdd field="Waswirdgefoerdert" var="%suchinput%" compare="like"/>
<we:conditionAnd />
<we:conditionAdd field="Bezugsraum" var="%Bezugsraumselect%" compare="like"/>
<we:conditionAnd />
<we:conditionAdd field="Art" var="%Artselect%" compare="like"/>
</we:condition> 
wobei "Waswirdgefoerdert" eins von mehreren Objektfeldern ist, nach dem ich suche.

Aber:

Wie muss ichs machen, dass ich nach meherern Feldern suchen kann?

Da wäre ich um Hilfe sehr dankbar!

Christoph aus Tirol