choke: Dropdown von mehreren selektieren

Moin,

ich habe zwei <select> felder.
Im einen Stehen Automarken im anderen noch nichts.

So mein Problem ist...
Wenn eine Automarke ausgewählt wurde soll er mir als Prüfung die zugehörige ID ausgeben, was er auch macht.
Das Problem an der Sache ist das er auf alle Autos/ID's unter 5 nicht reagier/ echo"alert('" . $search . "')";

Ich habe schon versucht die Variablen zu ändern indem ich zahlen an der Id anhänge oder multipliziere, potenziere usw...
Dann gehts es und er gibt mir die Ids mit der änderung (anhang,multi.,potenz) aus sobald ich diese aber wieder in ihren ursprünglichen zustand bringe gehts wieder nicht.

Genauso gibt er mir garnichts aus wenn ich zum
              echo"alert('" . $search . "')";
noch
              echo"alert('" . $table . "')";
oder
              echo"alert('" . $mid . "')";
hinzufüge.

Ich bin echt am verzweifeln da ich keine ahnung habe warum JS das macht da es für mich keinen sinn macht das alle Werte unter 5 nicht akzeptiert werden.

hier mein Quellcode:

search.tpl

  
<script type="text/javascript">  
<!--  
function loadScript(table,search, mid) {  
               search= 123456789 +search;  
               url = "/includes/search_js_func.php";  
               skript=document.createElement('SCRIPT');  
               skript.setAttribute(  
                                     'src',url+'?table='+table+'  
                                     &search='+search+'&mid='+mid  
                                  );  
               document.getElementsByTagName('BODY')[0].appendChild(skript);  
}  
//-->  
</script>  
  
<!-- Formular für die Autosuche -->  
<form method='post' action='index.php' name="search">  
<table border="0" bgcolor="#FFFFFF">  
    <tr>  
        <td>  
                 Marke:  
        </td>  
        <td>  
                 <select name="carmarke" onChange="loadScript('models',     this.value, 'make_id');">  
                         <option value='0'>Beliebig</option>  
                         <option value='1'>Audi</option>  
                         <option value='2'>BMW</option>  
                         /* Sind hier jetzt nur Bsp. eintraege */  
                 </select>  
    </tr>  
    <tr>  
        <td>  
                 Model:  
  
        </td>  
        <td>  
                 <select name="carmodel" onChange="crtlist(this.value, motors)" disabled>  
                         <option value="0">Beliebig</option>  
                 </select>  
        </td>  
  

der rest vom Formular spielt hier ja keine Rolle oder?

search_js_func.php

  
<?php  
  
         $table=$_GET['table'];  
         $mid=$_GET['mid'];  
         $search=$_GET['search'];  
  
         $search = substr($search, -1);  
         echo"alert('" . $search . "')";  
  
         echo"  
              var id = new array();  
              var name = new array();  
              var prev_id = new array();  
         ";  
         $db = @new mysqli( 'localhost', 'root', 'test', 'atw' );  
         $sql = "SELECT `id`,`name` FROM $table WHERE $mid=$search";  
         $ergebnis = $db->prepare( $sql );  
         $ergebnis->execute();  
         $ergebnis->bind_result($id,$name);  
         while ($ergebnis->fetch())  
         {  
            echo"id.push(".$id.")";  
            echo"name.push(".$name.")";  
            echo"alert('keks')";  
         }  
?>  
  

ich hoffe ihr habt einen Hinweis für mich, bin für jede Hilfe dankbar.

MfG
Choke

  1. Hi,

    Das Problem an der Sache ist das er auf alle Autos/ID's unter 5 nicht reagier/ echo"alert('" . $search . "')";

    Wer ist "er"?

    Kommt JavaScript mit den Werten zurecht, übermittelt es sie korrekt ans PHP-Script?

    Was macht das PHP-Script mit diesen Werten, was hat dein Debugging ergeben? (Auch mal "nicht als JavaScript", d.h. Script mit Parametern über Addressliste direkt aufrufen.)

    Und wieso gibt dein PHP-Script eigentlich keinen passenden Content-Type-Header aus, wenn seine Ausgabe als JavaScript interpretiert werden soll?

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    1. Moin,

      Wenn ich das Script direkt per "/includes/search_js_func.php?table=models&search=2&mid=make_id" aufrufe funktioniert es(insofern ich vorher noch nen <script>-Tag setze, weil im eignetlichen Script wird die search_js_func.php ja schon innerhalb des <script>-Tags ausgeführt...).
      Wenn ich mir vor dem Scriptaufruf auch nochma die aufzurufende URL ausgeben lasse ist dort alles korrekt.Eben:  "/includes/search_js_func.php?table=models&search=2&mid=make_id" bspw.

      MfG Choke

      1. Hi,

        Wenn ich das Script direkt per "/includes/search_js_func.php?table=models&search=2&mid=make_id" aufrufe funktioniert es(insofern ich vorher noch nen <script>-Tag setze, weil im eignetlichen Script wird die search_js_func.php ja schon innerhalb des <script>-Tags ausgeführt...).
        Wenn ich mir vor dem Scriptaufruf auch nochma die aufzurufende URL ausgeben lasse ist dort alles korrekt.Eben:  "/includes/search_js_func.php?table=models&search=2&mid=make_id" bspw.

        Dann checke als nächstes bspw. mittels FireBug, ob der Browser auch wirklich diese Ressource anfordert.

        MfG ChrisB

        --
        Light travels faster than sound - that's why most people appear bright until you hear them speak.