所以主要的问题是,当我在post []之后做一些查询或者它只是在php的主代码中(而不是在函数中)它完全正常... 但是,当我尝试在PHP函数内部进行查询时,它永远不会工作,并且有点隐藏页面其余部分的任何其他代码...我在php和sql查询代码之后有几个div,他们只是不当我尝试通过函数查询时显示..
<script type="text/javascript">
function callPhpVoteAdd(name) {
var result = <?php voteAdd(name); ?>;
alert(result);
return false;
}
</script>
<?php
echo '</br>';
$allsql = "SELECT * FROM voting ORDER BY votes DESC";
$result = mysqli_query($conn, $allsql);
if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
$name = $row["name"];
$votes = $row["votes"];
echo '<form method="post">
name: "' .$name. '" - votes: "' .$votes. '" <input type="submit" name="'.$name.'" value="'.$name.'" onclick="callPhpVoteAdd(this.name)"/><br>
</form>';
}
}
function voteAdd($name) {
if($conn->query("UPDATE voting SET votes = votes + 1 WHERE name = '".$name."' ") === TRUE) {
echo "<script>alert('fuck yeah');</script>";
}
echo "shit";
}
所以按下的按钮调用js函数,调用php函数
答案 0 :(得分:0)
我猜你误解了JS和PHP的工作方式。 PHP适用于服务器端,而JS则适用于客户端。因此,PHP在发送到浏览器之前生成脚本/页面,因此当JS运行它时,所有<?php ?>
都已被静态数据替换。
所以,简单地说,你只是在加载页面之后就无法从JS调用PHP函数,你尝试的方式(因为调用不再存在) - 检查你的源代码浏览器)。
您需要: