2016-03-31 9 views
0

Wenn ich versuchte, eine Daten aus der Datenbank zu löschen, löschte sie aber entweder die gesamten Daten in der Datenbank; es ist auch das gleiche Problem für die Bearbeitung.Mehrfaches Löschen und Bearbeiten von Daten in PHP

dieser Code ist für einen Benutzer löschen, die eine Eingabeaufforderung zeigen, wenn ein Benutzer zu löschen:

<div id="delete_user<?php echo $id; ?>" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
    <div class="modal-body"> 
     <div class="alert alert-danger">Are you Sure yuo want to Delete this Data?</div> 

    </div> 
    <div class="modal-footer"> 
     <a class="btn btn-danger" href="delete_user.php<?php echo '?id='.$id; ?>"><i class="icon-check"></i>&nbsp;Yes</a> 
     <button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-remove icon-large"></i>&nbsp;Close</button> 
    </div> 
</div> 

und diesen Code hier unten wird die aktuelle aus der Datenbank löschen

<?php 
include('dbcon.php'); 

$id=$_GET['id']; 

mysql_query("delete from users where user_id='$id'") or die(mysql_error()); 

header('location:users.php'); 
?> 
+0

Sie meinen, alle Zeilen der Tabelle zu löschen? –

+0

ahh yeah sorry über das .. – Chouny

+0

hast du überprüft Wert ist nicht in $ _GET gesetzt ['id'] –

Antwort

0

Prüfen Sie zuerst, wenn Wert wird in $_GET['id'] eingestellt, dann führen Sie Ihre Aktion aus.

<?php 
include('dbcon.php'); 

if(isset($_GET['id'])){ 
    $id=mysql_real_escape_string($_GET['id']); 
    mysql_query("delete from users where user_id='$id'") or die(mysql_error()); 
} 

header('location:users.php'); 
?> 
+0

'isset' überprüft ob Variable vorhanden ist oder nicht prüft auf Werte hier sollten Sie auch auf Wert prüfen; – itzmukeshy7

+0

Warum haben Sie ''$ id'' ein einfaches Anführungszeichen für den ganzzahligen Wert hinzugefügt? – itzmukeshy7

-1

Ihr Code scheint in Ordnung zu sein, überprüfen Sie einfach die Debug-ID-Wert.

Aber immer noch glaube ich stark für eine solche Aktion übergeben ID nicht in GET-Methode. Verwenden Sie POST in Ajax.

Unten ist der Code mit der Ajax-Methode POST die ID übergeben Seite Teil

<div id="delete_user<?php echo $id; ?>" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
<div class="modal-body"> 
<div class="alert alert-danger">Are you Sure yuo want to Delete this Data?</div> 
</div> 
<div class="modal-footer"> 
    <a class="btn btn-danger" onclick="deleteUser(<?php echo $id; ?>)" href="javascript:void(0)"> <i class="icon-check"></i>&nbsp;Yes</a> 
    <button class="btn" data-dismiss="modal" aria-hidden="true"><i class="icon-remove icon-large"></i>&nbsp;Close</button> 
</div> 
</div> 

Unterhalb des jquery ajax

function deletUser(id) { 
$.ajax({ 
    url: 'delete_user.php', 
    method: 'POST', 
    data: {"id" : id}, 
    success: function(data) { 
    // on success alter the div structure..... 
    } 
}); 
} 

unten Code für Ihre delete_user.php ist delete_user.php Seite

include('dbcon.php'); 
if(isset($_POST['id']) && $_POST['id'] != ''){ 
$id = (int)$_POST['id']; 
mysql_query("delete from users where user_id=$id") or die(mysql_error()); 
} 
header('location:users.php'); 
+0

Post-Anfrage senden und versuchen, Daten als Anfrage abzurufen '$ id = (int) $ _ GET ['id'];' was ist das? – itzmukeshy7

+0

@ itzmukeshy7 Das ist mein Fehler Ich habe nur vergessen, das GET mit POST zu ändern. Bitte ignorieren Sie diesen Teil – JiteshNK

+0

Warum haben Sie ''$ id''einzelnes Zitat für Integer-Wert hinzugefügt? – itzmukeshy7

Verwandte Themen