Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有可能在javascript函数中包含php代码吗?_Php_Javascript - Fatal编程技术网

有可能在javascript函数中包含php代码吗?

有可能在javascript函数中包含php代码吗?,php,javascript,Php,Javascript,有可能在javascript函数中包含php代码吗?我有一个按钮可以调用这个函数,但它似乎不起作用。桌子没有出现,什么也没发生 <script> function selectFunction() { <?php $con = mysqli_connect("localhost","root","","study"); if (mysqli_connect_errno($con)) {

有可能在javascript函数中包含php代码吗?我有一个按钮可以调用这个函数,但它似乎不起作用。桌子没有出现,什么也没发生

<script>
    function selectFunction()
    {
    <?php
        $con = mysqli_connect("localhost","root","","study");

        if (mysqli_connect_errno($con))
            {
                echo "Failed to connect to mysql" . mysqli_connect_error();
            }

            $result = mysqli_query($con,"SELECT * FROM sample_employers");

            while($row=mysqli_fetch_array($result))
            {
                echo "<tr>";
                echo "<td>" . $row['firstname'] . "</td>";
                echo "<td>" . $row['lastname'] . "</td>";
                echo "<td>" . $row['middlename'] . "</td>";
                echo "<td> <input type='button' value='Delete' </td>"; 
                echo "</tr>";
            }

            mysqli_close($con);
    ?>
    }   
</script>

函数selectFunction()
{

这取决于你想用它做什么。如果你想用PHP做一些JavaScript,例如,显示一些由存储在数据库中的用户数据指定的图像。这通常是通过嵌入html中的
脚本
标记来完成的


但是,如果你想用JavaScript做一些PHP,那么你尝试做的事情将不起作用,而我建议你用AJAX调用做同样的事情。

PHP是服务器端语言,JavaScript是客户端语言。因此,当你调用这个页面时,PHP页面的结果将是一个带有js代码的日志,即PHP代码w我将首先执行,而不是javascript调用

有一种解决方案可以用于ajax调用。调用服务器端页面,然后执行您的功能

这里有一个教程

您可以通过jQuery引用调用ajax

给你

我写得很快…所以也许你需要检查更多的支持,无论如何,应该与大多数现代浏览器的工作

x是ajax函数

显示是显示功能

当页面加载时,它搜索第一个按钮,并添加一个执行ajax函数的click侦听器,该函数调用async显示函数

另存为“example.php”

<?php
if($_GET['ajax']){
 $con = mysqli_connect("localhost","root","","study");
 if (mysqli_connect_errno($con)){ echo "Failed to connect to mysql" . mysqli_connect_error(); }
 $result = mysqli_query($con,"SELECT * FROM sample_employers");
 while($row=mysqli_fetch_array($result)){
  echo "<tr>";
  echo "<td>" . $row['firstname'] . "</td>";
  echo "<td>" . $row['lastname'] . "</td>";
  echo "<td>" . $row['middlename'] . "</td>";
  echo "<td> <input type='button' value='Delete' </td>"; 
  echo "</tr>";
 }
 mysqli_close($con);
}else{
?><!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script>
var x=function(a,b,c){c=new XMLHttpRequest;c.open('GET',a);c.onload=b;c.send()},
display=function(){
  document.body.appendChild(document.createElement('table')).innerHTML=this.response;
}
window.onload=function(){
 document.getElementsByTagName('button')[0].onclick=function(){
  x('example.php?ajax=true',display)
 }
}
</script>
</head>

<body>
<button>Load the table</button>
</body>
</html><?php
}
?>

将该php脚本包装在
文档中。getElementByID
文档中。write
方法,根据页面的上下文选择最适合您的情况。这是一种非常奇怪的方法(AJAX更好),但是这应该适合您:

 <script>
 function selectFunction()
 {
      document.write('<?php
           error_reporting(0);
           $con = mysqli_connect("localhost","root","","study");

           if (mysqli_connect_errno($con))
                {
                     $html= "Failed to connect to mysql" . mysqli_connect_error();
                }
           $result = mysqli_query($con,"SELECT * FROM sample_employers");
           while($row=mysqli_fetch_array($result))
                {
                     $html= "<tr>";
                     $html.= "<td>" . $row['firstname'] . "</td>";
                     $html.= "<td>" . $row['lastname'] . "</td>";
                     $html.= "<td>" . $row['middlename'] . "</td>";
                     $html.= "<td> <input type='button' value='Delete' </td>"; 
                     $html.= "</tr>";

                }
           mysqli_close($con);
           $html = addslashes($html);
           echo $html;
      ?>');
 }
 </script>
 <!-- page contents here //-->
 <script>
      selectFunction();
 </script>

函数selectFunction()
{

document.write('php代码将首先执行,然后输出将在javascript函数内。它不会使用javascript调用php函数。需要记住的是,php是服务器端语言,而javascript是客户端语言。这称为ajax。最好的方法是使用ajax。ajax函数调用php返回表或更好的json文件的脚本。如果你想,我给你写一个例子。@jmjassy27在javascript函数中使用上面的PHP代码是一个糟糕的过程。如果你详细说明你的要求,我想你会得到正确的答案