J'ai une petite application web personnelle sur laquelle je travaille. J'ai un lien qui, lorsqu'on clique dessus, est supposé faire un appel ajax à un php censé supprimer cette information d'une base de données. Pour une raison inconnue, il ne supprimera pas réellement la ligne de la base de données. J'ai essayé tout ce que je sais, mais toujours rien. Je suis sûr que c'est quelque chose d'incroyablement facile ... Voici les scripts impliqués.jQuery ajax delete script pas réellement de suppression
sortie de base de données:
$sql = "SELECT * FROM bookmark_app";
foreach ($dbh->query($sql) as $row)
{
echo '<div class="box" id="',$row['id'],'"><img src="images/avatar.jpg" width="75" height="75" border="0" class="avatar"/>
<div class="text"><a href="',$row['url'],'">',$row['title'],'</a><br/>
</div>
/*** Click to delete ***/
<a href="?delete=',$row['id'],'" class="delete">x</a></div>
<div class="clear"></div>';
}
$dbh = null;
Ajax scénario:
$(document).ready(function() {
$("a.delete").click(function(){
var element = $(this);
var noteid = element.attr("id");
var info = 'id=' + noteid;
$.ajax({
type: "GET",
url: "includes/delete.php",
data: info,
success: function(){
element.parent().eq(0).fadeOut("slow");
}
});
return false;
});
});
Code Supprimer:
include('connect.php');
//delete.php?id=IdOfPost
if($_GET['id']){
$id = $_GET['id'];
//Delete the record of the post
$delete = mysql_query("DELETE FROM `db` WHERE `id` = '$id'");
//Redirect the user
header("Location:xxxx.php");
}
$ id = intval ($ _ GET ['id']); jamais entendu parler de l'injection SQL? –
SQL et maintenant? Je plaisante :) C'est toujours sur un localhost en stage de développement. Je vais pars les i et croiser les t quand il va vivre. – werm