2013-02-14 2 views
0

У меня проблема xmlhttp/php. У меня есть одно раскрывающееся меню, где люди могут выбирать муниципалитет. Затем я хочу вернуть список возможных вариантов в пределах этого муниципалитета во вторичное раскрывающееся меню.заполнение innerhtml выпадающего меню с конкретными данными

люди сначала выбрать муниципалитет (HTML-код):

<select name="pszplaats" id="gemeente" onchange="fdisplay();loadXMLDoc(this.value)"> 
    <?php while($row=mysql_fetch_array($selectgem)){?> 
    <option value="<?php echo $row['Gemeente']; ?>"><?php echo $row['Gemeente'];?> 
    </option> 
    <?php } ?> 
    </select> 

loadXMLDoc это функция, которая должна отправить этот ответ на сервер (PHP-) и извлечь список имен, соответствующих тем, в этом городе. до сих пор мое отношение Java/XML/код Ajax это:

function loadXMLDoc() { 
     var xmlhttp; 
     gem=document.getElementById("gemeente").value; 
     if (window.XMLHttpRequest) 
     {// code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
     } 
     else 
      {// code for IE6, IE5 
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
      xmlhttp.onreadystatechange=function(){ 
       if (xmlhttp.readyState==4 && xmlhttp.status==200) 
       { 
       document.getElementById("test").innerHTML=xmlhttp.responseText; 
       } 
      } 
     xmlhttp.open("POST","http://www.doenwatikkan.nl/jeroen/dynamic.php",true); 
     xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
     xmlhttp.send(); 
     alert(gem) 

      } 

оповещения (драгоценный камень) показывает выбранный вариант, так что я знаю, что по крайней мере, это работает. РНР, чтобы извлечь правильные значения это:

$gem=$_POST["pszplaats"]; 
$gennam=mysql_query("SELECT * FROM psz WHERE Gemeente=$gem"); 
echo $gennam["$gem"]; 

теперь проблема заключается в заполнении вторичного дроу-меню

<select name="psznaam" id="test" style="display:none"> 
<?php while($row=mysql_fetch_array($selectall)){?> 
<option value="<?php echo $row['NaamPSZ']; ?>"><?php echo $row['NaamPSZ'];?> 
</option> 
<?php } ?> 
</select> 

после того, как функция ява закончена в раскрывающемся меню полностью пуст. Кто-нибудь может мне сообщить, как я могу получить соответствующие данные в этом меню? любая помощь была бы высоко оценена!

+0

Можете ли вы определить $ selectall var? – robinef

+0

да, извините. $ selectall = mysql_query ("SELECT * FROM psz"); – Jeroen

+0

У вас есть данные в этой таблице? Также обратите внимание, что ваш выбор имеет стиль = "display: none", поэтому он не появится :) – robinef

ответ

0

Вы не отправили gem с адресом. попробуйте xmlhttp.open("POST","http://www.doenwatikkan.nl/jeroen/dynamic.php?gem="+gem,true); и в вашей 5 странице забрать его $_POST["gem"]

+0

спасибо, это уже один шаг, на котором я не был уверен, действительно ли это работает. Есть ли простой способ проверить правильность отправки правильной информации из базы данных? Потому что я все еще ничего не вижу на веб-странице. – Jeroen

+0

@Jeroen Вы являетесь основным ajax. поэтому вам нужно поддерживать правила ajax. Вышеприведенное правило является ajax. – ripa

+0

хорошо, но как бы проверить, действительно ли этот код отправил что-то на мой php? Если в моем php я бы создал $ test = $ _ POST ["gem"], и я бы хотел получить $ test в своем html. Я не могу просто написать , Потому что он не перезагружает всю страницу, не так ли? Итак, как бы я это сделал? – Jeroen

Смежные вопросы