Modifier les données de la base de données

DBA2010 Messages postés 6 Date d'inscription samedi 22 octobre 2011 Statut Membre Dernière intervention 7 novembre 2012 - 2 juin 2012 à 18:57
Lyle56 Messages postés 240 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 19 juillet 2012 - 4 juin 2012 à 10:19
salut a tout le monde;
je suis entrain de faire un site web dans le quelle j'ai intégré une application pour la gestion des étudiants:
mon problème se pose au niveau de modification,voici mon formulaire de modification:

<form id="mod" >

Crochez les élèment que vous voulez modifiez:



 Nom 


 Prénom 


 Code 



</form>

et voici la fonction qui sera utilisé pour la modification de la table,il n'est pas complet:
function modifier($code,$nom,$prenom,$c,$value){
    
     $cn=ouvrirConnexion();//  fonction pour la conexion à la base de données 
     if ($cn != NULL) {
        if(empty($nom)){
           $rq=" update etudiant1 set '$prenom' = '$value' where code=$code " ; 
           $cn->exec($rq);
         }
        if(empty($prenom)){
            $rq=" update etudiant1 set '$prenom' = '$value' where code=$code " ; 
            $cn->exec($rq);  
        } 
     }
  }
$code: pour recuperer la clé de la table.
$nom: le nouveau nom.
$prenom: le nouveau prenom.
$c : le nouveau code.       


mon problème se pose au niveau du choix c'est à dire que dans la fonction de modification il faut traité le cas où l'utilisateur a choisis un seul champ,deux champs ou bien les trois.
je suis très besoin de votre aide car cela est un projet d'etude.
je vous remercie.

2 réponses

Lyle56 Messages postés 240 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 19 juillet 2012 2
4 juin 2012 à 10:18
Bonjour,

Hola!!, gros risque la;
Tu récupère une clef que tu peut modifié ??
A mon avis, il y as déjà un soucis de ce coté la.

Ensuite, ton formulaire ne te renvois pas directement dans ta méthode, et à mon avis ta méthode n'est pas assez générique.

function modifier($table,$listChamp,$listValue,$clef){
    
     $cn=ouvrirConnexion();//  fonction pour la conexion à la base de données 
     if(sizeOf($listChamp) != sizeOf($listValue) {
       return "ErreurListeValues";
     }
     if ($cn != NULL) {
       $rqSelect = "UPDATE "+ $table +" SET "; 
       $index = 0;
       for ($i=0; $i<sizeof($listChamp); $i++) {
            $rqSelect +$listChamp[$i] +" '"+  $listValue[0] +"' ";
       }
       $rqSelect +" WHERE clef '"+ $clef +"'";
       $cn->exec($rq);
     } else {
         return "ErreurConnection";
     } 
  }


Ton traitement de formulaire construit les listes, et en bonus ta méthode peut être utilisé sur une autre table au besoin.

Sans maitrise, la puissance n'est rien
Il ne faut pas vendre la peau de l'ours, non il ne faut pas.
0
Lyle56 Messages postés 240 Date d'inscription jeudi 1 mai 2008 Statut Membre Dernière intervention 19 juillet 2012 2
4 juin 2012 à 10:19
Petite bourde

for ($i=0; $i<sizeof($listChamp); $i++) {
            $rqSelect +$listChamp[$i] +" '"+  $listValue[$i] +"' ";
       }


Sans maitrise, la puissance n'est rien
Il ne faut pas vendre la peau de l'ours, non il ne faut pas.
0
Rejoignez-nous