Bonjour, alors il y a plusieurs soucis :
1 - N'englobe pas tout ton html dans un echo, c'est moche
Utilise echo pour les valeurs dynamiques seulement et met le html en dehors de tout çà :
Code :
<a href="suppr.php?id=<?php echo $id ?>">Supprimer</a>
|
2 - Quand tu utilises une donnée dans une requête, echappe là si c'est une string ou vérifie que ce soit bien un entier. Sinon tu risques une injection SQL :
http://fr.wikipedia.org/wiki/Injection_SQL
Dans ton cas, tu cherches un ID donc un entier.
Tu peux alors simplement forcer le type de l'id (transmis par lurl donc falsifiable).
Code :
$id = (int) $_GET['id'];
|
-> (int) retourne toujours un entier à partir de la donnée qui est placée après lui.
-> la fonction intval fait la même chose, voir la doc.
3 - Avec MySQL, on ne fait pas DELETE *, seulement DELETE : quand on supprime on entrée on supprime toujours toute l'entrée.
Code :
DELETE FROM listepays WHERE ...
|
4 - Pourquoi une boucle ?
Il suffit de faire une requête dans ce genre :
Supprimer l'entrée avec l'id $id de la table listepays
donc :
Code :
<?php $query = mysql_query("DELETE * FROM listepays WHERE ID = $id" ); ?>
|
D'ailleurs, tu remarqueras que j'ai viré les guillements simples autour de $id : c'est un entier donc pas de guillemets !
5 - Pourquoi, dans ta boucle, qui est inutile, utilise tu count($id), sachant que $id est supposé être un entier et que count retourne la taille d'un tableau ?