2013-03-09 18 views
-1

所有城市顯示在側欄中,當我點擊一個城市時,我想要該城市的公司名單中的所有城市在側欄中, 和雅所有城市都來自桌子基於STATE_ID動態意味着,如何獲得價值與刷新頁面

爲讓所有的城市我寫入。該代碼

<?php 
$s_name= $_POST["submit"]; 

mysql_connect("localhost","root","");//database connection 
    mysql_select_db("itcompanylist"); 

    $query = "SELECT s_id FROM states WHERE `state_name` = '$s_name'"; 
$result1 = mysql_query($query); 
$row = mysql_fetch_array($result1); 
//echo $row['s_id']; 


$result2 = mysql_query("SELECT city_name FROM `city` WHERE s_id ='".$row['s_id']."'"); 

$i = 0; 

echo "<form method='post' action='demo2.php'><table border='1' ><tr>"; 

while ($row = mysql_fetch_row($result2)){ 
echo '<td><input type="submit" name="ok" value="'.$row['0'].'"></td>'; 


    if ($i++ == 2) 
    { 
    echo "</tr><tr>"; 
    $i=0; 
    } 
} 

echo "</tr></table></form>"; 

?> 

- 謝謝

+1

這聽起來像Javascript的工作。 PHP位於服務器上,因此要訪問它,您需要提出服務器請求,這在PHP中意味着更新。你可以使用AJAX。 – christopher 2013-03-09 09:15:43

+0

首先,你必須修復你的SQL注入安全漏洞(簡單地調用'$ s_name'是壞的,因爲用戶可能會發送他想要的東西)。那麼你必須移動到MySQLi或PDO,因爲'mysql_ *'函數已被棄用。 – 2013-03-09 09:16:00

+0

[責罵] 536829921807次,不要使用'mysql_'功能。改用PDO。 [/ scolding]使用ajax進行客戶端 - 服務器交互。 – ShuklaSannidhya 2013-03-09 09:28:15

回答

0

在HTML頁面中,讓你的城市功能的onclick事件。 XXX是你想通過ID:

<div onclick="onCity('XXX')">City A</div> 

裏面的功能,使用jQuery傳遞一個狀態ID來獲取狀態信息。 而對於例如,使用輸出到顯示器上的一個div其其id="myDiv"

<script> 
function onCity(id){ 
    $.post('getstate.php', {state_id:id}, function(output) { 
     $('#myDiv').html(output); 
    }); 
} 
</script> 

在你的PHP,只需使用$_POST拿到ID:

<?php 
$stateID=$_POST['state_id']; 
//using the state ID ... 
//echo some values as the output 
?>