Hallo zusammen,
ich bin dabei, mir meine eigene Bilderdatenbank mit html / php / mysql / js zu basteln.
Das Projekt läuft auf einem xampp und wird nie online gehen, ist nur für mich privat.
Beim einlesen der Bilder möchte ich abhängig von den gewählten Pfaden die verfügbaren Unterverzeichnisse
bzw. Bilder wählen können. Leider scheitere ich an der Werteübergabe mit js an die Auswertung mit php.
In der ersten Ebene passt's noch, aber wenn es tiefer in die Ordnerstruktur geht,
krieg ich die nötigen Variablen nicht übergeben.
Hier das Formular dazu.
Das js dazu:
Der gewählte Eintrag aus dem <select id="haupt">wird an die Datei haupt.php übergeben.
In dieser wird das entsprechende Unterverzeichnis ausgelesen und bildet das folgende select-Feld <select id="verz1">.
Das funktioniert auch soweit sehr gut.
Um eine Ebene tiefer in die Ordnerstruktur zu kommen muss ich ja den gewählte Wert aus verz1 an ein Skript übergeben.
Das mache ich hiermit:
Mein Problem ist nun, dass das Ganze an dieser Stelle gegen die Wand läuft, da ich in der Datei verz1.php den Pfad nicht mehr richtig setzen kann,
da mir der übergebene Wert aus dem ersten JS-Skript fehlt. Habe es schon mit einer Session-Variablen versucht, aber bin auch da gescheitert.
Meine Frage ist nun, wie kann ich dem zweiten Skript den Wert aus beiden select's übergeben ?
Könntet ihr mir da bitte weiterhelfen !
Vielen Dank für eure Mühe vorab ! ! !
ich bin dabei, mir meine eigene Bilderdatenbank mit html / php / mysql / js zu basteln.
Das Projekt läuft auf einem xampp und wird nie online gehen, ist nur für mich privat.
Beim einlesen der Bilder möchte ich abhängig von den gewählten Pfaden die verfügbaren Unterverzeichnisse
bzw. Bilder wählen können. Leider scheitere ich an der Werteübergabe mit js an die Auswertung mit php.
In der ersten Ebene passt's noch, aber wenn es tiefer in die Ordnerstruktur geht,
krieg ich die nötigen Variablen nicht übergeben.
Hier das Formular dazu.
PHP-Code:
#Hauptverzeichnis lesen und unten im Formular anzeigen
$haupt = "/Bilder";
$alledateien = scandir($haupt);
foreach ($alledateien as $datei)
{
if ($datei != "." && $datei != ".." && $datei != ".DS_Store")
{
$dirs[] = $datei; //Verzeichnisse in Array schreiben
}
}
#Daten die passend zum eingegbenen Namen sind aus der DB holen
echo "<h1>Bilder suchen: </h1><br /><br />";
echo "<form action='index.php?ziel=test' method='post'>";
echo "<table id='eintragen'>";
echo "<tr>";
echo "<td>Bereich:</td>";
echo "<td class='leerspalte'></td>";
echo "<td><select name='haupt' id='haupt'>";
echo "<option>-</option>";
for ($i=0; $i < count ($dirs); $i++)
{
echo "<option value='" . $dirs[$i] . "'>". $dirs[$i] . "</option>";
}
echo "</select></td>";
echo "<td class='leerspalte'></td>";
echo "<td>Kapitel:</td>";
echo "<td class='leerspalte'></td>";
echo "<td><!--label for='verz1'></label--><select name='verz1' id='verz1'><option>-</option></select></td>";
echo "<td class='leerspalte'></td>";
echo "<td>Pfad:</td>";
echo "<td class='leerspalte'></td>";
echo "<td><!--label for='verz2'></label--><select name='verz2' id='verz2'><option>-</option></select></td>";
echo "<td class='leerspalte'></td>";
echo "<td class='button'><input class='button' type='submit' name='suchen' value='suchen' /></td>";
echo "</tr>";
echo "</table>";
echo "</form>";
Das js dazu:
Code:
<script type="text/javascript" src="/js/jQuery.js"></script> <script type="text/javascript" charset="utf-8"> $(function(typ){ $("select#haupt").change(function(){ $.getJSON("/js/haupt.php",{id: $(this).val(), ajax: 'true'}, function(j){ var options = ''; for (var i = 0; i < j.length; i++) { options += '<option>' + j[i].optionDisplay + '</option>'; } $("select#verz1").html(options); document.getElementById('verz1').selectedIndex = 0; }) }) }) </script>
In dieser wird das entsprechende Unterverzeichnis ausgelesen und bildet das folgende select-Feld <select id="verz1">.
Das funktioniert auch soweit sehr gut.
Um eine Ebene tiefer in die Ordnerstruktur zu kommen muss ich ja den gewählte Wert aus verz1 an ein Skript übergeben.
Das mache ich hiermit:
Code:
<script type="text/javascript" charset="utf-8"> $(function(typ){ $("select#verz1").change(function(){ $.getJSON("/js/verz1.php",{id: $(this).val(), ajax: 'true'}, function(j){ var options = ''; for (var i = 0; i < j.length; i++) { options += '<option>' + j[i].optionDisplay + '</option>'; } $("select#verz2").html(options); document.getElementById('verz2').selectedIndex = 0; }) }) }) </script>
da mir der übergebene Wert aus dem ersten JS-Skript fehlt. Habe es schon mit einer Session-Variablen versucht, aber bin auch da gescheitert.
Meine Frage ist nun, wie kann ich dem zweiten Skript den Wert aus beiden select's übergeben ?
Könntet ihr mir da bitte weiterhelfen !
Vielen Dank für eure Mühe vorab ! ! !
Kommentar