PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP und JavaScript Problem


pate33
02.08.2002, 10:42
Hi,

hab hier ein dringendes prob mit meiner web app.

ich kann kein javascript. das mal gleich im vorraus.

zum problem:

ich hab 2 auswahlboxen. wenn die seite geladen wird, soll die eine box gefuellt werden mit den daten aus 'select name from hersteller'... wenn man dann nen hersteller ausgewaehlt hat, soll (ohne reload der page) die 2te box mit 'select name from software where hersteller = hersteller' gefuellt werden.

wie geht das????

danke vielmals


Lord_Otter
02.08.2002, 16:59
Aus Javascript heraus kannst du meines Wissens nach keinen SQL-Befehl ausführen.
Die einzige Möglichkeit, die mit also einfällt, ist folgende:

Du führst ganz normal deinen ersten SQL-Query aus, und dann gehst du alle Einträge in einer Schleife durch und führst für jeden Hersteller den 2. Query aus und speicherst alle Ergebnisse in einem Array.
Dieses Array gibst du dann an javascript weiter, dass den 2. SQL-Query nicht mehr ausführen muss, weil es die daten ja schon in einem Array hat.
Ich kann auch nicht besonders gut Javascript, aber aus diesem Beispiel sollte man schon mal den Lösungsweg erkennen können.

...
<script language=javascript>
function FuellBox2(HerstellerID)
{
switch herstellerID
{
<?php
$SQL_BEFEHL="SELECT * FROM hersteller";
$SQL_RESULT=mysql_query($SQLBEFEHL);
while($her=mysql_fetch_array($SQL_RESULT))
{
$SQL_BEFEHL="SELECT * FROM software WHERE hersteller=
".$her['name'];
SQL_RESULT2=mysql_query($SQL_BEFEHL);
text="";
while($soft=mysql_fetch_array($SQL_RESULT2))
text=text.$soft['name']+"<br>";
echo "case ".$her['ID'].":document.form1.box2.document.
innerHTML='$text';";
}
?>
}
}
</script>
...


Ich gehe davon aus, dass du die 2. Box "box2" genannt und in einem Formular, das zufällig "form1" heißt, untergebracht hast.