【问题标题】:deleting a selected row by sending it id from javascript to php page通过将 id 从 javascript 发送到 php 页面来删除选定的行
【发布时间】:2016-12-21 05:39:09
【问题描述】:

我没有找到类似的帖子,我正在尝试将一个数组从 javascript 发布到一个名为 delete.php 的 php 页面,我想在单击位于最后一列的删除按钮时删除一行再见php页面选择这样显示。

  while($row = mysqli_fetch_array($result))
 { 
 ?>
 <tr>
  <td><?php echo $row['code'] ;?></td>
  <td><?php echo $row['designiation'] ;?></td>
  <td><?php echo $row['diametre'] ;?></td>
  <td><?php echo $row['epaisseur'] ;?></td>
  <td><?php echo $row['prix'] ;?></td>
  <td><?php echo $row['etat'] ;?></td>
  <td><?php echo $row['id'] ;?><!--style="display:none;"-->

  <td><button type="button" class="btn btn-success btn-edit">Modifier     </button> | 
      <button type="button" onclick="pdelete();" class="btn btn-danger btn-delete">Supprimer  </button>
  </td>

 </tr>

正如您在此处看到的,函数 pdelete() 位于按钮的 onclick 上,并且 id 是 btn-delete 所以我确实喜欢这个

  function pdelete(){

    var _id = $('input[name="idrow"]').val();
    var _type = $('#typeid').val();
    var _pression = $('#pressionid').val();   
    var _code = $('input[name="code"]').val();
    var _designiation = $('input[name="designiation"]').val();
    var _diametre = $('input[name="diametre"]').val();
    var _epaisseur = $('input[name="epaisseur"]').val();
    var _prix = $('input[name="prix"]').val();
    var _etat = $('input[name="etat"]').val();

    $.post('delete.php', {postid:_id, posttype:_type, 
                          postpression:_pression, postcode:_code, 
                          postdesigniation:_designiation, 
                          postdiametre:_diametre, 
                          postepaisseur:_epaisseur, postprix:_prix, 
                          postetat:_etat}, 
          function(data){
            $('tbody').append(data);
          });
    }

    $(document).on('click','.btn-delete', function(){

        _trEdit = $(this).closest('tr');
        var _id = $(_trEdit).find('td:eq(6)').text();
        $('input[name="idrow"]').val(_id);

        if(confirm("Vous etes sur de supprimer cette ligne?")){
            $(this).closest('tr').remove(); 
            alert("suppression réussite .");
        }
});

页面delete.php是这样的

$id_tube = $_POST['postid'];
$type_utilisation = $_POST['posttype'];
$pression_tube = $_POST['postpression'];
$code_tube = $_POST['postcode'];
$designiation_tube =$_POST['postdesigniation'];
$diametre_tube = $_POST['postdiametre'];
$epaisseur_tube = $_POST['postepaisseur'];                       
$prix_tube =$_POST['postprix'];
$etat_tube = $_POST['postetat'];


if(isset($pression_tube)){
    if($pression_tube=="pn4"){
        if($type_utilisation=="pehdtelecom" && $pression_tube=="pn4" ){ echo "verifier le type du Tube S.v.p";}else{

            $sql="DELETE from  pn4  where id='".$id_tube."'";    
            echo"$sql";  
            $result = mysqli_query($link, $sql);

            // echo"$id_tube";
            if($result){
                // do something here 

            } else{
                echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
            }
    }
}

它没有找到 id 并且它没有通过 post。把它放在delete.php页面中的sql请求的条件下,我已经尝试了几乎所有我发现我不知道的方法,请帮助我解决它以在单击删除按钮时从数据库中删除行最后一栏。

【问题讨论】:

标签: javascript php jquery mysql ajax


【解决方案1】:

首先你不需要发送所有这些数据来删除一行,因为你将使用“postid”

那我看不到你的 html 上的“input[name="idrow"]”在哪里。

我建议你做的是在点击功能上插入帖子ID。

  while($row = mysqli_fetch_array($result))
 { 
 ?>
 <tr>
  <td><?php echo $row['code'] ;?></td>
  <td><?php echo $row['designiation'] ;?></td>
  <td><?php echo $row['diametre'] ;?></td>
  <td><?php echo $row['epaisseur'] ;?></td>
  <td><?php echo $row['prix'] ;?></td>
  <td><?php echo $row['etat'] ;?></td>
  <td style="display:none;"><?php echo $row['id'] ;?></td>

  <td><button type="button" class="btn btn-success btn-edit">Modifier     </button> | 
      <button type="button" onclick="pdelete(<?php echo $row['id']; ?> );" class="btn btn-danger btn-delete">Supprimer  </button>
  </td>

 </tr> <?php } ?>

然后,当您调用该函数时,您只需从中获取 id

function pdelete(postid){

}

【讨论】:

  • onclick 函数是从另一个文件 select.php 中调用的。我应该如何定义 $postid,请原谅我是 javascript 和 php 的新手
  • 你现在能理解上面的解决方案了吗?!
  • 你是一个天才,它可以工作,但我还有一个问题,我不想显示 th id 的 所以当我把 display:none 放在样式上时,它不会这么说id 将获得 Action 按钮的值!请问我该怎么办
  • 查看新代码并查看一些如何做这些事情的教程。
  • 很抱歉打扰,但您似乎很理解我的问题,当我添加新行并愿意删除此行时,它不会是,因为最后一列不是 id,而是操作按钮,添加时应刷新表格以再次选择数据或有其他方式!
猜你喜欢
相关资源
最近更新 更多
热门标签