在我的网页中,我有以下代码:
<?php
echo "<td class=\"action\">
<a href=\"javascript:;\" onclick=\"deleteline(" . $row['id'] . ")\"> </a>
?>
<script>
function deleteline(a) {
var r=window.confirm("Voulez-vous vraiment supprimer le viager " + a +"?");
if (r)
{
<?php
$test="<script> document.write(a);</script>";
mysql_connect("localhost", "xxxxxx", "xxxxxx") or die (mysql_error ());
mysql_select_db("xxxxxx") or die(mysql_error());
$strSQL =("update viagers set statut='deleted' where id=????");
$rs = mysql_query($strSQL);
mysql_close();
?>;
}
}
</script>
在php表中,每行都有一个小删除图标。我希望用户能够单击它,以便删除sql db中的记录。我无法找到一种方法来检索&#39; a&#39;我的脚本函数的php代码中的变量(替换为????)。
你能帮忙吗?
感谢和问候 哈罗德
答案 0 :(得分:0)
你不能像这样混合javascript和PHP。制作另一个PHP文件进行删除,并通过AJAX将a
通过javascript发送到该文件。
答案 1 :(得分:0)
javascript中的PHP代码不是一个好方法。正如lqbal Fauzi所提到的,通过AJAX将变量行id通过javascript发送到php文件 - 或者如下所示,使用JQUERY。在php文件中,您可以执行数据库操作,如果需要,可以将一些结果发送回您的应用程序。
在您的HTML文件中,您必须拥有包含JQUERY库源文件的脚本。从这里下载这两个文件:
https://mega.co.nz/#!IUAFCYZb!Cu0mQoAVAkJHzqvac40-RYA-n3TnhYGtoazw5k_PMv4 https://mega.co.nz/#!hABhFDiS!Q_L8rERVq8330zrOxXXen0uxmLCes7zYG6J6SCncz6M
并将这些文件保存/复制到包含html文件的文件夹中。
您的html文件应如下所示:
<html>
<head>
<meta charset="utf-8" />
<title>Your page Title</title>
<script src="jquery.mobile-1.3.2.min.js"></script>
<script src="jquery-1.9.1.min.js"></script>
<script>
function yourJavascriptfunction(sender){
var r=window.confirm("Voulez-vous vraiment supprimer le viager " + sender.name +"?");
if (r)
{
$.post("YourPHPPageToAccessDatabaseAndSendResult.php", {
UserID:sender.name
})
.success(function(data){
//some code on data return if you want
alert(data); //should pop up with message saying "Hello, this is the result data"
})
.fail(function(error){
alert("Unable to retrieve data from the server");
});
}
}
</script>
</head>
<body>
<button type="button" name="YourRowID" onclick="yourJavascriptfunction(this)" > your button text</button>
</body>
</html>
并在名为YourPHPPageToAccessDatabaseAndSendResult.php的php文件中,在这种情况下,必须与您的html文件位于同一目录中,代码如下:
<?php
$connection = mysql_connect("localhost","USER","YOURPASSWORD") or die(mysql_error());
mysql_select_db("DatabaseName",$connection);
$UserID= $_POST['UserID'];
$strSQL =("update viagers set statut='deleted' where id=$UserID");
$rs = mysql_query($strSQL);
mysql_close();
//by printing with echo you sent some data that you want return to your html file
echo "Hello, this is the result data";
?>
以上代码未针对功能进行测试,可能存在一些拼写错误,但其中的逻辑应该可以帮助您将来