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

Selectboxen

Maximilian

Mitglied
Hallo,

ich beiße mir zurzeit an folgendem Problem die Zähne aus: Ich möchte zwei Selektboxen in Abhängigkeit voneinander mit Inhalten aus einer Datenbankabfrage füllen.
Meine Ansätze:
a) JQuery
Code:
  $(document).ready(function() {
      $("#selectbox_1").change(function(){
        var id_hauptkategorie=$(this).children('option:selected').val();
        $("#selectbox_2").load("testtest.php",{value: id_hauptkategorie});
      });
  });

b) HTML
Code:
<td><select id="selectbox_1" name="saison_select">
    <option value="wählen">wählen...</option>
<?php
$i = 0;
mysql_select_db("kegeln");
    $sql = "SELECT saisonnr FROM saison";
    $result = mysql_query($sql) OR die(mysql_error());
        while($row = mysql_fetch_assoc($result)) {

            foreach($row as &$value) {
                $i++;
            }
                echo "<option value='$i'>" . $row['saisonnr'] . "</option>";
}
   
?>
</select>
</td>

c) PHP -> 'testtest.php'
PHP:
 $a = 1;
      while($_POST['value'] == $a) {
     
   
    
    echo "<option value='1'><span id='ContextMatters_InText_Hook_auto' style='cursor: pointer; color: rgb(0, 0, 204); background-color: transparent ! important; border-bottom: 3px double rgb(0, 0, 204);'>";
    mysql_select_db("kegeln");
    $sql = "SELECT mannschaft FROM mannschaften WHERE saisonid = $a"; 
    $result = mysql_query($sql) OR die(mysql_error());
    while($row = mysql_fetch_assoc($result)) {
    echo "<option>". $row['mannschaft'] . "</option>"; }
    echo "</span></option>";
     
    $a++;
      }

Ich denke der Fehler liegt in der 'testtest.php'. Meiner Meinung nach an der Schleife, doch ich finde keinen Fehler.
Bei der Ausgabe funktioniert die Schleife nämlich nur einmal; d.h. die zur Saison 2014/15 gehörigen Mannschaften werden angezeigt, nicht aber die, die zur nächsten Saison gehören...
Gedacht habe ich mir das so: Jede Saison im Selectfeld bekommt einen Wert (value) zugewiesen. Dieser wird dann anschließend mit den Werten in der DB (saisonid) abgeglichen.

LG, Maximilian
 
Werbung:
Ich habe jetzt ein Script gefunden und das auch anpassen können. Jedoch würde ich gerne eine weitere Select Box hinzufügen, in der man die Spieltage wählen kann. Kann mir da jemand helfen?
LG

Code:
$(document).ready(function() {

    //Selectbox Saison

    $.getJSON("getSaison.php", success = function(data)
    {
        var options = "";
       
        for(var i = 0; i < data.length; i++)
        {
            options += "<option value='" + data[i] + "'>" + data[i] + "</option>";
        }
       
        $("#slctSaison").append(options);   
       
        $("#slctSaison").change();    });
   
   
    $("#slctSaison").change(function()
    {
   
            //Selectbox Mannschaft
           
            $.getJSON("getMannschaft.php?saison=" + $(this).val(), success = function(data)
            {
            var options = "";
           
            for(var i = 0; i < data.length; i++)
            {
                options += "<option value='" + data[i] + "'>" + data[i] + "</option>";
            }
           
            $("#slctMannschaft").html("");
            $("#slctMannschaft").append(options);
    });
  });
});
 
Werbung:
Was soll das eigentlich werden. Willst du einzelne <option> Tags per Ajax mit append() in eine Select-Liste laden? Warum baust du das nicht serverseitig in PHP (ohne echo) als komplette Liste und lädst die dann?
 
Du solltest dich, wie #2 schon sagte, mehr mit der Materie befassen. Das was du umsetzen willst, kann recht komplex sein. Hier ein Lösungsansatz: Jumpmenu, Ajax.
Dazu gibt zu massig Tutorials im Netz die man ganz leicht selbst anpassen kann (wenn man den Buchstabensalat [aka Code] versteht oder verstehen möchte).
 
Zurück
Oben