2016-12-18 4 views
0

Ajaxを使用して、mysqlから行を削除する際に、リフレッシュせずにスクリプトを実行しようとしています。ajaxでのdelete関数の処理

// ============ delete.php =========== 
if(isset($_GET['delete_id'])) { 
    $id = $_GET['delete_id']; 
    $dquery = "SELECT url FROM test1 WHERE id='$id'"; 

    foreach($db->query($dquery) as $deleterow){ 
     deleteDirectory("test1/" . $deleterow['url']); 
    } 

    $result = $db->query("DELETE FROM test1 WHERE id ='$id'"); 
} 

// ============ manage.php =============== 
    while($row = $q->fetch(PDO::FETCH_ASSOC)){ 
     $id1 = $row["id"]; 
     echo ' 
     <tr> 

      <td>'.$row["name"].'</td> 
      <td>'.$row['subscribers'].'</td> 
      <td><a href="#"></a></td> 
     <td><input type="submit" class="delete" id="'.$id1.'" value="Delete"></td> 
     </tr> 
     '; 
    } 

<script type="text/javascript" > 
$(document).ready(function(){ 
$(".delete").click(function(){ 
    var del_id = $(this).attr('id'); 
    $.ajax({ 
     type:'POST', 
     url:'delete.php', 
     data:'delete_id='+del_id, 
     success:function(data) { 
     if(data) { alert(del_id); 
      $("body").load("manage.php"); 
     } else { alert("Error"); } 
     } 
    }); 
}); 
}); 
</script> 

私も「delete.php」delete.phpと使用の$ ID1にmanage.phpを含めることを試みた、と働いていたが、彼らは、ファイル内の別のID

+0

$ idをdelete.phpに印刷できますか?それを試してください – M98

+0

最初の方法では動作しませんが、2番目の方法dysplaing最後のIDで –

答えて

0

を削除し、次の方法でSELECT置き換える必要がありますDELETEです。この関数はDELETEです。次に、コードは次のようなものでなければなりません。

$dquery = "DELETE FROM test1 WHERE id='$id'"; (...) 

そして、上記の方法は1回だけ呼び出されます。

+0

私は問題がIDだと思うので、最後の –

+0

を削除します。あなたのメソッドはPOSTとファイル "delete.php"で、メソッドはGETです。次に、これはエラーの1つになることができます! – rcf2255

+0

同じ問題:( –