AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein [PHP] Dynamischer Inhalt per Dropdown

[PHP] Dynamischer Inhalt per Dropdown

Ein Thema von Brainstalker · begonnen am 6. Jun 2008 · letzter Beitrag vom 11. Jun 2008
Antwort Antwort
Benutzerbild von Brainstalker
Brainstalker

Registriert seit: 9. Jan 2004
Ort: Berlin
176 Beiträge
 
Delphi 2009 Professional
 
#1

[PHP] Dynamischer Inhalt per Dropdown

  Alt 6. Jun 2008, 22:46
Hallo, ich habe ein kleines Problem bei dem ich im Moment nicht weiterkomme.
Ich habe ein Formular mit einer Dropdown Box (Select), in der eine Stadt ausgewählt werden kann.
Zusätzlich habe ich darunter dann die Bezirke der Stadt zum auswählen.
Ich würde es gerne so machen, das die richtigen Bezirke angezeigt werden wenn ich eine andere Stadt wähle.
Die Bezirke und Städte werden mit PHP und SQL aus einer Datenbank gelesen.
Meine Ideen bisher waren:
1. Alle Bezirke mit PHP zu holen und mit Javascript die passenden anzuzeigen.
2. Bei einer Änderung der Dropdown Box die Seite neu zu laden und die passenden Bezirke mit PHP zu holen.

Das Problem bei 1. ist, das ziemlich viel Overhead geladen wird.
2. will nicht so recht, da das Formular eine andere Aufgabe hat und beim Submit dann die eigentliche Funktion ausgeführt wird.
Ich wollte, wenns geht komplett auf Javascript verzichten.

Wär nett wenn ihr mir ein bisschen helfen könntet.
Achja die Formular Variablen werden in einer Session bzw. Cookie gespeichert.
Michael N.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.828 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: [PHP] Dynamischer Inhalt per Dropdown

  Alt 6. Jun 2008, 22:59
Oder du verwendest Ajax
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#3

Re: [PHP] Dynamischer Inhalt per Dropdown

  Alt 6. Jun 2008, 23:00
Hallo Brainstalker,

also dadurch, dass du komplett auf JavaScript verzichten willst, bleiben natürlich nurnoch recht unschöne Lösungen. Aber man muss seine Ziele auch durchsetzen, also das sollte dich nicht hindern.

Einfachste Variante hast du ja bisher schon genannt: Du lässt erstmal alle Bezirke in einem Select anzeigen und dem User dann eins auswählen. Problem jetzt ist allerdings, dass ja nicht via Ajax nachladen kannst und auch nicht automatisch das Formular absenden kannst. (Also ohne Klick auf einen Button direkt nach der Auswahl absenden). Dann musst du eben einen Button dafür machen.

Was mir außerdem noch einfallen würde: Wie wäre es, wenn du statt einer Vorgabeliste den User selbst tippen lässt, so kannst du dir zumindest diese Arbeit sparen. Statt einem Select mit der riesigen Liste einfach ein Eingabefeld, wo der User dann seinen Bezirk und seinen Ort eingibt.

Eins verstehe ich ehrlich gesagt nicht so ganz.

Zitat von Brainstalker:
2. will nicht so recht, da das Formular eine andere Aufgabe hat und beim Submit dann die eigentliche Funktion ausgeführt wird.
Dann musst du das eben ändern. Du machst dann eben einen richtigen "Wizard" aus deinem Webanwendung, so wie man sie von Installern oder anderen Webseiten kennt. Wenn du vielleicht etwas genauer sagst, was es denn werden soll, dann kann man eventuell noch bessere Vorschläge machen, denn solche Formulare oder Wizards gibt es ja in allen möglichen Ausführungen. (Aufwändig wie bei einer Registrierung auf einer Seite oder klein wie die Shoutbox in der DP)

Zitat von mkinzler:
Oder du verwendest Ajax
Das ist zwar die beste Lösung, aber er wollte auf JavaScript verzichten.

Mit freundlichen Grüßen,

Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von Brainstalker
Brainstalker

Registriert seit: 9. Jan 2004
Ort: Berlin
176 Beiträge
 
Delphi 2009 Professional
 
#4

Re: [PHP] Dynamischer Inhalt per Dropdown

  Alt 7. Jun 2008, 00:07
Das Ganze wird ein Suchformular. Man hat die Möglichkeit Suchwörter anzugeben und eine Stadt mit Bezirken.
Die Stadt wird in einem Select Feld ausgewählt und die Bezirke dann als Checkboxen darunter aufgelistet.
Das sind die Vorgaben, die ich leider auch nicht ändern kann.
Der Button des Formulars startet die Suche, wobei Suchwörter, Stadt und ausgewählte Bezirke in einer Session gespeichert werden.

Ich wollte JavaScript nicht benutzen, weil einige das ja deaktiviert haben. Andere Teile der Website benutzen bereits JavaScript, aber laufen im bei ausgeschaltetem JavaScript trotzdem noch halbwegs.
Wenn es so einfacher geht bin ich gerne bereit JavaScript einzusetzen.
Michael N.
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#5

Re: [PHP] Dynamischer Inhalt per Dropdown

  Alt 7. Jun 2008, 01:01
Jaaa, du hast da tatsächlich ein Problem.
Du musst da fast zwei komplett unabhängige Masken bauen. Die eine klasisch, Stadt auswählen, "Weiter" klicken, Bezirk auswählen, Fertig.

per javascript (ajax) lässt du dann den "Weiter"-Submit-Button verschwinden, dafür kommt das Bezirk-dropdown und du lädst im OnClick-Ereignis die Bezirke nach.
das form-target wird dann so umgebaut, dass ein submit direkt zum schritt "fertig" geht.

damit hast du zwar einen hässlichen "reload"/Zwischenschritt falls JavaScript aus ist, aber das ist denke ich der einzige Weg, das ganze zu machen, ohne alle Bezirke zu übertragen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.989 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: [PHP] Dynamischer Inhalt per Dropdown

  Alt 7. Jun 2008, 07:15
Zitat von DGL-luke:
damit hast du zwar einen hässlichen "reload"/Zwischenschritt falls JavaScript aus ist, aber das ist denke ich der einzige Weg, das ganze zu machen, ohne alle Bezirke zu übertragen.
Jupp, das würde ich auch sagen. Wenn du die Lösung ohne JavaScript hast, dann ist das ganze mit JavaScript relativ schnell automatisiert.
Ich mache es bei mir genauso. Momentan noch ohne JS und ich habe gemerkt, dass der Hauptaufwand in der dem Teil der Umsetzung lag. Das wird bei dir vermutlich ähnlich sein, wenn du die Daten nicht dynamisch per AJAX (also JS) holen darfst.

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von Brainstalker
Brainstalker

Registriert seit: 9. Jan 2004
Ort: Berlin
176 Beiträge
 
Delphi 2009 Professional
 
#7

Re: [PHP] Dynamischer Inhalt per Dropdown

  Alt 7. Jun 2008, 20:34
Hm ich hatte mir jetzt nochmal Gedanken gemacht.
Ich würde gern beim ändern der Stadt im Select Feld die ID in der Stadt in der Session speichern und die Seite neu laden.
Beim neu laden kann ich gleich die richtigen Bezirke laden.
Mein Problem ist jetzt nur wie kann ich das bewerkstelligen, da ja bei abschicken des Formulars die Suchergebnisse gelistet werden.

Also beim OnChange des Select Formular abschicken Seite neu laden.
Beim Klick auf den Suchen Button die Suchergebnisse anzeigen.

Wie kann ich das lösen? JavaScript ist von mir aus erlaubt.
Michael N.
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#8

Re: [PHP] Dynamischer Inhalt per Dropdown

  Alt 8. Jun 2008, 12:31
Mir würde da noch etwas einfallen: Frames.



Ihr dürft mich jetzt hauen. *wegrenn*

Mit freundlichen Grüßen,

Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von Brainstalker
Brainstalker

Registriert seit: 9. Jan 2004
Ort: Berlin
176 Beiträge
 
Delphi 2009 Professional
 
#9

Re: [PHP] Dynamischer Inhalt per Dropdown

  Alt 8. Jun 2008, 18:40
Ja mit Frames wäre das möglich, aber die möchte ich nicht benutzen.
Danke erstmal für die Tipps. Ich werde mal sehen wie ich da durchkomme.
Michael N.
  Mit Zitat antworten Zitat
Benutzerbild von Brainstalker
Brainstalker

Registriert seit: 9. Jan 2004
Ort: Berlin
176 Beiträge
 
Delphi 2009 Professional
 
#10

Re: [PHP] Dynamischer Inhalt per Dropdown

  Alt 11. Jun 2008, 18:29
Also ich hab das Problem jetzt gelöst, vorerst.
Ich lasse die Seite neu laden indem ich beim onchange des select eine JavaScript Funktion aufrufe.

Code:
var city = -1;
   
function selectWert(sObj) {
  with (sObj) return options[selectedIndex].value;
}

function LoadDistricts() {
  city = selectWert(document.getElementById('city'));
  self.location = "http://127.0.0.1/index.php?city=" + city;
}
Die Stadt ID wird übernommen und dann die Bezirke geladen. Ist zwar meiner Meinung nach nicht die Beste Lösung, aber es funktioniert. Und die Seite muss sowieso irgendwann überarbeitet werden und dann wird auch das System neu überdacht.

Nochmal danke für eure Hilfe.
Michael N.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf