Effacer ligne d'un tableau de données [Php/Mysql] - PHP - Programmation
Marsh Posté le 18-11-2008 à 18:26:47
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 :
|
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
Code : |
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 :
|
-> (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 :
|
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 :
|
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 ?
Marsh Posté le 19-11-2008 à 09:53:47
hello merci pour toute ces informations , comme je débute en php j'ai tendance à prendre des bout de code puis à les modifier jusqu'à ce que je parvienne à mon but. Du coup j'ai pas mal de petites erreurs, mais la avec tes info j 'en ai appris beaucoup, il va falloir que je rentre tout ça dans ma petite tête.
Marsh Posté le 19-11-2008 à 12:26:59
Bon je suis parvenu à ce que je voulais grâce à tes conseils et un tuto, je ne sais pas si le code est parfait mais si vous avez des remarques j'aimerais les connaître afin d'optimiser tout ça:
Voici le code pour ceux qui en auraient besoin:
Fichier avec le tableau:
Code :
|
Fichier de suppression
Code :
|
Marsh Posté le 18-11-2008 à 17:16:17
Hello!
Avant toutes chose je débute en PHP don soyez indulgents lol ^^.
Je viens de créer une petite page php qui récupère les données d'une table Mysql et les affiche dans un tableau (On y trouve => ID / Pays / Supprimer).
Dans la colonne "supprimer" on trouve une icône qui lors du clic devrait permettre la suppression de la ligne!, cependant après différents essais et recherches, je n'ai toujours pas la solution!
je suis arrivé à la conclusion qu'il fallait récupéré l'ID de la ligne et l'envoyer dans un fichier Php qui traite la suppression mais apres je suis bloqué, voici mes code:
[j'ai mis en rouge/Bold les points qui à mon sens sont vraiment erronés]
Ma page php:
Page de traitement: Supp.php
Message édité par bm3w325i le 18-11-2008 à 17:19:24