PHP, JavaSrcipt und MySql-daten

Alles, was PHP betrifft, kann hier besprochen werden.

PHP, JavaSrcipt und MySql-daten

Postby horstschulz » 25. October 2009 17:45

In einer MySql-DB habe ich 4 Tabellen.
Jede Tabelle hat einen Eindeutigen Key.
Über den Key sind die Tabellen miteinander verbunden.
Mit PHP kann ich die Daten aus der Datenbank auslesen und entsprechend den Key’s filtern und darstellen.

Jetzt möchte ich folgende Darstellung:
Auslesen der 1. Tabelle für 1. Listenfeld.
Auslesen der 2. 3. und 4. Tabelle für 2. bis 4. Listenfeld.
Die 4 Felder werden in einer HTML – Seite gleichzeitig angezeigt.
Zu diesem Zeitpunkt werden keine Filter in der SQL – Abfrage eingesetzt.

1. Wenn jetzt der User im Listenfeld 1 eine Auswahl trifft, sollen die Listenfelder 2 bis 4 entsprechend der Key’s aktualisiert, sprich gefiltert, werden, ohne neues Lesen der Datenbank.
2. Wenn jetzt der User im Listenfeld 2 eine Auswahl trifft, sollen die Listenfelder 3 bis 4 entsprechend der Key’s aktualisiert, sprich gefiltert, werden, ohne neues Lesen der Datenbank.
3. Wenn jetzt der User im Listenfeld 3 eine Auswahl trifft, sollen Das Listenfelder 4 entsprechend des Key’s aktualisiert, sprich gefiltert, werden, ohne neues Lesen der Datenbank.
Das geht sicherlich mit JavaSript, aber habe noch nicht den richtigen Ansatz dafür.

Folgenden Code habe ich gefiunden:
Code: Select all
<script type="Text/JavaScript">
function switcher(x)
{
    if(x==1)
    {
        document.form_1.select_2.selectedIndex = document.form_1.select_1.selectedIndex;
    }
    else
    {
        document.form_1.select_1.selectedIndex = document.form_1.select_2.selectedIndex;
    }
}
</script>

<form name="form_1">
  <select name="select_1" onChange="switcher(1);">
    <option>Auto wählen</option>
    <option value="Audi">Audi</option>
    <option value="Golf">Golf</option>
    <option value="BMW">BMW</option>
    <option value="Opel">Opel</option>   
  </select>
  <select name="select_2" onChange="switcher(2);">
    <option>###</option>
    <option value="#1">Audi #1</option>
    <option value="#2">Golf #2</option>
    <option value="#3">BMW #3</option>
    <option value="#4">Opel #4</option>
    <option value="#4">Astra #4</option>         
  </select>
</form>

Hier werden aber die Eingaben, Index und Werte, hart codiert und es wird im Ergebnis immer nur 1 Wert, über den Index im nächsten Listenfeld ausgegeben.

Wie also bekomme ich aus der DB Key und Werte in die Listenfelder, und wie wird mit Hilfe der Key’s das nächste Listenfeld über Java aktualisiert, sprich gefiltert.
Die Einträge in den einzelnen Listenfelder können 1 bis nTausend betragen. Daher mehrmaliges lesen der DB vermeinden!. Die Werte evtl. ein Array’s einlesen?
ich hasse Streß
Horst
horstschulz
 
Posts: 71
Joined: 29. December 2002 11:38
Location: Stade

Re: PHP, JavaSrcipt und MySql-daten

Postby Nobbie » 25. October 2009 18:25

Das geht so nicht. Dazu müßtest Du ja den kompletten(!) Datenbankinhalt vom Server in das HTML Dokument speichern, in JavaScript Arrays abgelegt. Das wäre natürlich die absolute Performancekatastrophe (mal eben zig Megabyte herunterladen für ein 0815-Formular).

Die Einträge in den einzelnen Listenfelder können 1 bis nTausend betragen. Daher mehrmaliges lesen der DB vermeinden!


Genau das Gegenteil ist richtig: nur mit mehrmaligem Lesen der Datenbank und bereitstellen der Daten nach ausgewähltem Key ist die Anwendung realisierbar. Keine Angst vor Datenbankzugriffen - insbesondere wenn der primary Key bekannt ist. Ein solcher Zugriff dauert auch bei Millionen von Datensätzen nur hundertstel Sekunden. Das ist der Sinn von Keys und Indexes.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: PHP, JavaSrcipt und MySql-daten

Postby horstschulz » 25. October 2009 19:35

Dein Einwand ist sicherlich richtig,
aber für den Anwender bedeutet das 4X Selekt aus dem Listenfeld, 4X submit und 4X neuer Seitenaufbau.
Nicht gerade elegant und professionell.
Trotzdem,
bastel ich jetzt ein eine Webseite, die 4 Listenfelder anzeigt, wobei der Submitbottom, entsprechend der Auswahl (1. 2. 3. oder 4.), jeweils zum nächsten Listenfeld springt. Dann bleibt das Outfit der Seite auf jeden Fall gleich, und das geht auch mit PHP pur.
ich hasse Streß
Horst
horstschulz
 
Posts: 71
Joined: 29. December 2002 11:38
Location: Stade

Re: PHP, JavaSrcipt und MySql-daten

Postby Nobbie » 25. October 2009 21:51

horstschulz wrote:Nicht gerade elegant und professionell.


Was ist unprofessionell daran?
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: PHP, JavaSrcipt und MySql-daten

Postby Stepke-DSL » 26. October 2009 07:39

Hallo,

Du wolltest dich glaube ich mal mit Ajax beschäftigen, damit ist das ohne große Probleme möglich...

MfG Stepke
Stepke-DSL
 
Posts: 313
Joined: 12. July 2007 16:08
Operating System: Win XP Pro SP3 + SuSe Linux


Return to PHP

Who is online

Users browsing this forum: No registered users and 15 guests