|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||
rachida ben khlifaÉtudiant Inscription : avril 2011 Messages : 30 ![]() |
salut,
j'ai une problème à la fonction supprimer puisqu'il permet de me supprimer toutes les enregistrements dés que je veux supprimer un seul enregistrement lorsque je fais entre le clé primaire(id_circuit) voici mon code: Code :
Code :
Citation:
|
|||||
|
|
00
|
|
|
#2 | ||
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
Code :
Par ailleurs, il faut éviter les variables avec accent. Enfin, Code :
<input name="id_circuit" type="text" value ="<?php include('recherchedecircuit.php'); $obj=new circuit('.$id_circuit.','.$Nomcircuit.','.$Villededépart.','.$Jourdedépart.','.$Jourderetour.','.$Durée.','.$Prix.','.$Supplementsingle.','.$Reductionenfant.','.$Description.'); $obj->supprimercircuit('.$id_circuit.'); ?>"> http://sylvie-vauthier.developpez.co...rand-debutant/ Regardez surtout :
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
||
|
00
|
|
|
#3 | ||
rachida ben khlifaÉtudiant Inscription : avril 2011 Messages : 30 ![]() |
merci a vous c'est bien passé voici le code si quelqu'un veut l'utiliser:
Code :
|
||
|
|
10
|
|
|
#4 | ||
|
Membre expérimenté
![]() ![]() Inscription : mars 2005 Messages : 648 ![]() |
Si je peux me permettre d’améliorer le code:
Code :
|
||
|
|
00
|
|
|
#5 |
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
Sans remettre en doute vos compétences et sauf votre respect, les améliorations sont minimes par rapport à tout ça :
1 parenthèse en trop et le @ n'est, pour moi, pas une bonne pratique. (on cache les messages en prod et on les log, ou les affiche en dev mais on ne met pas de "@") Code :
return $result===false ? 'erreur' : true; + echo 'Résultat = ' . $ret; Le fait de retourner une valeur est bien mais à part ça, pas d'amélioration pour moi
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
|
01
|
|
|
#6 | ||
|
Membre expérimenté
![]() ![]() Inscription : mars 2005 Messages : 648 ![]() |
J'ai édité pour la ) en trop, merci.
le @ était dans le code original, je l'ai préservé. Le projet peut le justifier et je ne suis pas en mesure de juger de sa pertinence. Le plus important dans mon correctif est le fait que toutes les requêtes ayant été données jusqu'ici étaient injectables. L'autre détails était ce que tu mentionnais: rachouda utilise une fonction, mais n'utilise jamais le paramètre. J'ai donc proposé une fonction mieux découplée. Finalement, si la requête s'exécute bien, je n'ai aucune idée de ce que rachouda voudra affichée. C'est à elle de s'occuper de l'implémentation. Pour répondre à ta question, si la requête réussit, ça affichera 1. Exemple d'implémentation: Code :
Bref, on pourrait faire un tas de choses, mais les détails d'implémentation dépasse la question. |
||
|
|
10
|
|
|
#7 |
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
Au temps pour moi, le @ était effectivement dans le code de base...Mon message s'adresse donc à l'OP pour ce point
![]() Et j'ai du dérouler la page trop vite car je pensais que le (int) avait été mis par quelqu'un d'autre avant... C'est ça de faire plein de choses en même temps... Par contre, pourquoi ne pas faire "return $result" plutôt que votre condition ternaire qui est inutile si vous utilisez l'implémentation de votre dernier message (qui est celle que j'utiliserais, en plus, ça sent la bonne librairie de traduction ça Après, on est d'accord pour l'implémentation des erreurs, j'essayais juste d'avertir l'OP par mes remarques envers votre post.
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
|
00
|
|
|
#8 |
|
Membre expérimenté
![]() ![]() Inscription : mars 2005 Messages : 648 ![]() |
Et bien, ce code est loin d'être parfait, mais je crois qu'il n'est jamais trop tard pour commencer à améliorer le code pour avoir un découplage des responsabilités.
On appel la fonction avec une tâche en tête: supprimer. On s'attend à ce qu'elle retourne que c'est bon, ou pas. L'implémentation ne devrait même pas avoir à se soucier du fait qu'il y ai une ressource. Si éventuellement la base de données étaient changée pour autre chose que MySQL, il sera plus simple de modifier quelques fonctions que l'ensemble des cas d'implémentation qui doivent traiter avec une ressource. Voilà pourquoi la fonction que je propose ne retourne pas une ressource. |
|
|
00
|
|
|
#9 | |
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
Sauf que, de mémoire (belle lurette que j'utilise plus mysql_*), mysql_query ne retourne pas obligatoirement une ressource.
En y allant, je cite le manuel : Citation:
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
|
|
00
|
|
|
#10 | ||||
|
Membre expérimenté
![]() ![]() Inscription : mars 2005 Messages : 648 ![]() |
Ah, et bien dans cas, oui, retourner $result pourrait être une option.
( Moi non plus je n'utilise plus mysql_ Alors la méthode pourrait être: Code :
Code :
|
||||
|
|
00
|
|
|
#11 |
rachida ben khlifaÉtudiant Inscription : avril 2011 Messages : 30 ![]() |
bonjour,
je vous remercie pour votre effort mais le code qui vous proposée ne fonctionne pas lorsque j'essaye de l'utiliser cordialement rachouda |
|
|
00
|
|
|
#12 |
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
Ooooooh "ne fonctionne pas" et "ne marche pas" sont les réponses que je préfère.
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
|
00
|
Copyright © 2000-2012 - www.developpez.com