通过将其从javascript发送到php页面来删除所选行

时间:2016-12-20 20:48:19

标签: javascript php jquery mysql ajax

我没有找到类似的帖子,我试图将一个数组从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并且它没有通过帖子。把它放在delete.php页面的sql请求的条件下,我已经尝试了几乎evrything ai发现我的想法请帮助我解决它从数据库中删除行也单击删除按钮最后一栏。

1 个答案:

答案 0 :(得分:0)

首先,您不需要发送所有这些数据来删除一行,因为您打算使用&#34; postid&#34;

然后我不知道你在哪里&#34;输入[name =&#34; idrow&#34;]&#34;在你的HTML上。

我建议你做的是在点击功能上插入帖子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){

}