• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Mehrere Auswahllisten verknüpfen

Status
Für weitere Antworten geschlossen.

Etoilée

Neues Mitglied
Hallo!

ich möchte dass drei Auswahllisten durch das Auswählen angezeigt werden. Wenn ich einen Bereich in der 1. Auswahlliste auswähle, dann werden die Themen in der 2. Auswahlliste angezeigt. Wenn ein Thema in der 2. Auswahlliste ausgewählt wird, dann sollen die Werte angezeigt werden. Ich habe es mit PHP programmiert.
Nur eine Funktion hat wunderbar geklappt. Das ist zwar: Wenn man einen Bereich in der 1. Auswahlliste auswählt, dann werden die Themen in der 2. Auswahlliste eingefügt.
Aber es gibt ein kleines Problem: Wenn man ein Thema in der 2. Auswahlliste auswählt, dann sollen die Werte nur angezeigt werden. Es hat leider nicht geklappt. Woran liegt das?

Ich würde mich auf eure Unterstützung freuen.

HTML:
<form  method="post" action="seminarauswahl.php" id="seminarauswahl" name="seminarauswahl">
     <div id="formular">
     <span>Seminarauswahl</span><br /><br />
             <label for="bereich">Bereich</label>
              <select id="bereichliste" name="bereichliste" size="1" onchange="document.seminarauswahl.submit()" style="width:200px;">
               <?php
                        echo "<option value='0'>Bitte Bereich ausw&auml;hlen</option>";
                        $sql    = "SELECT * FROM `tab_bereich`;";
                        $res    = mysql_query($sql);
                        while($bereichzeile = mysql_fetch_array($res)){
                            echo '<option value="'.$bereichzeile[1].'" ';
                                if(isset($_POST['bereichliste']) && $_POST['bereichliste']==$bereichzeile[1]){
                                    echo 'selected="selected"';
                                }
                            echo '>'.$bereichzeile['1'].'</option>';
                        }
                        ?>
                    </select>
                    <label for="thema">Gew&uuml;nschtes Thema</label>
                    <select id="themaliste" name="themaliste" size="1" style="width:200px;">
                        <?php
                        $bereichliste = $_POST['bereichliste'];
                        if(isset($bereichliste)){
                        $sql    = "SELECT * FROM `tab_thema` WHERE '".$bereichliste."'=`bereich` ;";
                        $res    = mysql_query($sql);
                        while($themazeile = mysql_fetch_array($res)){
                            echo '<option value="'.$themazeile[1].'" ';
                                if(isset($_POST['themaliste']) && $_POST['themaliste']==$themazeile[1]){
                                    echo 'selected="selected"';
                                }
                            echo '>'.$themazeile['thema'].'</option>';
                            }
                        }
                        ?>
                    </select>
                        <?php
                        $themaliste = $_POST['themaliste'];
                        if(isset($themaliste)){
                        $sql    ="SELECT * FROM `tab_thema` WHERE '".$themaliste."'=`thema`";
                        $res    = mysql_query($sql);
                        
                        while ($datensatz = mysql_fetch_array($res)){    
                        ?>
                    <label for='dauer'>Dauer</label>
                    <input type='text' name='dauer' id='dauer' value='<?php echo $datensatz['dauer'];?>' disabled='disabled' />
                    <label for='beginnende'>Beginn/ Ende</label>
                    <input type='text' name='tag1' id='tag1' value='<?php echo $datensatz['tag1']; ?>' disabled='disabled' />
                    <input type='text' name='tag2' id='tag2' value='<?php echo $datensatz['tag2']; ?>' disabled='disabled' />
                    <input type='text' name='tag3' id='tag3' value='<?php echo $datensatz['tag3']; ?>' disabled='disabled' />
                    <label for='preis'>Preis</label>
                    <input type='text' name='preis' id='preis' value='<?php echo $datensatz['preis']; ?>' disabled='disabled' />
                    <?php }}?>
            </div><!--ende div formular-->
        <div><input type="submit" value="zum Anmeldeformular" id="absenden" name="absenden" /></div>
        <div><input type="reset" value="Abbrechen" id="abbrechen" /></div> 
        </form>
 
Wenn du mich beim lesen unterstützt, in dem du deinen Code ordentlich mit PHP Tags versiehst und deinen Code Leserlich schreiben würdest, dann würde ich dir gerne helfen...
 
Ok, ich mache den Code ordentlich! :wink:

PHP:
<form  method="post" action="seminarauswahl.php" id="seminarauswahl" name="seminarauswahl"> 
<div id="formular"><span>Seminarauswahl</span><br /><br /> 
<label for="bereich">Bereich</label> 
<select id="bereichliste" name="bereichliste" size="1" onchange="document.seminarauswahl.submit()" style="width:200px;">         <?php              
echo "<option value='0'>Bitte Bereich ausw&auml;hlen</option>";
   $sql    = "SELECT * FROM `tab_bereich`;";
   $res    = mysql_query($sql);
      while($bereichzeile = mysql_fetch_array($res)){
         echo '<option value="'.$bereichzeile[1].'" ';
            if(isset($_POST['bereichliste']) &&$_POST['bereichliste']==$bereichzeile[1]){
        echo 'selected="selected"';
       }
        echo '>'.$bereichzeile['1'].'</option>';
   }
?> 
</select> 
<label for="thema">Gew&uuml;nschtes Thema</label>
<select id="themaliste" name="themaliste" size="1" style="width:200px;">
<?php
   $bereichliste = $_POST['bereichliste'];
      if(isset($bereichliste)){
         $sql    = "SELECT * FROM `tab_thema` WHERE '".$bereichliste."'=`bereich` ;";
        $res    = mysql_query($sql);
           while($themazeile = mysql_fetch_array($res)){
              echo '<option value="'.$themazeile[1].'" ';
                 if(isset($_POST['themaliste']) && $_POST['themaliste']==$themazeile[1]){
                    echo 'selected="selected"';
                    }
              echo '>'.$themazeile['thema'].'</option>';
              }
          }
?> 
</select> 
<?php
   $themaliste = $_POST['themaliste'];
       if(isset($themaliste)){
          $sql    ="SELECT * FROM `tab_thema` WHERE '".$themaliste."'=`thema`";
          $res    = mysql_query($sql);
                        
          while ($datensatz = mysql_fetch_array($res)){    
?> 
<label for='dauer'>Dauer</label> 
<input type='text' name='dauer' id='dauer' value='<?php echo $datensatz['dauer'];?>' disabled='disabled' />
<label for='beginnende'>Beginn/ Ende</label> 
<input type='text' name='tag1' id='tag1' value='<?php echo $datensatz['tag1']; ?>' disabled='disabled' /> 
<input type='text' name='tag2' id='tag2' value='<?php echo $datensatz['tag2']; ?>' disabled='disabled' /> 
<input type='text' name='tag3' id='tag3' value='<?php echo $datensatz['tag3']; ?>' disabled='disabled' /> 
<label for='preis'>Preis</label> 
<input type='text' name='preis' id='preis' value='<?php echo $datensatz['preis']; ?>' disabled='disabled' /> 
<?php }}?> 
</div>
<div>
   <input type="submit" value="zum Anmeldeformular" id="absenden" name="absenden" />
</div> 
<div>
   <input type="reset" value="Abbrechen" id="abbrechen" />
</div> 
</form>
 
Cross-Site Scripting – Wikipedia
SQL-Injection – Wikipedia

So das erstmal vorweg ^^ und nun zu deinem Problem :P

Code:
mysql_query("SELECT * FROM `tab_thema` WHERE [color=red]'".$bereichliste."'=`bereich`[/color]")

Hast du da nicht was verwechselt?
Ich mein ich kanns mir vorstellen, dass es geht... ist ja nur anders gestellt die anfrage aber bist du dir sicher das es sinvoll ist das so zu schreiben?

Dann sprichst du den Index eines arrays teilweise mit integer und dann wieder mit string werden an...

Erstmal ende mehr lust hapsch net zu lesen ^^ is ja grausam :P
 
@Slibbo

Dank für deinen Hinweis (Wikipedia) habe ich das Problem gelöst. Du hast recht, dass ich das mit Zeichen wie ", /, ' etc. verwechselt habe.

Nochmals danke für deine Unterstützung!;Jump
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben