INSERT ET UPDATE dans la même fonction

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] INSERT ET UPDATE dans la même fonction

    Bonjour,

    Je travaille actuellement sur un projet de gestion de cartes à puces. (pour permettre aux gens d'effectuer des demandes, que ça enregistre directement dans une base de données MySQL)

    Je commence par demander à la personne de remplir une formulaire avec nom, prénom, ... . Puis lorsqu'elle clique sur suivant, je lui fais vérifier ses données. Si la personne clique sur "Oui ces informations sont correctes" j'appelle une fonction qui enregistre ses données dans la base de données (pas de problème pour ça) et je la redirige vers une autre vue pour insérer une photo. Seulement avant d'enregistrer ces données, j'aimerai (dans la même fonction) récupérer un id (un compteur en fait) (d'une de mes tables de ma base de données et d elui ajouter un (pour être sûr que chaque demande de carte aura un id différent.) Seulement, cela ne marche pas. Parfois l'UPDATE fonctionne, mais je n'arrive jamais à récupérer cette valeur... (que j'aimerai (au mieux) insérer dans ma base de données en même temps que les autres informations..)


    Voici le code de ma fonction :

    Code:
    	
                            $creation = date("Y-m-d"); ; 
    			$dbExterne = ComBadgeHelper::getDBO();
    			$requete = "UPDATE joomla_compteur SET compteur = compteur + 1";
    			$dbExterne->setQuery($requete);
    			$requete2 = "SELECT compteur FROM joomla_compteur ; "; 
    			$dbExterne->setQuery($requete2);
    			$ListeCompteur = $dbExterne->loadObjectList();
    			foreach ($ListeCompteur as $row) {
    				$compteur = $row ; 
    				}
    				var_dump($compteur); 
    			$requeteInsert = "INSERT INTO `joomla_demandes_en_cours` ( `nom` , `prenom` , `date_creation` , `etape` , `civilite` , `date_naissance` , `date_debut` , `date_fin` , `bureau` , `id_entite` , `id_service` , `id_filiere` , `contrat` , `id_user` , `id_subvention`) VALUES ('".strtoupper($_POST['nom'])."' , '".ucfirst($_POST['prenom'])."' , '".$creation."' , '' , '".$_POST['civilite']."' , '".$_POST['date3']."' , '".$_POST['date1']."' , '".$_POST['date2']."' , '".$_POST['numbureau']."' , ".$_POST['ListeEntites']." , ".$_POST['ListeServices']." , '".$_POST['libfiliere']."' ,'".$_POST['contrat']."' , '".$_POST['logindemandeur']."' , ".$_POST['ListeSubventions']." )"  ;
    			$dbExterne->setQuery($requeteInsert);
    Si ce n'est pas clair, je suis là ! Merci d'avance,

    -S

  • #2
    Re : INSERT ET UPDATE dans la même fonction

    Bonjour,

    La première chose est d'utiliser les fonctions de Joomla pour filtrer votre requête. Dans votre cas, n'importe quel hacker peut envoyer une injection SQL.

    Voir https://docs.joomla.org/Inserting,_U...g_JDatabase/fr pour plus de détails.

    Et à la fin, il faut toujours un db->execute si vous n'utilsez pas la version object pour l' insert dans la BD.

    Enfin pour récupérer l'ID : $MON_ID = $db->insertid();

    De plus, je vous rappel que si des numéro de carte de crédit sont enregistrés dans la BD ceci est soumis à réglementation en France.

    Pour votre code, il y a un soucis de logique et lors d'un insert si votre table à un index avec auto incrément, celui ci est généré automatiquement, donc vous n'avez pas besoin de le définir avant.
    http://www.st42.fr : Astuce et téléchargement d’extension Joomla! et virtuemart
    http://shop.st42.fr Catalogue extentions gratuit et Pro pour Virtuemart et Joomla

    Commentaire


    • #3
      Re : INSERT ET UPDATE dans la même fonction

      Bonjour,


      Merci pour votre réponse, la documentation était très intéressante !
      J'ai finalement changé de méthode. J'utilise le "required" dans mes champs, pour que la personne ne puisse pas enregistrer dans la base de données sans que les champs soient remplis. Quant à l'id, je crée une clé auto incrémentée qui est donc unique, donc tout est ok.

      Merci encore,
      Bonne journée.


      -S

      Commentaire


      • #4
        Re : INSERT ET UPDATE dans la même fonction

        Un composant de formulaire ne serait bon ?
        Société : http://www.com3elles.com
        Bénévole : http://www.flexicontent.org

        Commentaire

        Annonce

        Réduire
        Aucune annonce pour le moment.

        Partenaire de l'association

        Réduire

        Hébergeur Web PlanetHoster
        Travaille ...
        X