调用与javascript函数位于不同文件中的php函数从数据库检索数据

调用与javascript函数位于不同文件中的php函数从数据库检索数据,php,javascript,ajax,codeigniter,jquery,Php,Javascript,Ajax,Codeigniter,Jquery,如何调用与JavaScript函数位于不同文件中的PHP函数 我有一个JavaScript函数,它从onClick函数接收变量。变量是一个id,我将使用它从MySQL数据库检索数据。然后将变量传递给一个PHP函数,该函数将访问数据库以获取数据并返回到我的JS函数进行显示,但它似乎不起作用。我怎样才能让它工作?我正在使用CodeIgniter PHP 这是我的密码: 另一个名为divUpdate.php的文件中的JavaScript <script type="text/javascript

如何调用与JavaScript函数位于不同文件中的PHP函数

我有一个JavaScript函数,它从onClick函数接收变量。变量是一个id,我将使用它从MySQL数据库检索数据。然后将变量传递给一个PHP函数,该函数将访问数据库以获取数据并返回到我的JS函数进行显示,但它似乎不起作用。我怎样才能让它工作?我正在使用CodeIgniter PHP

这是我的密码:

另一个名为
divUpdate.php的文件中的JavaScript

<script type="text/javascript"
 src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>

<script type="text/javascript">
    base_url = '<?= base_url();?>index.php/';
</script>
<script type="text/javascript">
    function changeDiv(venueID){
        //document.getElementById('venue_description').innerHTML=venueID;
        $.get(base_url+'home/get_venue_description/' + venueID,
            function(data) {
                $('venue_description').html(data);
            });
    }
</script>
function retrieveData($venueID){
    $query = $this->db->query("SELECT * FROM venue WHERE VenueID = '$venueID' ");
    return $query;
}
然后,在controller
home.php
中,我有一个JavaScript用于传递id的函数,然后模型将使用该id从数据库检索数据

function get_venue_description($venueID){
    echo $this->venue_model->retrieveData($venueID);
}

出于某种原因,JavaScript
divUpdater.php
中的代码不起作用。它看起来正确,但不起作用。

基本上,在Javascript中,您应该这样做

http://www.mywebsite.com/foo.php?venueID=123
或者框架中的一个表单,比如

http://www.mywebsite.com/controller/action/123
您可以在Firefox中使用Firebug执行
控制台.log(基本url)
,因为它看起来像

    base_url = '<?= base_url();?>index.php/';
    $.get(base_url+'home/get_venue_description/' + venueID,
在PHP文件中,执行

$venueID = $_GET['venueID'];
if (preg_match('/^\d+$/', $venueID) {
    $query = $this->db->query("SELECT * FROM venue WHERE VenueID = '$venueID' ");
}
preg_match()
就是说,如果
$venueID
只充满了数字而没有其他内容。这是为了防止SQL注入,其中有人发送一些字符串以使您的查询执行您不希望执行的操作


另外,在PHP文件中执行一些
print_r()
var_dump()
,以便确保从浏览器中获得的内容是正确的。

这是同一用户提出的另一个问题的完全副本,问题正文中添加了更多详细信息。原始问题:同意,这是一个副本-问题已经回答。好的,这是一个副本。Srrry。!!!你能帮我解答这个问题吗?我试过了,但不起作用。问题是onclick函数将venueID传递给javascript函数changeDiv(venueID),后者传递给$.get(base_url+'home/get_vention_description/')+venueID,后者从数据库检索,但问题是它似乎不起作用。您的解决方案似乎不起作用。您从哪里获得$venueID=$\u get['venueID'];来自您的代码
http://www.mysite.com/index.php/home/get_venue_description/123
$venueID = $_GET['venueID'];
if (preg_match('/^\d+$/', $venueID) {
    $query = $this->db->query("SELECT * FROM venue WHERE VenueID = '$venueID' ");
}