我已经用生成表格的按钮制作了index.php页面。单击这些按钮后,将生成PHP代码/脚本。


  您可以在此处看到的所有代码部分都在admin.php文件中,但在index.php中可见。


我已经生成了带有mysql数据的php表。我还为应该用于删除表行而不刷新整个视图的按钮生成了ID。

我具有JQuery + Ajax的JQuery功能,该功能是在按下删除按钮之一后触发的。

    $(".delete-but").click(function() {
      if(confirm("Are you sure you want to delete this table row?")){
        var butId = $(this).attr('id');
        $.ajax({
                  type: "post",
                  data: {
                            action: 'expo',
                            deletion: 'butId'
                  },
                  success: function(result) {
                    content.html(result);
        }});
      }
      else{
        return false;
      }

    });


使用按钮生成表的一部分的代码:

    $data .="<td>"."<button id=".$row[id_expozice]."class='delete-but'><form action='admin_script.php.php' method='post'>Delete</button>"."</td>";


我在JQuery函数顶部有常规的按钮参数。如果按删除按钮,请确认弹出面板,然后按OK,然后可以向页面发送警报。我将要删除的单击按钮的ID值传递给JQuery函数(butId),我想回到用作删除表中行的标志的php。我想使用Ajax将butId发送回php,然后再次运行php脚本以删除Mysql中的行。

我回声:


回声“我在这里”;我在哪里。
回声“我想在这里”;我想去的地方。




//echo $_SESSION["user"];
if(isset($_POST['action'])){
    $data = '';

    //expo

    if($_POST['action'] == "expo") {
        $sql = "SELECT id_expozice, jmeno, id_zamestnance, typ_expozice, trvani_od, trvani_do, id_pronajimatel FROM Expozice";
        $result = mysql_query($sql)or die(mysql_error());

        echo "I am here";

        while ($row = mysql_fetch_assoc($result)) {
            if(isset ($_POST['deletion'])){

                if ($_POST['deletion'] == $row.[id_expozice]){

                    echo " I want to be here "; //to delete row table and mysql.

                }
            }
          else{
            $data .= "<tr>";
            $data .="<td>".$row[id_expozice]."</td>";
            $data .="<td>".$row[jmeno]."</td>";
            $data .="<td>".$row[typ_expozice]."</td>";
            $data .="<td>".$row[trvani_od]."</td>";
            $data .="<td>".$row[trvani_do]."</td>";
            $data .="<td>".$row[id_pronajimatel]."</td>";
            $data .="<td>".$row[id_zamestnance]."</td>";
            $data .="<td>"."<button id=".$row[id_expozice]." class='delete-but'><form action='admin_script.php.php' method='post';'>Delete</button>"."</td>";
            $data .="</tr>";
          }
        }
        $final_data = '<table><thead><tr><td> Exposition ID</td><td>Name</td><td>Type</td>
        <td>Duration from</td><td>Duration to</td><td>Lessor ID</td><td>Employee ID</td><td>Delete</td></tr></thead><tbody>'.$data.'</tbody></table>';
        echo $final_data;
    }


如何设置Ajax将butId发送回php并再次运行php脚本?


谢谢。

最佳答案

您有一个.不应存在的地方。更改此行

if ($_POST['deletion'] == $row.['id_expozice']){




if ($_POST['deletion'] == $row['id_expozice']){


您也没有在引号中包含任何行对象。

 $.ajax({
              type: "post",
              URL: "admin.php",
              data: {
                        action: 'expo',
                        deletion: 'butId'
              },
              success: function(result) {
                content.html(result);
    }});

关于php - 将数据ajax发送到php,而不刷新整个页面,但是在同一文件中再次执行php,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40699537/

10-11 10:58
查看更多