当下拉列表随SQL数据更改时更新div

时间:2014-02-25 21:47:30

标签: php sql

<select id="postnr" name="post_postnr" onChange="updatePlace()">
        <?php do { ?>
        <option value="<?php echo $row_postnr['postnr'] ?>" ><?php echo $row_postnr['postnr']?></option>
        <?php } while ($row_postnr = mysql_fetch_assoc($postnr));?>
      </select>&ensp;<div id="place" style="display:inline"></div>

当用户更改下拉列表中的值时,我想搜索相应位置的数据库(同一个表)并将其粘贴到#place的innerHTML中。

下拉列表的值是从SQL表格postnr列中收集的。

postnr    place
-----------------
1234      Place1
3456      Place2

依旧......

因此,当选择1234时,旁边会弹出Place1。

2 个答案:

答案 0 :(得分:0)

关于使用AJAX的非常基本的问题。

updatePlace()应该是一个Javascript方法,它会向特定的PHP页面发出AJAX请求。此页面必须连接到数据库并获取所有需要的值。

看看this sample以便有一个更清晰的想法。

希望有所帮助

答案 1 :(得分:0)

如果你正在使用jQuery,你可以使用以下(没有jQuery的方法是相同的):

<script type="text/javascript">
$("#postnr").on('change', function(){
    $.get('get_place.php', {postnr: postnr}, function(data){
        $("#place").html(data);
    }); 
});
</script>

然后用以下内容创建一个* get_place.php *文件:

$query = mysql_query("SELECT * FROM places WHERE postnr='".mysql_real_escape_string($_GET['postnr'])."'");
$row = mysql_fetch_assoc($query);
echo $row['place'];