AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein HTML/PHP: Dropdownbox --> Neuladen der Seite nach Auswahl
Thema durchsuchen
Ansicht
Themen-Optionen

HTML/PHP: Dropdownbox --> Neuladen der Seite nach Auswahl

Ein Thema von Ajintaro · begonnen am 17. Okt 2005 · letzter Beitrag vom 18. Okt 2005
Antwort Antwort
Benutzerbild von Ajintaro
Ajintaro

Registriert seit: 20. Okt 2004
Ort: Sankt Augustin
138 Beiträge
 
Delphi XE6 Starter
 
#1

HTML/PHP: Dropdownbox --> Neuladen der Seite nach Auswahl

  Alt 17. Okt 2005, 14:38
Hallo ihrs!

Ich fummel nebenbei an einer Benutzerverwaltung in PHP/HTML und MySql. Läuft ganz gut nur hab ich jetzt ein lustiges Problemchen: ich möchte dem Nutzer eine Wahl zwischen A und B geben. Je nach Auswahl wird eine andere Dropdownbox aktualisiert.

Ein Beispiel:
Treiber für ne Hardwarekomponente auswählen. Man wählt erstmal aus ob man (A) Windows oder (B) Linux als Betriebssystem installiert hat. Je nach Auswahl füllt sich die Dropdownbox darunter mit Win2K, WinXP für (A) bzw Suse, Redhat für Auswahl (B)

Im Prinzip wird ja nach der Auswahl nur die Seite neu geladen und den Wert der Auswahl an die nächste Datenbank-Abfrage übergeben. Vom Verständnis kein Ding, nur kenn ich die Syntax nicht dazu.
Gibts da kein OnChange Verhalten für HTML Formularobjekte wie der Dropdownbox ?

Hier mein Code:
(Das ist alles in einer schönen Tabelle geordnet)

<tr>
<td><font color="#FFFFFF">Account(s):</font></td>
<td>
<?PHP
//***********ACCOUNT AUSLESEN*************************
$result_account = mysql_query ("SELECT account_name, account_id FROM ajin_account WHERE (belongs_to_id=$ID) ORDER BY account_name ASC", $data);
$checklog_account = mysql_num_rows($result_account);

$k=0;
echo"<select name='my_account'>";

while ($k<$checklog_account)
{// whileopen
$account_name_box = mysql_result($result_account, $k,"account_name");
//box zeigt den aktuellen eintrag an
echo"<option>$account_name_box</option>";

$k++;

}//whileclose

//***********ACCOUNT AUSLESEN*****************************************
?>
</td>
<td><div align="center"><font color="#FFFFFF">[img]../img/b_edit.png[/img]</font></div></td>
</tr>
<tr>
<td height="22"><font color="#FFFFFF">Chars(s):</font></td>
<td>
<?PHP
//***********CHARS AUSLESEN*************************
$result_chars = mysql_query ("SELECT char_name FROM ajin_chars WHERE (belongs_to_id=$ID) AND (belongs_to_account=?) ORDER BY char_name ASC", $data);
$checklog_chars = mysql_num_rows($result_chars);

$k=0;
echo"<select name='my_char'>";

while ($k<$checklog_chars)
{// whileopen
$chars_name_box = mysql_result($result_chars, $k,"char_name");
//box zeigt den aktuellen eintrag an
echo"<option>$chars_name_box</option>";

$k++;

}//whileclose

//***********CHARS AUSLESEN*****************************************
?>
</td>


Einfach: oben wählt der Nutzer seinen Account aus und die Box darunter füllt sich dann mit den entsprechenden Charackteren dieses Accounts.
Jaimy
DAoC 2.0 -> Camelot Unchained !
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: HTML/PHP: Dropdownbox --> Neuladen der Seite nach Aus

  Alt 17. Okt 2005, 14:40
Javascript

Da gibts das onChange
  Mit Zitat antworten Zitat
Benutzerbild von Ajintaro
Ajintaro

Registriert seit: 20. Okt 2004
Ort: Sankt Augustin
138 Beiträge
 
Delphi XE6 Starter
 
#3

Re: HTML/PHP: Dropdownbox --> Neuladen der Seite nach Aus

  Alt 18. Okt 2005, 13:06
Ich bin fix u. fertig...

Ok mit Javascript habe ich ein onChange Ereignis auslösen können. 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??
Jaimy
DAoC 2.0 -> Camelot Unchained !
  Mit Zitat antworten Zitat
Palando

Registriert seit: 5. Mai 2005
72 Beiträge
 
#4

Re: HTML/PHP: Dropdownbox --> Neuladen der Seite nach Aus

  Alt 18. Okt 2005, 13:35
Wieso schreibst du nicht per PHP in ein Array für Javascript sämtliche möglichen Auswahlmöglichkeiten und ihre Zugehörigkeit und je nachdem, was im Dropdown ausgewählt wurde, änderst du, wieder per JS, den Inhalt der folgenden Dropdowns.

Am Ende sendest du das ganze Formular ab und erhältst je nach Stellung der Dropdowns den ganzen Spaß wieder für dein PHP-Script.
Markus
  Mit Zitat antworten Zitat
Benutzerbild von Ajintaro
Ajintaro

Registriert seit: 20. Okt 2004
Ort: Sankt Augustin
138 Beiträge
 
Delphi XE6 Starter
 
#5

Re: HTML/PHP: Dropdownbox --> Neuladen der Seite nach Aus

  Alt 18. Okt 2005, 14:09
Uh, oh. Das muss ich erstmal verdauen. Wie würde denn so ein Gebilde aussehen?
Jaimy
DAoC 2.0 -> Camelot Unchained !
  Mit Zitat antworten Zitat
Palando

Registriert seit: 5. Mai 2005
72 Beiträge
 
#6

Re: HTML/PHP: Dropdownbox --> Neuladen der Seite nach Aus

  Alt 18. Okt 2005, 14:10
Davon hab ich leider noch weniger Ahnung als du .
War nur ein Gedankengang, ich weiß au garnet obs möglich ist. Sollte aber doch gehen.


e2/Hier ist es so ähnlich gelöst.
Markus
  Mit Zitat antworten Zitat
Benutzerbild von Ajintaro
Ajintaro

Registriert seit: 20. Okt 2004
Ort: Sankt Augustin
138 Beiträge
 
Delphi XE6 Starter
 
#7

Re: HTML/PHP: Dropdownbox --> Neuladen der Seite nach Aus

  Alt 18. Okt 2005, 14:27
Ja nvidia macht es fast so wie ich mir das vorstelle. Nur Benutzten die keine Dropdowns sondern dieses Listendings. Und: die Einträge sind alle fest im Quellcode integriert. Genau das möchte ich ja vermeiden denn bei jeder blöden Änderung muss ich wieder an den Quelltext... Deshalb wollte ich diese Einträge aus ner Datenbank haben.

Für mich im Moment unlösbar
Jaimy
DAoC 2.0 -> Camelot Unchained !
  Mit Zitat antworten Zitat
Palando

Registriert seit: 5. Mai 2005
72 Beiträge
 
#8

Re: HTML/PHP: Dropdownbox --> Neuladen der Seite nach Aus

  Alt 18. Okt 2005, 14:31
PHP kann ja die Daten aus einer Datenbank auslesen und dann diesen Arrayteil im Quelltext ausgeben.
Markus
  Mit Zitat antworten Zitat
Benutzerbild von Ajintaro
Ajintaro

Registriert seit: 20. Okt 2004
Ort: Sankt Augustin
138 Beiträge
 
Delphi XE6 Starter
 
#9

Re: HTML/PHP: Dropdownbox --> Neuladen der Seite nach Aus

  Alt 18. Okt 2005, 14:52
Hmm ich wollte den umgekehrten Weg gehen: erst wissen was ich zu laden habe und dann auch nur das laden. Wenn ich zuerst alles Pauschal aus der DB lade hab ich ne Menge ungewollten Käse im Array.
Jaimy
DAoC 2.0 -> Camelot Unchained !
  Mit Zitat antworten Zitat
Palando

Registriert seit: 5. Mai 2005
72 Beiträge
 
#10

Re: HTML/PHP: Dropdownbox --> Neuladen der Seite nach Aus

  Alt 18. Okt 2005, 15:01
Ansonsten musst du natürlich nach jeder Änderung des Arrays das Formular absenden und interpretieren.

Ich würde da lieber den Weg über das ein bisschen zu volle Array gehen, da da das Formular nur einmal abgesendet werden muss.
Markus
  Mit Zitat antworten Zitat
Antwort Antwort


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:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz