2013-02-15 41 views
2

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

我沒有任何錯誤消息或任何類型的認識,我的代碼已經工作,因爲當我選擇其中一個四下降,它什麼也沒有。

可以清理並正確填寫我到目前爲止所做的工作嗎?我會非常棒!

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

的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); 
     }); 
    }); 
</script> 

</head> 
<body> 
    <div id="header"> 
     <div class="headerLeftContent"> 
      <select id='location'> 
        <option href="Link to a dynamic page with all the content from glasgow" value="Glasgow">Glasgow</option> 
        <option href="Link to a dynamic page with all the content from x" value="x">x</option> 
        <option href="Link to a dynamic page with all the content from test" value="test">test</option> 
        <option href="Link to a dynamic page with all the content from edinburgh" value="Edinburgh">Edinburgh</option> 
      </select> 
      <div id='txtHint'></div> 
     </div>   
    </div> 

</body> 
</html> 

location.php

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

$location = $_REQUEST['location']; 

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

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

mysql_close($connect); 

?> 

並請關於 'SQL注入' 或如何「MySQL的任何意見'應該''PDO'是不需要的,因爲我明白這一點,但我現在只是在測試,並會修改這一點。

謝謝。

+0

爲什麼你的'

+0

這只是爲了幫助人們瞭解我想要做的事情,我希望鏈接到內容有位置的網址=格拉斯哥或愛丁堡等。 – AyeTry 2013-02-15 21:49:49

+0

啊好的。看看這裏的Javascript:http://jsfiddle.net/r5SWJ/並嘗試使用'load'形式。注意它是如何使用load的第二個參數來顯示AJAX的結果 – Ian 2013-02-15 21:54:50

回答

2

你似乎有一個錯誤串連你的MySQL查詢中的位置名稱,它不匹配任何東西(所以沒有什麼是echo編輯回來)。更改此:

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

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

(除非你有這樣的東西在你的數據庫.Glasgow. ...)

然後你必須調用mysql_query($query)爲阿龍建議。

+0

感謝它的工作。 – AyeTry 2013-02-15 23:12:02

+0

Hellow像@AyeTry一樣的問題,但它不幫助我:( – 2014-06-23 02:07:48

0

您需要使用的mysql_query和資源傳遞給mysql_fetch_array功能:

$query = "SELECT * FROM podContent WHERE location = '.$location.'"; 
$result = mysql_query($query); 
while($row = mysql_fetch_array($result)) 
{ 
    echo $row['text']; 
} 
+0

是的,這很好,我發現這一點後,我意識到,直接。 – AyeTry 2013-02-15 21:56:00