该查询从删除记录时不起作用

时间:2018-10-06 06:25:00

标签: php mysql

我用它作为键ID来删除while循环中的特定行,但是我不知道问题出在哪里并给出错误。

<?php

$db=mysqli_connect("localhost","root","root","done");

if(isset($_POST['deleteId'])){
    $query5 = "DELETE FROM dones WHERE id = '$_POST[deleteId]'"; 
    $result5=mysqli_query($db,$query5);
} 

while($row=mysqli_fetch_array($result1)) {

    echo '<div class="accordion" id="accordionExample">';
    echo '<div class="card" style="margin-left:10px; margin- 
            right:10px;">';
    echo '<div class="card-header">';
    echo '<h5 class="mb-0">';
    echo '<form action="" method="POST" enctype="multipart/form-data">';
    echo  '<button class="btn btn-link" style="text-decoration:none; font- 
            family:Times New Roman, Times, serif; font-size:18px; " type="button" 
            data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" 
            aria-controls="collapseOne">';
    echo   $row['title'];
    echo '</button>';
    echo '</h5>';
    echo '</div>';

    echo '<div id="collapseOne" class="collapse show" aria- 
    labelledby="headingOne" data-parent="#accordionExample">';
    echo  '<div class="card-body">';

    // Content Of new banner

    echo '<h5 style="text-align:left; margin-left:20px; margin-top:20px;">
            <small>Title</small></h5>';
    echo '<input style="width:290px; margin-left:158px; height:30px; 
            margin-top:-30px;" name="title" type="text" 
            class="form-control" placeholder="Title">';
    echo ' <br>';
    echo ' <div class="custom-file" style="height:10px; width:290px; margin- 
                right:1050px; top-padding:20px; float:right;">';
    echo ' <input type="file" name="uploadfile" class="custom-file-input" 
            id="validatedCustomFile">';
    echo ' <label class="custom-file-label" for="validatedCustomFile">Choose 
            file...</label>';
    echo ' </div>';
    echo ' <h5 style="text-align:left; margin-left:20px;"><small>File</small> 
            </h5>';
    echo ' <br>';
    echo ' <h5 style="text-align:left; margin-left:20px;"><small>Banner 
            Image</small></h5>';
    echo ' <div style="height:130px; width:290px; border-width:1px; border- 
            style:solid; float:right; margin-right:1050px; margin-top:-15px;">';


    $sql = "SELECT image FROM dones where status=1";
    $result = mysqli_query($db,$sql);
    $data = mysqli_fetch_array($result);
    echo '<img src= "images/'.$data['image'].'" style="height:130px; 
            width:290px;">';

    echo '</div>';
    echo '<br>';
    echo '<br>';
    echo '<br>';
    echo '<br>';
    echo '<br>';
    echo '<br>';  
    echo '<h5 style="text-align:left; margin-left:20px;"> 
            <small>Status</small></h5>';
    echo '<select name="status" id="" style="width:290px; float:right; 
            margin-right:1050px; margin-top:-25px;">';
    echo '<option value="1" name="enable">Enable</option>';
    echo '<option value="0" name="disable">Disable</option>';
    echo '</select>';
    echo '<br>';
    echo '<br>';
    echo '<button type="submit" name="tbsubmit"  style="margin-left:250px;" 
            class="btn btn-primary">Save Changes</button>';  
    echo '<button type="submit" name="deletesubmit"  style="margin- 
            left:250px;"  class="btn btn-primary"><a href="'? 
            deleteId=$row['id']'">Delete</a></button>'; 
    echo '</div>';
    echo '</form>';
    echo '</div>';
    echo  '</div>';
    echo '</div>';
    echo '</div>';
    echo '</div>';
}   

?>

删除是删除的逻辑

实际上我是根据这种逻辑使用的

,然后在末尾的删除按钮中写入内容,我也使用了ID代替了数据库中的keyID。我不是这里的主要问题。

这是错误

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:0)

您的代码中的报价顺序错误
尝试concat $ row ['id']值,例如:

     echo '<button type="submit" 
            name="deletesubmit"  
            style="margin-left:250px;"  
            class="btn btn-primary">
            <a href="?deleteId='. $row['id']. '">Delete</a></button>'; 

答案 1 :(得分:0)

您可以使用此链接删除:

echo "<button type='submit' name='deletesubmit' style='margin-left:250px;'  class='btn btn-primary'><a href='?deleteId={$row['id']}'>Delete</a></button>";

//and now the if statemant:

if(isset($_GET['deleteId'])){
   $query5 = "DELETE FROM dones WHERE id='{$_GET['deleteId']}'"; 
   $result5=mysqli_query($db,$query5);
}