Seite 1 von 1

eine kleine und eine grosse Frage...

Verfasst: 18.10.2005 15:53
von ajin
Hallo ihr!

Ich bin fix u. fertig...

Ich habe eine kleine Gildenseite für ein Online-Rollenspiel namens DAoC. Jetzt möchte ich das der Nutzer bei einem Problem direkt eine Private Nachricht an einen bestimmten Foren Nutzer senden kann. Ist kein Problem, denn mit dem link: http://www.x/forum/privmsg.php?mode=post&u=9260

kann ich dem user 9260 ne Pn schicken. Aber wie kann ich denn das Subject (Betreff) mit übergeben ? Ich möchte da auch gleich einen Betreff vorgeben

Okay nun das grössere Problem:

Ein Spieler kann mehrere Accounts besitzen. Auf jedem Account befinden sich ein paar Characktere. Jetzt hab ich eine Seite die es dem Nutzer erlauben soll, einen seiner Accounts mittels Dropdown-Box auszuwählen. Kein Problem. Aber nach der Auswahl müssen die dazugehörigen Charackter aus der Datenbank geladen werden, und das bekomm ich einfach net hin. Denn ich müsste HTML/PHP/Java Script miteinander verheiraten :(

Mit Javascript habe ich versucht ein onChange Ereignis auszulösen. Allerding beschränkte sich dieses Ereignis auf ein simples Alert. *seufz*
Ich kann ja auch onChange'javascript:my_function(); eine funktion einbauen, wie aber teile ich meiner Funktion mit, welches Element gerade ausgewählt wurde bzw a little bit more tricky: wie kann ich eine Variable von Javascript an PHP übergeben?

Jezt versteht mich nicht falsch. Ich hab eben gut 2h damit verbracht eine Lösung für das Problem zu finden. Es kann doch net so schwer sein Javascript, PHP und ne MySQL-Abfrage zu verheiraten. Ich dreh noch durch....

<?PHP
...
echo"<select name='my_account' onChange'javascript:my_function' >";

while ($k<$checklog_account)
{
$account_name_box = mysql_result($result_account, $k,"account_name");
echo"<option>$account_name_box</option>";
$k++;
}
?>

Mit diesem Ansatz kann ich my_function aufrufen... Aber wie bekommt die Funktion my_function den selektierten Box Eintrag übergeben? Und wie übergebe ich dann diese Variable wieder in PHP um die entsprechende Datenbank Abfrage zu realisieren?

<?PHP
...
echo"<select name='my_account' onChange'alert('Es wurde +(this.selectedItem)+ ausgewählt')' >";

while ($k<$checklog_account)
{
$account_name_box = mysql_result($result_account, $k,"account_name");
echo"<option>$account_name_box</option>";
$k++;
}
?>

Mit diesem Ansatz bekomme ich zwar den gewählten Eintrag als Meldung angezeigt, aber wie kann ich deses Ergebnis in eine PHP Variable umwandeln?

Ziel ist es je nach Auswahl eine Datenbankabfrage zu machen. Ich hab auch schon versucht eine neue php Seite zu coden die den Eintrag aus der DB liest. Aber auch diese neue Seite benötigt die Variable des gewählten Eintrags....

*heul*

Ich reite glaub ich gerade ein mächtiges Holzpferd auf einem noch grösseren Holzweg.... kann mich einer halbwegs erlösen??

Ein simples aber effektives Beispiel bietet die Nvidia Seite im Bereich Treiber-Download.

Grüsse Ajin

Verfasst: 18.10.2005 16:49
von mristau2k5
Also ich denk, das einfachste wird es sein, alles direkt aus der Datenbank auszulesen und eben die verschiedenen Charaktere in JavaScript Arrays einzutragen, mit der Funktion wird dann das passende Array angezeigt.

ich hab das noch nicht gemacht, aber ich denk so in der Art

Code: Alles auswählen


// die Arrays in php aus der DB füllen
// am besten in ner While Schleife nen String bilden und dann ausgeben
acc1 = new array("Char1", "Char2", "Char3");
acc2 = new array("Char1", "Char2", "Char3");
acc3 = new array("Char1", "Char2", "Char3");
acc4 = new array("Char1", "Char2", "Char3")

//übergeben werden soll der Value des ausgewählten Account-Arrays
function(char_array)
{
//  Anzeige des übergeben Arrays
}

<select name="my_account" onChange="my_function(this.selectedItem)">
 <option value="acc1">Account 1</option>
 <option value="acc2">Account 2</option>
 <option value="acc3">Account 3</option>
 <option value="acc4">Account 4</option>
</select>
ich hab mit Java Script noch nicht so viel gemacht, aber ich glaub das ist so etwa die schnellste Variante, ansonsten könnte man auch OnChange das Formular aktivieren und die Seite mit den ausgewählten Daten neu laden