Moin allerseits.
Ich habe folgende 2 Probleme:
Problem 1:
Ich habe ein Formular mit mehreren Select-Feldern.
Abhängig von der Auswahl im ersten Select-Feld soll die Auswahl im zweiten bzw. dritten Select-Feld zur Auswahl stehen.
Hatte es über ein Javascript gelöst, da aber die Datenmenge doch relativ groß wird/werden kann und zudem noch mit möglichst geringem Aufwand gewartet werden können soll, möchte ich für die Daten eine SQL-db nutzen.
Nun soll eben in Select-Feld 1 die Daten aus Tabelle 1 auswählbar sein.
Das funktioniert auch problemlos.
Allerdings sollen nun im Select-Feld 2 abhängig zur Auswahl in Feld 1 die Daten aus Tabelle 2 angezeigt werden und auswählbar sein.
Feld 1 ist wie unten zu sehen befüllt als Abteilung und dementsprechend sollen dann im zweiten Select-Feld nur die Mitglieder aus der ausgewählten Abteilung auswählbar sein
Hab mir schon verschiedene Tut´s für Ajax angeschaut, aber das sind bisher noch böhmische Dörfer für mich.
Problem 2:
Wie gesagt, die Auswahl in den Select-Feldern soll dann wieder in eine weitere Tabelle der db geschrieben werden.
Das funktioniert auch. Teilweise.
Hab 2 verschiedene Varianten ausprobiert.
Version 1:
Direkt im HTML-Code
HTML-Code:
.... <td>
<?php
mysql_connect("localhost:666", "root", "") or die (mysql_error ());
mysql_select_db("test") or die(mysql_error());
$strSQL = "SELECT * FROM abteilung ORDER BY abt_id ASC";
$rs = mysql_query($strSQL);
echo '<select name="abteilung">';
while($row = mysql_fetch_array($rs)) {
if ($row['unterabteilung'])
{
$strName = $row['abteilung'] . " - " . $row['unterabteilung'];
}
else
{
$strName = $row['abteilung'];
}
echo '<option value=".$strName.">'. $strName . '</br>' . '</option>';
}
echo '</select>';
mysql_close();
?>
</td>....
Version 2:
Per Aufruf einer PHP-Datei:
HTML-Code:
...<td>
<?php
include ("list2.php");
?>
</td>...
Und dann die PHP-Datei:
PHP-Code:
<?php
mysql_connect("localhost:666", "root", "") or die (mysql_error ());
mysql_select_db("test") or die(mysql_error());
$strSQL = "SELECT * FROM abteilung ORDER BY abt_id ASC";
$rs = mysql_query($strSQL);
echo '<select>';
while($row = mysql_fetch_array($rs)) {
if ($row['unterabteilung'])
{
$strName = $row['abteilung'] . " - " . $row['unterabteilung'];
}
else
{
$strName = $row['abteilung'];
}
echo '<option value=".$strName.">'. $strName . '</br>' . '</option>';
}
echo '</select>';
mysql_close();
?>
Wie gesagt. Das Befüllen des Select-Feldes funktioniert problemlos. Beim Absenden/ Eintragen in die db steht dann
im Datenbank-Feld.
Ich hoffe jemand kann mir (im besten Fall) nur eine fehlerhafte Sonderzeichennutzung aufzeigen.
Oder eben einen Lösungsansatz / eine Lösung für meine Probleme zeigen.
Ach. Als Hinweis noch. Es MUSS im IE11 funktionieren. (Und nur da)