IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

insertion soumission formulaire avec multiple critere


Sujet :

PHP & Base de données

  1. #1
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut insertion soumission formulaire avec multiple critere
    Bonjour,

    j'ai un formulaire avec des critere qui peuvent etre note de 1 a 5.

    j'ai créer ma fonction pdo.

    mais comment inserer les criteres ref_critere et ref_notation qui sont affiché avec des select pour les notations et des label pour les criteres.

    ex critere : accueil en face liste deroulante de 1 a 5

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    protected function add(Evaluation $Evaluation)
    	{
     
    $requete = $this->db->prepare('INSERT INTO evaluation
    (id_evaluation, date_evaluation, heure_evaluation, adresse_ip, commentaire, ref_notation, ref_critere, ref_servicepublic
    )
    values
    (:id_evaluation, :date_evaluation, :heure_evaluation, :adresse_ip, :commentaire, :ref_notation, :ref_critere, :ref_servicepublic
    ');
     
    		$requete->bindValue(':id_evaluation', $Evaluation->getIdEvaluation());
    		$requete->bindValue(':date_evaluation', $Evaluation->getDateEvaluation());
    		$requete->bindValue(':heure_evaluation', $Evaluation->getHeureEvaluation());
    		$requete->bindValue(':adresse_ip', $Evaluation->getAdresseIp());
    		$requete->bindValue(':commentaire', $Evaluation->getCommentaire());
    		$requete->bindValue(':ref_notation', $Evaluation->getRefNotation());
    		$requete->bindValue(':ref_critere', $Evaluation->getRefCritere());
    		$requete->bindValue(':ref_servicepublic', $Evaluation->getRefServicePublic());
    		$requete->execute();
     
     
    	}
    sachant aussi que les 3dernière variable sont des 3 cle etrangeres.

    je voudrai aussi savoir comment modifier le select pour l'affichage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public function getUnique($id)
    	{
     
     
    		$requete = $this->db->prepare('SELECT id_evaluation, date_evaluation, heure_evaluation, adresse_ip, commentaire, ref_notation, ref_critere, ref_servicepublic		
    		FROM evaluation  WHERE id_evaluation = :id');
    		$requete->bindValue(':id', (int) $id, PDO::PARAM_INT);
    		$requete->execute();
     
    		return new Evaluation($requete->fetch(PDO::FETCH_ASSOC));
     
     
    	}
    merci pour votre aide.

  2. #2
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    Pour être plus précise

    bonjour,

    jai un formulaire et je doit enregistrer des notations.

    par des liste déroulante

    Liste choix de l’etablissement, lsite choix de la Ville, choix cP, choix adresse, liste choix du 1 critère, liste choix des notations du 1 Critère entre 1 et 5 liste choix du 2 critère ....

    une table évaluation pour enregistrer les infos du formulaire id évaluation en auto incrémenté et date et heure, id critere id notation id établissement ces 3 derniers j’ai mes clés etrangere vers id_etablissement, id_critere, id_notation.

    je dois faire donc un insert multiple car pour le même etablissement j’ai plusieurs criteres.

    Est ce que quelqu’un pourrai me fournir un exemple de requête multiple dans le meme esprit.

    sachant Que les 1ère Variables Sont toujours les’memes a Les critères et notations car il yn’a en plusieurs.

    voici ce que me retourne actuellement mon formulaire avec print_r($_POST) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    	Array
    (
        [city] => MARSEILLE CEDEX 20
        [nom_service] => MAIRIE
        [code_postales] => 13008
        [adresse_service] => 125 rue du Commandant-Rolland
        [city-hidden] => 61354
    /*C'EST ICI que le critere vont devoir etre inserer plusieurs fois car ma table à id_critere et id_notation */
        [critere_1] => 2
        [critere_2] => 2
        [critere_3] => 4
        [critere_4] => 5
        [commentaire] => 
        [accept_charge] => on
        [accept_rgpd] => on
        [soumission_evaluation] => Envoyer mon évaluation
    )
    merci pour votre aide

    voici ma fonction qui ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    protected function addMultipleCritere($Evaluation,$criteres)
    	{
     
     $requete = $this->db->prepare('INSERT INTO evaluation
    (id_evaluation, date_evaluation, heure_evaluation, adresse_ip, commentaire, ref_notation, ref_critere, ref_servicepublic
    )
    values
    (:id_evaluation, :date_evaluation, :heure_evaluation, :adresse_ip, :commentaire, :ref_notation, :ref_critere, :ref_servicepublic');
     
    $requete->bindValue(':id_evaluation', $Evaluation->getIdEvaluation());
    $requete->bindValue(':date_evaluation', $Evaluation->getDateEvaluation());
    $requete->bindValue(':heure_evaluation', $Evaluation->getHeureEvaluation());
    $requete->bindValue(':adresse_ip', $Evaluation->getAdresseIp());
    $requete->bindValue(':commentaire', $Evaluation->getCommentaire());
    $requete->bindValue(':ref_servicepublic', $Evaluation->getRefServicePublic());
     
    foreach ($criteres as $i => $value) {
     
     
    $req->bindParam(':ref_critere', $criteres[$i]);
    $req->bindParam(':ref_notation', $criteres[$i]);
     
        $req->execute();
    }	
    }
    merci

  3. #3
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 496
    Par défaut
    Salut,
    Si tu dis que ta table Evaluation contient un id en AUTOINCREMENT, pourquoi alors tu mets le champ id_evaluation dans la requête d'insertion ?

Discussions similaires

  1. [AJAX] Formulaire avec multiples actions
    Par Invité dans le forum AJAX
    Réponses: 9
    Dernier message: 27/11/2014, 21h13
  2. Réponses: 10
    Dernier message: 07/08/2014, 07h04
  3. Formulaire avec multiple pièces jointes
    Par Chedi dans le forum Langage
    Réponses: 11
    Dernier message: 20/11/2013, 17h30
  4. pb soumission formulaire avec idhttp post
    Par Noddles dans le forum Web & réseau
    Réponses: 9
    Dernier message: 30/08/2013, 12h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo