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 :

UPDATE données via un menu déroulant php


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Par défaut UPDATE données via un menu déroulant php
    Bonjour,
    Je cale depuis plusieurs jours sur un code que je voudrais vous soumettre.
    Je souhaite faire un UPDATE dans ma bdd si et seulement si une option d'un menu déroulant est sélectionné (IF ma variable est isset), sinon je souhaite ne rien faire.
    J'ai utilisé IF et ELSE.
    Si ma variable est isset, je fais un UPDATE et là c'est OK.
    Mais si c'est else (=ne rien faire) j'ai le message d'erreur suivant :
    Parse error: syntax error, unexpected 'else' (T_ELSE) in /sites/paleocet/www/web_main/trait_modif.php on line 37
    J'ai consulté les forums, il y a beaucoup de posts similaires mais aucun ne solutionne mon problème. J'ai consulté la doc https://www.php.net/ : rien à faire.
    les "echo" sont là pour vérification.
    Je vous remercie par avance si vous aviez une piste à me donner pour corriger mon erreur.
    Evelyne31

    Mon code :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    // // TRAITEMENT du formulaire de modifications
     
    // on teste la déclaration de notre variable d'envoi
    if (isset($_POST['submit'])  ) 
    //{
     
    	// traitement du menu déroulant TYPE
    	if (isset($_POST['ID_type']) ) {
     
    		echo 'variable ID type pleine : ' . $_POST['ID_type'] . '<br>';
    		// INSERT du nouveau TYPE
    		$sql='UPDATE OBJECT
    		SET ID_type = ? 
    	 	WHERE ID_object = ?';
    	 	try { 
    	   	//la ligne qui lance la requête préparée
    		$stmt = $base->prepare($sql);
    	  	//on affecte les marqueurs précis sur les filtres
    	  	//en vrai, vous aurez plutôt des variables de type POST envoyées par un formulaire
    		$ID_type = $_POST['ID_type'];
    		$ID_object=$_SESSION['ID_object'];
    		//Attention, bien mettre dans l'ordre de la requête !
    	   	$stmt->execute(array($ID_type,$ID_object)) ;
    		}  catch (Exception $e) {
    	  	//s'il y a un problème PHP ou SQL, tout s'affichera ici
    		print "Erreur ! " . $e->getMessage() . "<br/>";		
    		}
     
     
    	else {  
    	echo 'variable ID type vide : ' . $_POST['ID_type'] . '<br>';  
    	}
    	}
    	}

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    euh, tu n'as qu'à reprendre tes accolades ouvrantes et fermantes, tu verras que le compte n'y est pas...

  3. #3
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Par défaut
    Bonsoir rawsrc,
    Merci pour ta réponse.
    Petite erreur dans mon code : l'accolade ouvrante après le 1er if n'est pas en commentaire.
    Donc, après x comptages des accolades, il y a bien le même nombre d'ouvrantes (5) et de fermantes (5).
    Je ne comprends pas ? Je reposte mon code rectifié, désolée.
    Un indice ?

    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
    27
    28
    29
    30
    31
    32
    33
    34
    // // TRAITEMENT du formulaire de modifications
     
    // on teste la déclaration de notre variable d'envoi
    if (isset($_POST['submit'])  ) 
    {
     
    	// traitement du menu déroulant TYPE
    	if (isset($_POST['ID_type']) ) {
     
    		echo 'variable ID type pleine : ' . $_POST['ID_type'] . '<br>';
    		// INSERT du nouveau TYPE
    		$sql='UPDATE OBJECT
    		SET ID_type = ? 
    	 	WHERE ID_object = ?';
    	 	try { 
    	   	//la ligne qui lance la requête préparée
    		$stmt = $base->prepare($sql);
    	  	//on affecte les marqueurs précis sur les filtres
    	  	//en vrai, vous aurez plutôt des variables de type POST envoyées par un formulaire
    		$ID_type = $_POST['ID_type'];
    		$ID_object=$_SESSION['ID_object'];
    		//Attention, bien mettre dans l'ordre de la requête !
    	   	$stmt->execute(array($ID_type,$ID_object)) ;
    		}  catch (Exception $e) {
    	  	//s'il y a un problème PHP ou SQL, tout s'affichera ici
    		print "Erreur ! " . $e->getMessage() . "<br/>";		
    		}
     
     
    	else {  
    	echo 'variable ID type vide : ' . $_POST['ID_type'] . '<br>';  
    	}
    	}
    	}

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bah non, sers toi de tes doigts pour compter
    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
    if (isset($_POST['submit'])) {
        // traitement du menu déroulant TYPE
        if (isset($_POST['ID_type']) ) {
            echo 'variable ID type pleine : '.$_POST['ID_type'].'<br>';
            // INSERT du nouveau TYPE
            $sql = 'UPDATE OBJECT
    		SET ID_type = ? 
    	 	WHERE ID_object = ?';
            try {
                //la ligne qui lance la requête préparée
                $stmt = $base->prepare($sql);
                //on affecte les marqueurs précis sur les filtres
                //en vrai, vous aurez plutôt des variables de type POST envoyées par un formulaire
                $ID_type = $_POST['ID_type'];
                $ID_object = $_SESSION['ID_object'];
                //Attention, bien mettre dans l'ordre de la requête !
                $stmt->execute([$ID_type, $ID_object]);
            } catch (Exception $e) {
                //s'il y a un problème PHP ou SQL, tout s'affichera ici
                print "Erreur ! ".$e->getMessage()."<br/>";
            }
        } else {
            echo 'variable ID type vide : ' . $_POST['ID_type'] . '<br>';
        }
    }

  5. #5
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Par défaut
    Vraiment désolée rawsrc mais je ne vois pas. J'ai à nouveau recompté plusieurs fois, sur mes doigts aussi . Puis, j'ai fait une recherche sur { et une sur } j'obtiens 5 résultats pour chacune des accolades ??? Es-tu sûr ? Merci.

  6. #6
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Allez, on y va :
    Ligne 5 (ouverture if)
        Ligne 8 (ouverture if), 
            Ligne 15 (ouverture try), Ligne 24 (fermeture try)
            Ligne 24 (ouverture catch), Ligne 27 (fermeture catch)
        Ligne 30 (ouverture else), Ligne 32 (fermeture else)
        Ligne 33 (fermeture if)
    Ligne 34 (fermeture if)
    
    Regarde les lignes 8 et 30, le if de la 8 n'est pas refermé avant le else, il est refermé après (Ligne 33) ⇒ incohérence.

    Version corrigée :
    Ligne 5 (ouverture if)
        Ligne 8 (ouverture if), 
            Ligne 15 (ouverture try), Ligne 24 (fermeture try)
            Ligne 24 (ouverture catch), Ligne 27 (fermeture catch)
        Ligne 30 (fermeture if)
        Ligne 30 (ouverture else), Ligne 32 (fermeture else)
    Ligne 34 (fermeture if)
    

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Données pré-seléctionnées menu déroulant PHP/MySQL
    Par tadafalt dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 23/02/2016, 09h41
  2. [MySQL] Insertion données grâce à un menu déroulant dans un formulaire PHP
    Par clementdevelop dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 07/05/2013, 09h49
  3. Réponses: 8
    Dernier message: 10/03/2009, 15h25
  4. Réponses: 2
    Dernier message: 09/10/2008, 09h07
  5. récupération des données via une liste déroulante
    Par rahan_dave dans le forum Access
    Réponses: 1
    Dernier message: 13/10/2005, 12h27

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