2013-02-15 108 views
0

我已經就這個問題發了一篇文章,不超過2小時,但我真的需要儘快完成。無法讓我的javascript/php onchange功能正常工作

我想要做的是創建一個在蘇格蘭的32個不同位置的下拉式容器,當選擇其中一個選項時,例如格拉斯哥,它應該轉到顯示標題,文本等內容的URL。對於div中的每篇文章WHERE位置=格拉斯哥。

目前我沒有每個位置的URL。

我時,我選擇了新的選項下面的消息:「加載結果:成功||| 200 OK」

有人能這麼好心給我提供的最後一塊這個令人沮喪的難題?

這裏是我的文件正在使用:

的header.php

<html> 
<head> 
<script src="http://code.jquery.com/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#location').change(function(){ 
    //Retrieve Content from the back-end PHP page, and pass the ID selected 
    var url = 'location.php?location=' + $(this).val(); 
    $('#txtHint').load(url, function (response, status, xhr) { alert("Load result: " + status + " ||| " + xhr.status + " " + xhr.statusText); 
    }); 
    }); 
});  
</script> 

</head> 
<body> 
    <div id="header"> 
     <div class="headerLeftContent"> 
      <select id="location"> 
        <option value="Glasgow">Glasgow</option> 
        <option value="x">x</option> 
        <option value="test">test</option> 
        <option value="Edinburgh">Edinburgh</option> 
      </select> 
      <div id='txtHint'></div> 
     </div>   
    </div> 

</body> 
</html> 

location.php

<?php 
$connect = mysql_connect('xxx', 'xxx', 'xxx'); 
$select_db = mysql_select_db('xxx'); 

$location = $_REQUEST['location']; 

$query = "SELECT * FROM podContent WHERE location = '.$location.'"; 

$result = mysql_query($query, $connect); 

while($row = mysql_fetch_array($result)) 
{ 
echo $row['text']; 
} 

?> 

感謝。

+0

您是否試圖使用Firebug JavaScript調試器在Mozilla中加載?它顯示了所有的JS錯誤。當你直接調用location.php時,它是否顯示正確的結果? – Andrew 2013-02-15 23:03:59

+0

[創建onChange選擇下拉使用JavaScript和PHP,但它不工作]可能重複(http://stackoverflow.com/questions/14903822/creating-an-on-on-select-drop-down-with-javascript-and -php-but-it-not-worki) – bfavaretto 2013-02-15 23:09:40

+0

我將我的答案移至原始問題上,並且投票結束這個重複的問題嗎? – bfavaretto 2013-02-15 23:10:49

回答

0

更正此

$query = "SELECT * FROM podContent WHERE location = ".$location; 
0

兩件事情:

  1. $query = "SELECT * FROM podContent WHERE location = '.$location.'";有兩個額外的點。它應該是$query = "SELECT * FROM podContent WHERE location = '$location'";
  2. 在使用用戶的值$location之前,您應該使用mysql_real_escape_string()進行轉義。請注意,此功能已被棄用,並且將在未來版本的PHP中刪除。你應該看看PDO並準備好陳述。