我有按钮让我们这样说:
<button id= $id onClick="popup($id)">button</button>
现在我正在尝试将它与ajax函数一起使用
<script>
function popup(id){
alert(" ");
document.write(" ");
}
</script>
我想做的就是让这个js函数执行php代码。 我认为将其置于document.write的警报状态会很好,但是这段代码看起来像下面这样,我的报价和一切都有很大的问题。我不知道如何让一切顺利。 有人可以帮我搭配吗?
echo "<div id='element_to_pop_up'>
<a class='b-close'>zamknij</a>";
$messages = mysql_query('SELECT * FROM msg WHERE id = "'.$messageid.'" ');
$fetchmessage = mysql_fetch_assoc($messages);
echo $fetchmessage['message'];
echo "</div>";
答案 0 :(得分:3)
PHP在服务器端处理。所以你不能运行PHP代码客户端。
我要做的是(这里用jQuery完成,你可以用其他框架完成)来设置data-id =&#34;&#34;您的按钮上的属性,其ID来自PHP。然后当您单击该按钮时,您可以通过AJAX调用PHP脚本来执行某些操作。像:
<强> HTML:强>
<button class="clickme" data-id="<?=$row['id'];?>">button</button>
<强>的jQuery 强>
$('.clickme').click(function(){
$.post( "test.php", { msgId: $(this).data('id') }).done(function( data ) {
alert("Data loaded: " + data);
});
});
答案 1 :(得分:0)
你需要这样的东西:
<强> HTML 强>
<button class="clickButton" data-id="<?php echo $id; ?>" id=""<?php echo $id; ?>">button</button>
的jQuery
$(function() {
$('.clickButton').click(function() {
var id = $(this).data('id');
$.ajax({
type: "POST",
url: "ajax.php",
data: {id: id}
success: function(data) {
alert(data);
}
});
});
});
ajax.php
//Set up a mysqli connection here
echo "<div id='element_to_pop_up'><a class='b-close'>zamknij</a>";
$result = mysqli_query($link, "SELECT * FROM msg WHERE id = '" . mysqli_real_escape_string($link, $_POST["id"]) . "'");
$fetchmessage = mysqli_fetch_assoc($result);
echo $fetchmessage['message'];
echo "</div>";
避免使用mysql注入
使用mysqli或PDO代替mysql函数,因为不推荐使用mysql函数。
答案 2 :(得分:-1)
PHP在服务器上运行。 JS在浏览器中运行。你不会直接从另一个中运行一个。
您可以在服务器上运行PHP,该服务器回显将在浏览器中作为JS运行的字符串。
您可以运行使用AJAX的JS回调服务器以在服务器上运行PHP。
您无法在浏览器中运行PHP。
您无法在服务器上运行浏览器JS(出于本讨论的目的,忽略了所有方法)。