在由OnClick调用的Js函数内运行Php函数

时间:2014-07-25 22:59:54

标签: javascript php

感谢阅读并花时间去帮助我,我为语法道歉,我不是母语为英语的人,谢谢你的理解=)

首先,我有一个菜单非静态,通过添加新线程增长...每个线程的ID为每个线程+1,这就是为什么我发送1,2,3,4 ...作为函数的参数,因为那是DataBase上的ID。

            <a onClick="LoadThread(1)">How to make a Pizza</a>
            <a onClick="LoadThread(2)">The true Colors</a>
            <a onClick="LoadThread(3)">Name for a Thread</a>
            <a onClick="LoadThread(4)">Fix your computer</a>

然后我有我的JavaScript功能。在其中,我想从参数中获取id并在Php函数SendQuery中使用它来选择ID,然后使用函数LoadThread()加载线程。这将更新网页中的DIV。

            function LoadThread(id){

            var jsID = id;

            <?php 

                require_once ("select_on_click.php");
                $varMakeQuerys3 = new Make_Querys; 
                $varMakeQuerys3->SendQuery("SELECT * FROM Threads WHERE idThread=\""."".jsID.""."\"");
            ?>


            document.getElementById('textContent').innerHTML = <?php echo json_encode($varMakeQuerys3->LoadThread()); ?>;
        }

这是我正在努力的网页:www.josecaballero.tk/Vlog 谢谢

2 个答案:

答案 0 :(得分:1)

你不能在Javascript中运行PHP,因为PHP在服务器端运行而JS在客户端运行。

从JavaScript“调用”PHP的唯一方法是使用AJAX等技术。

答案 1 :(得分:0)

使用jQuery: 将您的PHP脚本放入一个单独的文件中。我称之为script.php 这是你的LoadThread函数应该是什么样的。

LoadThread(id)
{
    var jsID = id;
    $().ajax({
        url: "www.josecaballero.tk/location/of/script.php",
        type: 'POST',
        data:{ID: jsID },
        success: function(result){
            document.getElementById('textContent').innerHTML = result;
        }
    });
};

您的PHP应如下所示:

 require_once ("select_on_click.php");
 $ID = $_POST["ID"]
                $varMakeQuerys3 = new Make_Querys; 
                $varMakeQuerys3->SendQuery("SELECT * FROM Threads WHERE idThread=\""."".$ID.""."\"");
echo json_encode($varMakeQuerys3->LoadThread());