Enrico: Dynamische Erzeugung zweier abh. Select-Felder

Beitrag lesen

Hallo wahsaga,

Ich brauche nochmal dringend, dringend, dringend Deine tatkräftige Unterstützung...

Momentan bin ich so weit:

<?php

function VerzeichnisEinlesen ($Ausgangsverzeichnis)
      {
        $Unterverzeichnisse = array();

if (is_dir ($Ausgangsverzeichnis))
        {
          $VerzeichnisZeiger = opendir ($Ausgangsverzeichnis);

while ($AktuellesElement = readdir ($VerzeichnisZeiger))
          {
            $NaechstesVerzeichnis = $Ausgangsverzeichnis . '/' . $AktuellesElement . '/';

if ((is_file ($NaechstesVerzeichnis) == true) | ($AktuellesElement == ".") | ($AktuellesElement == ".."))
              continue;

array_push ($Unterverzeichnisse, $NaechstesVerzeichnis);
            array_push ($Unterverzeichnisse, VerzeichnisEinlesen ($NaechstesVerzeichnis));
          }
        }
        return ($Unterverzeichnisse);
      }

function VerzeichnisseBearbeiten ($VerzeichnisInhalt)
      {
        $BearbeiteteVerzeichnisse = array ();

for ($a = 0; $a < count ($VerzeichnisInhalt); $a++)
        {
          $VerzeichnisInhalt [$a] = str_replace ("pic/pic/klein//", "",   $VerzeichnisInhalt [$a]);
          $VerzeichnisInhalt [$a] = str_replace ("/",               "",   $VerzeichnisInhalt [$a]);
          $VerzeichnisInhalt [$a] = str_replace ("1",               " ",  $VerzeichnisInhalt [$a]);
          $VerzeichnisInhalt [$a] = str_replace ("2",               """, $VerzeichnisInhalt [$a]);
          $VerzeichnisInhalt [$a] = str_replace ("3",               "&",  $VerzeichnisInhalt [$a]);
          $VerzeichnisInhalt [$a] = str_replace ("4",               ",",  $VerzeichnisInhalt [$a]);
          $VerzeichnisInhalt [$a] = str_replace ("AE",              "ä",  $VerzeichnisInhalt [$a]);

if (is_array ($VerzeichnisInhalt [$a]))
            VerzeichnisseBearbeiten ($VerzeichnisInhalt [$a]);
          else
            array_push ($BearbeiteteVerzeichnisse, $VerzeichnisInhalt [$a]);
        }
        return $BearbeiteteVerzeichnisse;
      }

function SelectFelderErzeugen ($BearbeiteteVerzeichnisse)
      {
        $ArraySelectFelder   = array ();
        $SelectAuswahlRubrik = '<select name="GalerieAuswahlRubrik" size="1">';
        $SelectAuswahlOrdner = '<select name="GalerieAuswahlOrdner" size="1">';

for ($a = 0; $a < count ($BearbeiteteVerzeichnisse); $a++)
        {
          if (strpos ($BearbeiteteVerzeichnisse [$a], "_"))
          {
            $VerzeichnisZerlegt = explode ("_", $BearbeiteteVerzeichnisse [$a]);

if (!strpos ($SelectAuswahlRubrik, $VerzeichnisZerlegt [0]))
              $SelectAuswahlRubrik .= "<option value = " . $VerzeichnisZerlegt [0] . ">" . $VerzeichnisZerlegt [0] . "</option>";
          }
          else
          {
            $SelectAuswahlRubrik .= "<option value = " . $BearbeiteteVerzeichnisse [$a] . ">" . $BearbeiteteVerzeichnisse [$a] . "</option>";
          }
        }
        $ArraySelectFelder [0] = $SelectAuswahlRubrik;
        $ArraySelectFelder [1] = $SelectAuswahlOrdner;

return $ArraySelectFelder;
      }

$VerzeichnisInhalt        = VerzeichnisEinlesen     ("pic/pic/klein/");
      $BearbeiteteVerzeichnisse = VerzeichnisseBearbeiten ($VerzeichnisInhalt);
      $ArraySelectFelder        = SelectFelderErzeugen    ($BearbeiteteVerzeichnisse);

?>

Ich kann damit - wenn auch nur fast perfekt - das erste Select-Feld aufbauen.

Nur:

Wie bringe ich den Rest als Abhängigkeit des ersten Teiles in das zweite Select-Feld und v.a. wie verbinde ich die über PHP erzeugten Select-Felder mit dem Javascript-Code für das dynamische Füllen des zweiten Select-Feldes ?

Vielen Dank wieder einmal :-)

Gruss, Enrico