是否有可能在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>
答案 0 :(得分:1)
这取决于你尝试用它做什么。如果你想参考PHP做一些JavaScript,比如显示存储在数据库中的用户数据所指定的一些图像。这通常使用嵌入在html中的script
标记来完成。
但是,如果你想用JavaScript做一些PHP,那么你试图做的东西将无法工作,而我建议你对AJAX调用做同样的事情。
答案 1 :(得分:0)
PHP是服务器端语言,javascript是客户端语言。因此,当你打电话给这个页面时,php页面的结果将带有js代码的alanog,即php代码将首先被执行而不是javascript调用。
你可以选择一种解决方案进行ajax调用。拨打服务器端页面,然后执行您的功能。
这是一个教程
http://www.w3schools.com/ajax/default.asp
您可以通过jQuery参考
调用ajax答案 2 :(得分:0)
你去......
我快速编码...所以也许你需要检查更多的支持,无论如何应该适用于大多数现代浏览器。
x 是ajax函数
显示是显示功能
当页面加载时,它会搜索第一个按钮并添加一个执行ajax函数的单击侦听器,该函数调用异步显示函数。
另存为&#39; example.php&#39;
<?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生成json文件。 那么你有更多的选择来在javascript中显示页面。
答案 3 :(得分:0)
用document.getElementByID
或document.write
方法包装该php脚本,根据您的页面上下文选择最适合您情况的脚本。这是一种相当奇怪的解决方法(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>