Datensatz ändern, Sessionvariable mit Javascript auslesen?

riseX

Mitglied
Hallo Leutz,

also wie folgt. Ich habe ein Formular. Erzeuge da ein Dropdown mit Usern, welche aus der Datenbank ausgelesen werden. Nun soll je nach ausgewähltem Benutzer die unteren Felder, wie name usw sich automatisch mit den Datenbankwerten füllen. Nun habe ich beim erzeugen der Seite ja schon die angelegten Benutzer aus der Datenbank ausgelesen.

Nun bin ich mir unschlüssig, wo ich die Datensätze mir erhalte um nicht nach jedem Benutzerwechsel in dem DropDown eine komplett neue Abfrage zu starten. Sprich ... ich will oben den Benutzer wählen (welcher ja vorher ALLE aus der Datenbank ausgelesen wurden) und unten sollen je nachdem welcher Benutzer gewählt wurde, mit Javascript die momentanen Werte festgehalten werden.

Steh ich aufm Schlauch oder so? ... ich weiss einfach nicht, wo ich mir die Datensätze festhalte, damit ich nicht bei jedem Wechsel des Dropdowns eine neue Datenbankabfrage machen muss.

Ach ja ... die Datenbank ist ganz ganz klein und dient nur zur Rollenverteilung der Benutzer. Also sind Geschichten wie Hibernate und so etwas zu heftig für die kleine Geschichte.

Vielleicht hat einer nen fixen Denkanstoss.

Gruß
vom riseX
 
Hmm, falls ich dich richtig verstanden habe, so würde ich ein Globales Array machen indem du alle Daten festhälst. Die Daten gibst du mit php via JSON an Javascript.

Wie das genau mit JSON funktioniert weiß ich noch nicht, aber ich werde mich in den nächsten Tagen damit beschäftigen.

MfG
 
Hm. Hört sich für mich nach einem klaren Fall für Ajax an...
Ich selbst verwende als Bibliothek sajax. Ziemlich einfach. Großen Nutzen :-)

Wennst dazu Fragen hast, bin ich gerne behilflich.

... natürlich kannst du auch alle Datensätze schon vorher laden. Z.b lädst du jeden Datensatz in ein DIV und trägst in das DIV noch zusätzlich die ID deines datensatzes ein, z.B.
Code:
<div id="details_232">Hier stehen dann die Benutzer Details</div>

Über Javascript / deine Dropdown welchslst du dann den Style des jeweiligen DIVs auf sichtbar / nicht sichtbar, Beispiel (standardmäßig sind alle unsichtbar):
Code:
<script>
function showDetails(id) {
     document.getElementById(id).style.display = 'block';
}
</script>
<div id="details_1" style="display: none">Hier stehen dann die Benutzer Details</div>
<div id="details_2" style="display: none">Hier stehen dann die Benutzer Details</div>
<div id="details_3" style="display: none">Hier stehen dann die Benutzer Details</div>
...
<div id="details_234" style="display: none">Hier stehen dann die Benutzer Details</div>


Was in diesem beispiel fehlt: Die Dropdown, über die das Script aufgerufen wird und eine Funktion, die die vorher angezeigten Details wieder ausblendet.

Grüßle

PS: Was hat dein Titel mit deiner Problembeschreibung zu tun? z.B. "Sessionvariable" ;-)
 
mmh nein das meine ich nicht ... ich kann nicht für jeden Datensatz ein eigenes Div anlegen.

Also ... ich habe ein Form ... mit genau 4 Feldern. Oben ein Dropdown mit allen Usern... die unteren 3 sind userspezifische Angaben. Nun will ich oben den User auswählen und in den userspezifischen feldern sollen die richtigen Werte erscheinen. Ich will nun aber nicht für jeden User 3 felder mit den jeweiligen Werten machen und die bei Bedarf einblenden ... das würde zwar funktionieren ... wäre aber ich denke kein guter Weg. Ich müsste mir die Datensätze in Java in einem Array halten oder so ... mal schaun.
 
Hallo,
ich löse solche Aufgaben immer indem ich mit php Javascript code schreibe. Zb könntest du das in deinem Fall so lösen:
Du schreibst dir eine User Klasse mit Javascript und inizialisierst ein Array:
HTML:
function User(firstnama, lastname, attribut1, attribut2)
{
  this.firstname = firstname;
  this.lastname = lastname;
  this.attribut1 = attribut1;
  this.attribut2 = attribut2:
}
var userArray = new Array();
Dann schreibst du mit php in einer Schleife folgenden Code zwischen 2 script tags:
PHP:
echo
"userArray[userArray.length] = new User(".$firstname.", ".$lastname.", ".$attr1.", ".$attr2.");
";
Ebenfalls in einer php Schleife legst du dann dein Dropdown an mit dem ArrayIndex als Value um einen Bezug zu haben, den Rest kannst du dann vermutlich selbst.
 
ja genauso was in der Richtung schwebte mir auch vor ... ich werde das mal so machen. Allerdings benutze ich JSP ... wobei das ja kaum Unterschied macht.

Danke und Gruß
vom riseX
 

Neue Beiträge

Zurück