Javascript中的PHP代码 - 如何传输变量

时间:2014-03-12 22:24:10

标签: mysql variables

在我的网页中,我有以下代码:

<?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代码中的变量(替换为????)。

你能帮忙吗?

感谢和问候 哈罗德

2 个答案:

答案 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";
?>

以上代码未针对功能进行测试,可能存在一些拼写错误,但其中的逻辑应该可以帮助您将来


不要忘记将html文件中按钮名称中的YourRowID替换为您需要的任何内容,并在php文件中设置正确的USER,YOURPASSWORD和DatabaseName。