[GastForen Programmierung/Entwicklung PHP und MySQL Ich verzweifel noch - DropDown-Feld füllen.

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Ich verzweifel noch - DropDown-Feld füllen.

jwg
Beiträge gesamt: 5

27. Apr 2006, 16:08
Beitrag # 1 von 7
Bewertung:
(4262 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Also, ich hoffe, dieses Posting wir nicht zu lang - wenn doch - Sorry.

Ich habe zwei DropDown-Felder, die über eine MySql -Datenbank gefüllt werden. Wir die Hauptrubrik ausgewählt, werden nur noch die passenden Einträge in der Unterrubrik dargestellt. Nach Auswahl der Unterrubrik bleibt der Inhalt jedoch nicht erhalten - kann mir bitte jemand helfen?

Die Funktionen:
Code
function liste_hrub_nach_auswahl ($result, $vhrub, $vhrub_id) 
{
////////////////////////////////////////////////////////////////////////////
// Listeneintrag für jedes Land nach Auswahl erstellen. //
////////////////////////////////////////////////////////////////////////////
echo $_session['vhrub'];
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
if ($row['hrub_bezeichnung'] == $vhrub)

{
echo "<option selected>".$row['hrub_bezeichnung']."</option>";
$vhrub_id = $row['hrub_id'];
}
else
echo "<option>".$row['hrub_bezeichnung']."</option>";
}

// Ergebnislisten-Handle wird zur weiteren Bearbeitung aus den urspr?nglichen
// Zustand gesetzt.

mysql_data_seek($result, 0);
}



function liste_urub_nach_auswahl ($result, $vurub, $vurub_id)
{
////////////////////////////////////////////////////////////////////////////
// Listeneintrag für jedes Land nach Auswahl erstellen. //
////////////////////////////////////////////////////////////////////////////

while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
if ($row['urub_bezeichnung'] == $vurub)

{
echo "<option selected>".$row['urub_bezeichnung']."</option>";
$vurub_id = $row['urub_id'];
}
else
echo "<option>".$row['urub_bezeichnung']."</option>";
}

// Ergebnislisten-Handle wird zur weiteren Bearbeitung aus den urspr?nglichen
// Zustand gesetzt.

// mysql_data_seek($result, 0);
}


Der Body-Bereich:
Code
<body> 
<table width="90%" align="center" cellpadding="3" cellspacing="3" class="tabelle">
<tr>
<td colspan="2"><h1 align="center"> Anmeldung</h1></td>
</tr>

<?php
////////////////////////////////////////////////////////////////////////////
// Serveranmeldung und Oeffen der Datenbank //
////////////////////////////////////////////////////////////////////////////
server_anmeldung (&$session_id, &$bb, &$db);
db_oeffnen (&$session_id, &$db);
////////////////////////////////////////////////////////////////////////////
// Zugriff auf die Tabelle der Datenbank über die SQL-Funktion-Anweisung //
////////////////////////////////////////////////////////////////////////////

sql_hrub (&$result, &$anzahl, &$session_id);
?>
<tr>
<td colspan ="2" align="center">

<form name="fhrub" method="POST">
<select name="dhrub" size="1" class="eingabefeld" onchange="self.document.forms[0].submit()">
<option selected>Hauptrubrik -Bitte auswaehlen-</option>
<?php

////////////////////////////////////////////////////////////////////////////
// Das notwendige Vergleichsfeld $vland wird gesetzt. //
////////////////////////////////////////////////////////////////////////////

if (isset($dhrub))
{
$vhrub = $_POST['dhrub'];
session_register("vhrub");
}
////////////////////////////////////////////////////////////////////////////
// Listeneintrag für jedes Land erstellen und &vland-id ermitteln. //
////////////////////////////////////////////////////////////////////////////
liste_hrub_nach_auswahl (&$result, &$vhrub, &$vhrub_id);

?>
</select></form></td></tr>
<?php
sql_urub (&$result, &$anzahl, &$session_id, &$vhrub_id);

?>

<tr>
<td colspan ="2" align="center">

<form name="furub" method="POST">
<select name="durub" size="1" class="eingabefeld" onchange="self.document.forms[0].submit()">
<option selected>Unterrubrik -Bitte auswaehlen-</option>
<?php

////////////////////////////////////////////////////////////////////////////
// Das notwendige Vergleichsfeld $vland wird gesetzt. //
////////////////////////////////////////////////////////////////////////////

if (isset($durub))
{
$vurub = $_POST['durub'];
session_register("vurub");
}
////////////////////////////////////////////////////////////////////////////
// Listeneintrag für jedes Land erstellen und &vland-id ermitteln. //
////////////////////////////////////////////////////////////////////////////
liste_urub_nach_auswahl (&$result, &$uhrub, &$vurub_id);

?>

</select></form></td></tr>





</table>

</body>


Vielen Dank für die Mühe.
X

Ich verzweifel noch - DropDown-Feld füllen.

Pozor
Beiträge gesamt: 892

28. Apr 2006, 08:49
Beitrag # 2 von 7
Beitrag ID: #226035
Bewertung:
(4246 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

hier kannst du ein paar debugging tipps nachlesen, gib die Daten aus die du benötigst.
Wenn ich mit post-Daten arbeite gebe ich sie zuerst aus und dann sehe ich wie die Daten
ankommen.


als Antwort auf: [#225941]
(Dieser Beitrag wurde von Pozor am 28. Apr 2006, 11:07 geändert)

Ich verzweifel noch - DropDown-Feld füllen.

darksmilie
Beiträge gesamt: 88

28. Apr 2006, 10:22
Beitrag # 3 von 7
Beitrag ID: #226075
Bewertung:
(4244 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
ich weiß zwar nicht wie deine db aussieht, aber ich denke mal du zwei tablen daraus gemacht und in der unterrubrik den schlüssel der hauptrubrik hinterlassen.

dann würde der code so aussehen:
Code
<select name="hauptrubrik"> 
for($i = 0; $i < count(hauptrubrikarray); $i++){
if($hauptrubrik == hauptrubrik[$i][hauptrubrikschlüssel]){
<option value="hauptrubrikschlüssel" selected>hauptrubrikname</option>
}else{
<option value="hauptrubrikschlüssel">hauptrubrikname</option>
}
}
</select>

-------------------------------------------------------------------

<select name="unterrubrik">
for($i = 0; $i < count(unterrubrikarray); $i++){
if($hauptrubrik == unterrubrik[$i][hauptrubrikschlüssel]){
if(unterrubrik == unterrubrik[$i][unterrubrikschlüssel]){
<option value="unterrubrikschlüssel" selected>unterrubrikname</option>
}else{
<option value="unterrubrikschlüssel">unterrubrikname</option>
}
}
}
</select>



als Antwort auf: [#225941]
(Dieser Beitrag wurde von darksmilie am 28. Apr 2006, 10:23 geändert)

Ich verzweifel noch - DropDown-Feld füllen.

jwg
Beiträge gesamt: 5

28. Apr 2006, 13:19
Beitrag # 4 von 7
Beitrag ID: #226145
Bewertung:
(4237 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stefan,

danke für den Tipp und den Link, kann das gut gebrauchen.

LG Wolfgang


als Antwort auf: [#226035]

Ich verzweifel noch - DropDown-Feld füllen.

jwg
Beiträge gesamt: 5

28. Apr 2006, 13:22
Beitrag # 5 von 7
Beitrag ID: #226147
Bewertung:
(4237 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

vielen Dank für die Mühe, welche Du Dir machtest. Es ist richtig, ich habe zwei Tabellen. Mein Priblem ist jedoch nicht, dass die beiden Dropdown-Felder richtig gefüllt werden. Der Inhalt stimmt!
Doch nach der Auswahl der Unterrubrik bleibt mir der Inhalt in diesem Feld nicht erhalten und es wird immer der Hinweis angezeigt, "Unterrubrik bitte auswählen".
Dies bringt mich zur Verzweiflung.

Grüße


als Antwort auf: [#226075]

Ich verzweifel noch - DropDown-Feld füllen.

darksmilie
Beiträge gesamt: 88

2. Mai 2006, 08:43
Beitrag # 6 von 7
Beitrag ID: #226551
Bewertung:
(4219 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hast du denn schon überprüft ob du nach der Selection überhaupt Werte zurück bekommst, bzw. die richtigen Werte?


als Antwort auf: [#226147]

Ich verzweifel noch - DropDown-Feld füllen.

Pozor
Beiträge gesamt: 892

2. Mai 2006, 14:05
Beitrag # 7 von 7
Beitrag ID: #226628
Bewertung:
(4207 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

mir ist aufgefallen, dass Du 2 Form-Tags hast! Wiso?
Es wird somit nur immer eines der Dropdowns gesendet,
die info des anderen wird nicht gesendet.
Ist dies so beabsichtigt?

Wiso gibst du nicht einfach die POST-Daten mit print_r aus,
dann siehst Du ob überhaupt das richtige ankommt.


als Antwort auf: [#226551]
X