Mit OnChange eine Datenbankabfrage starten und das Ergebnis ausgeben

dreggert

Mitglied
Hallo

Ich brüte schon den ganzen Tag über einem kleinen Problem. Ich bin dabei eine Suchformular zu bauen.

Ich habe ein Selectfeld erstellt, in dem man eine bestimmte Kategorie auswählt und dann soll automatisch (wenn möglich ohne Reload der Seite) eine SQL Abfrage starten, um die Inhalte der gewählten Kategorie in einem separaten DIV anzuzeigen.
Bis jetzt habe ich das so gelöst

Code:
 <script type="text/javascript">
  <!--
function toggleDiv(objSel, intSelIndex){
  // Alle DIVs durchlaufen und ein-/ausblenden
  for(var i=0; i<objSel.options.length; i++){
    document.getElementById(objSel.options[i].value).style.visibility = (objSel.options[i].value==objSel.options[intSelIndex].value)? "visible" : "hidden";
  }
}
 //-->
</script>

==========


PHP:
<select size="1" name="name1" onchange="toggleDiv(this, selectedIndex);">
<?
  $sqltype="SELECT * FROM keyword_kat_nr ORDER BY keyword_katName ASC;";
            $res=mysql_query($sqltype);
            echo "<option>Kategorie auswählen</option>\n";
            while ($row=mysql_fetch_array($res,MYSQL_ASSOC))
            {
              $keyword_katID = $row['keyword_katID'];
              $keyword_katName = $row['keyword_katName'];
              
              echo "<option value = \"$keyword_katID\">$keyword_katName</option>";
            }
            ?>

  <!--<option value="allgemein" selected>Allgemein</option>
  <option value="monitoring">Monitoring</option> -->
</select>
<input type="submit" name="schlagwortsuche" value="senden"> 
<br> 
<div id="box">
  <div id="allgemein">
    <input type="checkbox" name="schlagwort[]" value="kombi"> Kombi<br>
    <input type="checkbox" name="schlagwort[]" value="limousine"> Limousine<br>
    <input type="checkbox" name="schlagwort[]" value="sportwagen"> Sportwagen<br>
    <input type="checkbox" name="schlagwort[]" value="kleinbus"> Kleinbus<br>
    <input type="checkbox" name="schlagwort[]" value="andere"> andere Art</p>
  <input type="hidden" name="AllgemeinID" value="allgemein">   
  
  
  </div>
  <div style="visibility: hidden;" id="monitoring">
    <input type="checkbox" name="schlagwort[]" value="monitor1"> Monitor1<br>
    <input type="checkbox" name="schlagwort[]" value="monitor2"> Monitor2<br>
    <input type="checkbox" name="schlagwort[]" value="monitor3"> Monitor3<br>
    <input type="checkbox" name="schlagwort[]" value="monitor4"> Monitor4<br>
    <input type="checkbox" name="schlagwort[]" value="monitor5"> Monitor5</p>
    <input type="hidden" name="kategorieID" value="monitoring">      
  </div>
</div>
<p></p>
 
</form>


Aber mit der Methode wird dann auch der gesamte Inhalt beider Divs übergeben und das möchte ich gern nach möglichkeit vermeiden.

Könnt Ihr mir da einen Tipp geben?
 
Zurück