Abhängige select

newbi_1

Mitglied
Ich habe eine Datenbanktabelle, die folgende Struktur hat.

Id s0 s1 s2 s3
B1 0 1 2 3
B1 0 1 3 4
B1 0 2 4 5
B1 0 2 6 7
B2 0 1 2 5
B2 0 1 2 6
B3 0 2 3
B3 0 2 4 6
B3 0 2 4 7

Diese Tabelle möchte ich auslesen und zwar mit abhängigen SELECT Boxen.
Also wenn B1 ausgewählt wird, dann sollte s0 ausgewählt werden.in einer selectbox und dann s1 usw.
Also immer abhängig vom vorher ausgewählten sollte eine neue SELECT-BOX entstehen.
Irgenwie steckt ja eine Baumstrukrur drinnen.
Ich hätte mir da schon was zusammengebaut - kann aber die Tabelle nicht richtig erfassen.
Da ich mal mit festen Werten zum Entwickeln angefangen habe, würde mein Programm funktionieren, wenn
die Tabelle eine Baumstruktur wäre. Aber so? Wer kann mit helfen?


PHP:
<head>
</head>
<body>
  <form action="index.php" method="post">
    <span>
		<?php
			define('inside',true);
			require('box.php');
			$umw = "B11";
			print(make_box(1,$umw));  

		?>
    </span>
  </form>
</body>
</html>


PHP:
<?php

function make_box($parent,$umw)
{
Datenbankverbindung
$items=0;
  $box='';
  if($parent)
    {
	if ($parent == 1) {
		$sql = "SELECT S0,Id from S_TABLE WHERE ID LIKE 'B1' AND ID = '$umw'";
		$x = "S0";
	} else {
		$sql = "SELECT S1, ID from S_TABLE WHERE ID LIKE 'B1' AND ID = '$parent'";
		$x = "S1";
	}
		$s = oci_parse($db,$sql);
		if (!$s) {
			echo "Error in parse. Error was :\n", ora_error($s);
		} else {
			$test = array();
			oci_execute($s);
			$box='<select name="box['.$row['ID'].']" onchange="request_data(this) ">
                              <option value="-1">Auswahl</option>';
			while ($row = oci_fetch_array ($s, OCI_ASSOC)) {
		        if (!in_array($row['S0'], $test)) {
					  $test[] = $row['S0'];
			$items=1;
			$box.='<option value="'.$row['S0'].'">';
			$box.=htmlentities($row['ID']);
			$box.='</option>';
	             }
			}
        } 
		echo "<br>"; echo $items;
        return(($items) 
        ? $box.'</select>'
        : '<input type="submit">');
    }
    
    return('');
  
}

@print(make_box((int)$_GET['box']));
?>


Vielleicht kann mir ja jemand weiterhelfen. Die Parameterübergabe funktioniert nicht ....
Oder bin ich total auf dem Holzweg

Danke im voraus
 
Wenn du den 2ten Parameter optional machen willst, solltest du ihm einen Standartwert mitgeben, auch wenn du ihn nachher nicht brauchst.

PHP:
function make_box($parent,$umw = NULL)
 
Danke erst mal für deine Antwort.
Ich will ja viel mehr übergeben bzw. dynamischer machen. z.B. im select statement . Es muss ja dynamisch werden ob nach s0 bzw. s1 usw.selektiert wird. Wo ruf ich das auf bzw übergebe den Wert?
 
Hi,

das gleiche Thema wurde heute Morgen hier im PHP-Forum zwei Stunden zuvor angesprochen, und mit einem sichtbaren Verweis in der Themenübersicht ins Javascript-Forum verschoben, wie auch dein Thema anschliessend.

Zu dem Zeitpunkt, als du deinen Beitrag verfaßt hast, dürfte der Topic recht weit oben, wenn nicht gar sogar ganz oben gestanden haben.

Nach diesem Thread suchen, darfst du nun selbst, hält er nämlich einen weiterführenden Link für dich bereit.

mfg Maik
 

Neue Beiträge

Zurück