• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

PHP-Funktion durch Event-Handler aufrufen

Obel

New member
Möchte in Abhängigkeit eines ersten Select-Feldes (Thema) ein zweites Select-Feld (Unterthema) generieren, ohne aber die Seite neu zu laden oder mit Frames arbeiten zu müssen. Geht das überhaupt, ist der Aufruf korrekt und wie übergebe ich dann den Parameter, denn mein Script(siehe unten) ist bestimmt der völlige Quatsch !

Hoffe Ihr seht mir diese Loser-Frage nach und laßt Gnade walten ;-)

<?php

require("SelectList.inc");

$result=mssql_query ("SELECT Thema FROM tbthema",$conn);
$num=mssql_num_rows($result);

echo"<tr>";
echo"<td align='left' style='font-family: Arial; font-size: 14'><font color='#00003F'><b>Thema:</b></font></td>";
echo"<td align='left' style='font-family: Arial; font-size: 14'><font color='#00003F'><b>Unterthema:</b></font></td>";
echo"</tr>";

echo"<tr>";
echo"<input type=hidden name=S1 value=1>";

echo "<td><select name=Theme onchange=edit_option2(" . $Theme . ") </td>";
$i=1;
while ($i < $num):
$CLS= mssql_result($result,$i,"Thema");
$CURR = mssql_result($result,$i,"Thema");
echo "<option value=$CLS";
if ($CURR=='y'){

}
echo ">$CLS</option>";
$i++;
endwhile;

function edit_option2($Theme)
{

$result2=mssql_query ("SELECT tbunterthema.Unterthema FROM tbunterthema WHERE tbunterthema.Thema LIKE" & $Theme,$conn);
$num2=mssql_num_rows($result2);


echo "<td><select name='Undertheme' </td>";
$i=-1;
while ($i < $num2):
$CLS= mssql_result($result2,$i,"Unterthema");
$CURR = mssql_result($result2,$i,"Unterthema");
echo "<option value=$CLS";
if ($CURR=='y'){

}
echo ">$CLS</option>";
$i++;
endwhile;
}
?>

Vielen Dank

Obel

http://volker.kretschmer@n-o-n-a-m-e.de
 
Hallo!

Also, in einer HTML-Seite kannst du keine Funktionen eines PHP-Scripts aufrufen, weil die Seite dann ja schon von PHP verarbeitet wurde.
Ohne die Seite neu zu laden wird das sicher nicht funktionieren. Entweder machst du es mit frames oder aber einen neuen Aufbau der Seite mit den entsprechenden Paramteren.

Ich weiß ja nicht was da in Theme drinn steht, aber da gibt es noch ne Lösung:
Du schreibst alle Daten in ein JS-Array und lässt dann einfach JS die ganze Arbeit machen, damit müßte die Seite nicht neu geladen werden, aber wie gesagt ich kenne den Umfang der Daten nicht und das ist der springende Punkt dabei. Wenn es nämlich 10.000 Datensätze sind dann wird das ganze schon etwas schwieriger, bzw. würde ich das nicht mehr mit JS lösen sondern PHP arbeiten lassen(Seite MUSS dann neu geladen werden).
 
Zurück
Oben