Hallo zusammen,
ich habe ein kleines aktualisierungsproblem mit onchange und php:
ich habe ein Formular das aus 2 Select Boxen besteht. Der Inhalt der Boxen wird aus einer Datenbank herausgelesen.
Der Inhalt der 2. Box ist abhängig von dem was in der 1. gewählt wurde.
Sobald ich einen Eintrag aus der 2. Box auswähle erhalte ich einen Hinweistext.
Der Inhalt der 2. Box wird erst durch auswahl eines Elementes aus der 1. Box sichtbar!
Nun funktioniert folgender Fall nicht:
ich wähle etwas aus der 1. Box, danach aus der 2. Box. Darauf erscheint mein Hinweistext.
Nun wähle ich wieder aus der 1. Box ein anderes Element und der Hinweistext verschwindet nicht!!!
Und an der Stelle komme ich nicht mehr weiter!
Hier mal noch mein Script:
wenn sich jemand den Spass anschauen will auf www.roemario.de/test ist der ganze Spass zu finden.
Ich hoffe auf eure Hilfe
Gruß
Mario
edit: habe gerade festgestellt, wenn das Script gestartet ist, wird auch irgend so ein Schwachsinn angezeigt obwohl ich das nicht will
ich habe ein kleines aktualisierungsproblem mit onchange und php:
ich habe ein Formular das aus 2 Select Boxen besteht. Der Inhalt der Boxen wird aus einer Datenbank herausgelesen.
Der Inhalt der 2. Box ist abhängig von dem was in der 1. gewählt wurde.
Sobald ich einen Eintrag aus der 2. Box auswähle erhalte ich einen Hinweistext.
Der Inhalt der 2. Box wird erst durch auswahl eines Elementes aus der 1. Box sichtbar!
Nun funktioniert folgender Fall nicht:
ich wähle etwas aus der 1. Box, danach aus der 2. Box. Darauf erscheint mein Hinweistext.
Nun wähle ich wieder aus der 1. Box ein anderes Element und der Hinweistext verschwindet nicht!!!
Und an der Stelle komme ich nicht mehr weiter!
Hier mal noch mein Script:
PHP-Code:
<?
require("connect2.inc.php");
?>
<html>
<head>
<title>Anmeldung für Schulungen</title>
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body class="text_normal">
<h1 class=text_Hauptüberschrift>
Anmeldung für Schulungen
</h1>
<form action="<? echo $PHP_SELF ?>" method="post">
<table width=75%>
<tr>
<td width=20%>System</td>
<td>
<?php
/*
Auslesen der Systeme
Damit jedes System nur 1x vorkommt: group by
Wenn $system gesetzt ist wird der Eintrag des Selectfeldes
als Selektiert makiert, der mit dem Inhalt von $system übereinstimmt
*/
$sql=mysql_query("SELECT system, id from systeme group by system");
echo "<select name='system' onChange=submit()>";
echo "<option>Bitte wählen Sie ein System aus</option>";
While($res=mysql_fetch_array($sql)){
echo "<option value='$res[1]' ";
if($system==$res[1])
{
echo "selected";
}else{}
echo ">$res[0]</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td width=20%>Schulung</td>
<td>
<?php
/*
Auslesen der Schulungen zum gewählten System
Wenn $schulung gesetzt ist wird der Eintrag des Selectfeldes
als Selektiert makiert, der mit dem Inhalt von $schulung übereinstimmt
*/
$sql1=mysql_query("SELECT schulungen.schulung, schulungen.beschreibung,
schulungen.id from schulungen
INNER JOIN systeme ON systeme.id=schulungen.system_id
WHERE systeme.id='$system'");
echo mysql_error();
echo "<select name='schulung' onChange=submit()>";
echo "<option>Bitte wählen Sie eine Schulung aus</option>";
While($res1=mysql_fetch_array($sql1)){
echo "<option value='$res1[2]' ";
if($schulung)
{
if($schulung==$res1[2])
{
echo "selected";
}
}
echo ">$res1[0]</option>";
$text[$system]=$res1[1];
}
echo "</select>";
?>
</td>
</tr>
<tr>
<td colspan=2>
<?
/*
Abfrage oder die Variable $schulung gesetzt ist.
Wenn ja, wird die Beschreibung zu der Schulung die in $schulung steht
aus der DB herausgelesen.
*/
echo "Details zur Schulung:";
echo "<br><br>";
if($schulung!="Bitte wählen Sie eine Schulung aus"){
$sql2=mysql_query("SELECT beschreibung from schulungen
where schulungen.id='$schulung'");
$res2=mysql_fetch_array($sql2);
$text=nl2br($res2[0]);
echo "<span class=text_klein>";
echo $text;
echo "</span>";
?>
</td>
</tr>
<tr>
<td colspan=2>
<?
/*
Zählung der Schulungen und Ausgabe ob eine/mehrere
Schulung/en angeboten wird/werden
*/
echo "<span class=text_klein>";
$sql3=mysql_query("SELECT count(schulung_id) FROM angebot_schulungen
where schulung_id='$schulung'");
$res3=mysql_fetch_array($sql3);
echo "Für diese Schulung bieten wir momentan ";
if(!$res3[0])
{
echo "keine Termine";
}elseif($res3[0]=="1")
{
echo "einen Termin";
}else
{
echo "mehrere Termine";
}
echo " an.";
echo "</span>";
}
?>
</td>
</tr>
</table>
</form>
</body>
</html>
Ich hoffe auf eure Hilfe
Gruß
Mario
edit: habe gerade festgestellt, wenn das Script gestartet ist, wird auch irgend so ein Schwachsinn angezeigt obwohl ich das nicht will
Kommentar