Page 1 sur 1

update parmi une liste de fiches classées par catégories

Posté : 30 déc. 2008, 21:44
par graffx
Salut les gens,


Bon, j' ai du mal a avancer et la grippe par dessus tout, ca motive pas :roll: .


J' ai encore une fois du mal a comprendre une chose, je vous explique.


Vous m' avez aidé récemment a faire un menu grace a la methode "get" ce qui me permettait d' avoir une url de type "index.php?categorie=mini-pelles".


Ca fonctionne parfaitement de ce coté grace a vous. Ce que je ne comprend pas trop maintenant, pour la partie admin, c' est comment effacer une fiche ou la modifier, simplement en cliquant sur un bouton a coté de la dite fiche.

C' est a dire que je ne comprend pas comment faire pour que le bouton a coté de la fiche aie l' id de la fiche elle meme, que ce bouton corresponde bien a la fiche. Je parle a moitié chinois mais je suis malade ^^

De plus pour la partie "modification", j' imagine avoir 3 pages , une page qui récupere les données (??????), une deuxieme qui m' affiche le formulaire avec les données récupérées de la fiche concernée (??? Oo ???) et une troisieme pour l' UPDATE de la fiche.


Que me conseilleriez vous car je n' ai pas envie de me lancer sur un code enorme pour tout recommencer aprés ^^


Merci et en attendant, beau néné a tous :wink:

Posté : 30 déc. 2008, 23:03
par furiouslol
Salut
C' est a dire que je ne comprend pas comment faire pour que le bouton a coté de la fiche aie l' id de la fiche elle meme, que ce bouton corresponde bien a la fiche. Je parle a moitié chinois mais je suis malade ^^
Ca me dit quelque chose ca, et tu avais eu des réponses il me semble, et si tu a compris la methode GET, ca devrait aller tout seul :)

Pour rappel, lorsque tu affiche la liste de tes enregistrement, tu les sors d'une base de donnée, a l'aide d'une requete, et pour chauqe ligne de resultat, tu affiche une ligne sur ton site. A ce moment la tu connais tous les renseignements dont tu as besoin, y compris l'ID

Rien ne t'empeche alors d'écrire, par exemple, a la fin de chaque ligne
echo "<a href='fichierdetraitement.php?id=$id'>";
ou $id est l'ID correspondant a l'element de la lighne que tu est en train d'écrire, directement sortit de ta base de donnée

Comme tu l'as compris, en cliquant sur ce lien, l'utilisateur envoie l'url "'fichierdetraitement.php?id=$id" au navigateur, grace a la methode GET, avec laquelle tu peux construire ta requete de DELETE

Posté : 30 déc. 2008, 23:21
par furiouslol
Tiens j'ai retrouvé le post ou on a causé de ca (entre autres choses, ce pourquoi ce point précis s'est perdu)

http://www.phpfrance.com/forums/viewtop ... ht=#273243

Posté : 31 déc. 2008, 00:38
par graffx
merci pour ces renseignement :)


Donc tu penses que je peux utiliser la methode get pour autre chose que simplement afficher un menu. (pas taper!)


Par contre a quoi correspond ta page fichierdetraitement.php?
ben tiens, je vais montré mon code pour mon menu deja ^^

Code : Tout sélectionner

<?php if (!empty($_GET['categorie'])) { switch($_GET['categorie']) { case 'mini-pelles': $categorie = 'Mini-pelles'; break; case 'dumpers': $categorie = 'dumpers'; break; case 'rouleaux': $categorie = 'rouleaux'; break; } } $categorie = htmlentities($categorie); //protection contre balises html nocives mysql_connect("sql.free.fr", "****", "****") or die("erreur de connexion"); // Connexion à MySQL mysql_select_db("******") or die("erreur de connexion base"); // Sélection de la base $reponse = mysql_query("SELECT id, nom, descriptif, tarifht, tarif FROM articles WHERE categorie='".mysql_real_escape_string($categorie)."'"); ?>

et forcement...

Code : Tout sélectionner

<td width="129"><div align="center"><a href="articles.php?categorie=mini-pelles"><img src="images/icones/minipelle_m.jpeg" width="70" height="70" border="0" /></a></div></td> <td width="95"><div align="center"><a href="articles.php?categorie=dumpers"><img src="images/icones/dumpers_m.jpeg" width="70" height="70" border="0" /></a></div></td> <td width="114"><div align="center"><a href="articles.php?categorie=rouleaux"><img src="images/icones/rouleaux_m.jpeg" width="93" height="56" border="0" /></a></div></td> <td width="76"><div align="center"><a href="articles.php?categorie=groupes"><img src="images/icones/groupes_m.jpeg" width="70" height="70" border="0" /></a></div></td> <td width="96"><div align="center"><a href="articles.php?categorie=rotovateurs"><img src="images/icones/rotovateur.jpeg" width="70" height="70" border="0" /></a></div></td> <td width="91"><div align="center"><a href="articles.php?categorie=chargeuses"><img src="images/icones/chargeuses.jpeg" width="70" height="70" border="0" /></a></div></td> <td width="95"><div align="center"><a href="articles.php?categorie=nacelles"><img src="images/icones/nacelles.jpeg" width="70" height="70" border="0" /></a></div></td>



voila, donc en fait, je peux recréer le meme code mais avec une certaine modification...

voyons ca...

Posté : 31 déc. 2008, 01:31
par furiouslol
Je pense pas, j'en suis sur, GET c'est pas une technique de création de menu, c'est un moyen de passer des informations d'une page a une autre. Ou alors de faire des traitements sans changer de pages, comme pour cet exemple.
On peut imaginer une page affichant une liste, chaque ligne contenant un bouton delete, et quand tu clique sur delete, ca réaffiche la liste sans l'element effacé, avec en passant un message qui confirme la suppression. Mais le comportment c'est a toi de décider.

Et pour le nom du fichier, je ne sais pas comment tu es organisés, soit tu traites tes données d'url dans un fichier séparé, soit tu les traites dans le fichier correspondant a la page que tu veux afficher apres le clic sur DELETE

Posté : 31 déc. 2008, 03:18
par AB
La méthode GET est beaucoup moins sécurisée que la méthode POST et elle est limitée en nombre de caractères. On l'emploi généralement pour transmettre quelques variables simples et peu sensibles.

Enfin dans tous les cas tu dois protéger ta page ou alors il ne faut pas qu'elle se trouve sur le web, sinon bonjour les dégats.

Autre remarque tu emploies un tableau et tu mets des div dans les cellules td. Pourquoi faire ? tu pourrais supprimer les div pour le même résultat.

Quant au nombre de pages pour réaliser ta suppression, à toi de choisir mais tu peux aussi bien tout faire dans une seule page. Pour des scripts simples comme le tiens ça facilite la maintenance.

Posté : 31 déc. 2008, 12:20
par graffx
Hello a tous, comme d' habitude, merci pour ces conseils.


Bon, dans le principe, ca marche, maintenant vous me dites que je ne dois pas la mettre en ligne? c' est si dangereux que ca? Bon par contre mon truc est tout moche, donc va falloir que j' adapte
:D
<?php while ($donnees = mysql_fetch_array($reponse)) 
{
echo $donnees[nom];
echo $donnees[id]; 
echo '<a href="traitement.php?supprimer='.$donnees['id'].'">Supprimer</a><br><br>';
}
?>


Merci a vous les enfants ^^

Posté : 31 déc. 2008, 15:09
par AB
Je disais simplement que si tu ne restreint pas l'accès à cette page à des utilisateurs autorisés, tout le monde va pouvoir supprimer des données.

Posté : 01 janv. 2009, 07:26
par graffx
je prend note de ton conseil AB, et bonne année a toi, ainsi qu' a tous les membres, je vous souhaite plein de bonnes choses, que du bonheur!

Posté : 02 janv. 2009, 01:32
par AB
Merci, bonne année à tous également.

Si donc tu n'y a pas encore pensé voici un tutod'inscription et de connexion dans un espace membres. Cela peut te donner des idées pour commencer