Archiv verlassen und diese Seite im Standarddesign anzeigen : Cookie für List Menü ?
Hallo,
kann man mit einem Cookie die Werte von ListenMenüs speichern ?
In einem Suchformular sollen die gewählten Werte beibehalten werden, auch wenn die Seite neu geladen wird.
Wie kann man soetwas realisieren ?
Ich habe schon ne ganze Weile nach Coookies gesucht, aber bis jetzt nichts brauchbares gefunden.
Wo hast du denn gesucht?
Versuchs mal mit dem PHP Handbuch.
In einem Suchformular sollen die gewählten Werte beibehalten werden, auch wenn die Seite neu geladen wird.
Meinst du, nachdem das Formular abgeschickt wurde oder direkt zur Laufzeit? Also bei der Eingabe eines Wertes in ein Feld.
Peter
Also, man hat dann in der Suche die Möglichkeit eine ListenMenü auszuwählen. Die haben zum Bepsiel die Werte "Hund" "Katze" "Maus".
"Hund" ist dabei das vorgewählte Feld.
Wenn ich jetzt "Katze" auswähle und auf Suchen klicke sucht er und lädt dann wohl die Seite neu, sodass wieder "Hund" erscheint.
Ich möchte aber gerne, dass "Katze" erscheint, also der Wert den man vorher ausgewählt hat.
onemorenerd 12-12-2009, 16:36 Warum willst das clientseitig lösen, mit Cookie und Javascript?
Ich weiss gar nicht wie man das lösen kann, eigentlich ist es mir egal.
Ich wäre froh wenn das einfach nur funktioniert...
Du musst doch einfach nur den POST-Wert überprüfen. Also in etwa so:
echo '<option value="katze"';
if ('katze' == $_POST['tier'])
{
echo ' selected="selected"';
}
echo '>Katze</option>';
So vom Prinzip her.
Peter
Danke, das bedeutet also ich muss das ListMenü mit PHP ausgeben. Ich werde das mal ausprobieren...
Ne geht leider auch nicht. Gibt es nicht Cookies für soetwas?
Ne geht leider auch nicht.
Natürlich geht das. Zeig mal den Code.
Peter
streuner 14-12-2009, 14:37 Ne geht leider auch nicht.
Das bezweifel ich ja etwas:). Wie sieht den dein Versuch bisher aus?
mfg streuner
Das ist das SelectMenü:
<select name="kategorie" id="kategorie" >
<option value="Katze">Katze</option>
<option value="Hund">Hund</option>
<option value="" selected="selected">-</option>
</select>
Wie soll man den PHP Code denn dort einfügen.
Oder muss der da nicht hinein ?
Ne geht leider auch nicht. Gibt es nicht Cookies für soetwas?
Das ist das SelectMenü:
<select name="kategorie" id="kategorie" >
<option value="Katze">Katze</option>
<option value="Hund">Hund</option>
<option value="" selected="selected">-</option>
</select>
Wie soll man den PHP Code denn dort einfügen.
Oder muss der da nicht hinein ?
Ich habe dir doch schon gezeigt, wie das prinzipiell funktioniert. Ein wenig selber mitdenken solltest du aber schon. Nimm meinen Code und pass den für jeden option-Element an. Wenn du das nicht kannst, solltest du dir erst mal die entsprechenden Grundlagen (http://www.peterkropff.de/site/php/php.htm) aneignen. :)
Peter
PS: Meine Lösung ist deutlich einfacher, als wenn du mit Cookies arbeitest. Glaub es mir.
AmicaNoctis 14-12-2009, 20:52 Das sind Grundlagen, die eigentlich nicht in dieses Forum gehören dürften. PHP: Den HTML-Bereich der Datei verlassen - Manual (http://www.php.net/manual/de/language.basic-syntax.phpmode.php)
Zum Thema Cookies. selbst wenn die Daten aus einem Cookie kommen würden, müsstest du es trotzdem genauso machen.
Ja ok, ich werde das morgen mal versuchen.
Aber eine Frage habe ich noch. Katze und Hund sind Kategorien.
Ich möchte halt etwas in der Datenbank suchen.
Und zwar alle "Suchwörter" der Kategorie Hund, Maus und/oder "Katze".
Ich habe das schon mit Select... OR versucht aber das klappt auch irgendwie nicht.
Also ich habe dann entweder Hund, Maus oder Katze in der Tabellenspalte Kategorie stehen.
Jetzt soll der Herr Mysql alle Datensätze anzeigen, welche das Wort Hund, Maus und/oder Katze stehen haben.
Habt ihr ne Ahnung wie das geht ?
"SELECT * FROM tabelle WHERE tabellen.spalte LIKE '%$suchwort%'
AND (tabellen.kategorie LIKE '%$Hund%' OR tabellen.kategorie LIKE '%$Katze%' OR tabellen.kategorie LIKE '%$Maus%')
:dontknow:
Auch bzgl. dieser Frage gilt, wenn du das ganze vernünftig umsetzen willst, zuerst wieder, was dir bereits gesagt wurde (http://www.php-resource.de/forum/php-developer-forum/98307-wie-fragt-man-kategorien-ab.html#post631312).
Meine Tabelle ist schon in Ordnung wie sie ist. Ich benötige Hilfe
bei der Abfrage, mehr doch nicht. Die müsste ja so funktionieren wie da steht.
Tut sie aber nicht.
Meine Tabelle ist schon in Ordnung wie sie ist.
Nein, ist sie nicht.
Je länger du dich weigerst, das anzuerkennen - desto länger wird es dauern, bis du eine vernünftige Lösung produzierst.
Die müsste ja so funktionieren wie da steht.
Tut sie aber nicht.
Dann unternehme die üblichen Debug-Maßnahmen.
@veil
Sorry, aber dir fehlen wirklich die elementarsten Grundkenntnisse. Darum solltest du die dir schnellstmöglich aneignen. Als Anlaufstelle kann dir unter Umständen meine Seite (siehe Signatur) weiterhelfen.
Peter
Du weisst also wie meine Tabelle aussieht, interessant.
Wie spielt denn Schalke am nächsten Wochende ?
Du weisst also wie meine Tabelle aussieht, interessant.
Wie spielt denn Schalke am nächsten Wochende ?
Sie gewinnen! Blau und weiß, wie lieb ich dich, ... .Spaß beseite. Im Gegensatz zum nächsten Schalke-Spiel kann man bei dir auf Grund der Abfragen schon Rückschlüsse auf die Tabellenstruktur ziehen. Und die sieht nicht so gut aus.
Peter
AmicaNoctis 14-12-2009, 22:09 Deine Abfrage kann so nicht funktionieren. Informier dich bitte, wozu die % wirklich gut sind. Dann erkennst du auch, dass du die völlig falsch einsetzt.
Was deine etwas rechthaberische Art angeht, wenn du (von Experten!) freundlich darauf hingewiesen wirst, dass deine DB nicht in Ordnung ist: Glaub denen, die sich auskennen. Ob du es umsetzt, bleibt ja dir überlassen, aber erzähl bitte nicht, dass alles perfekt ist, wenn du so wenig Grundlagenwissen erkennen lässt. Das frustriert deine Helfer und senkt deine Chancen auf Hilfe. ;)
Ohne die % geht gar nichts.
Ist mir auch egal, gibt noch andere Foren.
Ist mir auch egal, gibt noch andere Foren.
Und da wirst du dieselben Antworten bekommen wie hier.
Peter
AmicaNoctis 14-12-2009, 22:58 Ohne die % geht gar nichts.
Ich hab auch nicht gesagt, dass du die überall ganz weglassen sollst, lediglich dass du sie falsch einsetzt und dich über den richtigen Einsatz informieren solltest.
Hier ist jetzt das ListMenü mit PHP
<select name="kategorie" id="kategorie">
<?php echo '<option value="katze"';?>katze</option>
<?php if ('katze' == $_POST['kategorie'])
{
echo ' selected="selected"';
}
echo '>Katze</option>';?>
<option value="hund">hund</option>
<option value="" selected="selected">-</option>
</select>
Dort wo Katze sein sollte, erscheint aber nur ein leeres Auswahlfeld.
Die Webseite habe ich mir durchgelesen.
<?php echo '<option value="katze"';?>katze</option>
Da hast du zuviel angegeben (katze</option>). Schau dir nochmal genau mein Beispiel an. Dann klappt es auch. :)
Peter
Dort wo Katze sein sollte, erscheint aber nur ein leeres Auswahlfeld.
Dann schau doch bitte mal, was dein Code für ein HTML erzeugt.
Wenn kategorie=='katze', dann gibst du
<option value="katze"katze</option>
selected="selected">Katze</option>
aus.
Hältst du das für sinnvoll?
Die Webseite habe ich mir durchgelesen.
Statt überfliegen bitte mal mit Verstehen versuchen.
<?php echo '<option value="katze"';
if ('katze' == $_POST['kategorie'])
{
echo ' selected="selected"';
}
echo '>Katze</option>';?>
<option value="hund">hund</option>
<option value="" selected="selected">-</option>
</select>
Jetzt erscheinen nur die Wörter Katze und Hund als Text.
Es ist kein Select Menü mehr zu sehen.
streuner 15-12-2009, 12:15 <?php echo '<option value="katze"';
if ('katze' == $_POST['kategorie'])
{
echo ' selected="selected"';
}
echo '>Katze</option>';?>
<option value="hund">hund</option>
<option value="" selected="selected">-</option>
</select>Jetzt erscheinen nur die Wörter Katze und Hund als Text.
Es ist kein Select Menü mehr zu sehen.
Code ist besser, aber du hast 2x selected="selected" drin und ein <select size=... name=...> am Anfang wäre auch nicht schlecht (siehe dafür die bereits genannten Links).
mfg streuner
Jetzt erscheinen nur die Wörter Katze und Hund als Text.
Es ist kein Select Menü mehr zu sehen.
Dann schau in den HTML-Code, den dein Script erzeugt - und vergleiche den mit dem statischen Beispiel, das du zuvor erstellt hast.
Und lerne bitte langsam mal, wenigstens diesen Schritt selber zu vollziehen - und nicht immer wieder nur "funzt nich"-Postings abzusetzen.
Weil das hier fehlt!
<select name="kategorie" id="kategorie">
Und du zwei selected hast! Außerdem solltest du wirklich mal ein wenig selber denken!
Peter
Wahnsinn.
Jetzt funtioniert das.
Muss ich gleich ersteinmal abspeichern, damit ich das jederzeit wiederfinde.
|