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 :

IF avec des listes déroulantes [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Points : 27
    Points
    27
    Par défaut IF avec des listes déroulantes
    Bonjour,

    J'essaie de créer un formulaire en php ou je pourrais supprimer des entrées dans la BDD grâce à une liste déroulante. Pas de problème, je sais le faire, mais j'ai compliqué le truc en mettant deux listes déroulantes. Que dois-je mettre comme condition pour que le script php effectue une action EN FONCTION de la liste déroulante choisie ?

    Voici un bout de mon code pour illustrer mon propos... Je choisis de supprimer soit une réalisation, soit la catégorie contenant la réalisation (ce qui implique que je supprime les réalisations contenues dans celle-ci...)

    D'avance, merci pour votre aide !

    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
    if ('reaNom' == 'SELECTED')
    	{
    		$reaNom = $_POST["reaNom"];
    		$query = "DELETE FROM realisations WHERE reaNom = '$reaNom'";
    		$result = mysql_query($query)
    			or die (mysql_error( ));
    		$reaID = mysql_insert_id();
    	}
    	else if ('reaType' == 'SELECTED')
    	{
    		$reaType = $_POST["reaType"];
    		$query = "DELETE FROM (genre, realisations) WHERE reaType = '$reaType'";
    		$result = mysql_query($query)
    			or die (mysql_error( ));
    		$reaID = mysql_insert_id();
     
    	}

  2. #2
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Bonsoir,
    Ce qui serait bien c'est également de voir le code de ton formulaire ...
    Pour l'instant je ne vois pas ce que tu peut faire avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ('reaNom' == 'SELECTED')
    A quoi correspond 'reaNom' ? Certainement au nom de ton premier 'select' ...

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Points : 27
    Points
    27
    Par défaut
    Bonsoir,

    Désolé de ne pas avoir mis tout le code nécessaire à la compréhension... Je débute en PHP, donc je ne sais pas forcément quels bouts de code mettre

    Quoiqu'il en soit, 'reaNom' et 'reaType' correspondent en effet à chacun de mes deux <select>. Je pensais qu'avec cette condition, on pouvait repérer dans quel <select> la modification avait été effectuée... J'ai aussi pensé à faire deux actions distinctes pour chacun des <select> (ce qui serait plus simple et tout à fait envisageable) mais je voulais optimiser le code...

    Et je précise que le bout de code dans le premier post correspond au contenu de "cgi_suppression.php"

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <?php
     
    /*SUPPRESSION D'UNE REALISATION*/
    echo "<fieldset>";
    echo "<legend>Supprimer une réalisation</legend>\n";
     
    	$query="SELECT * FROM realisations ORDER BY reaNom";
    	$result= mysql_query($query);
     
    	echo"<form  action='cgi_suppression.php' method='post'>
    	<select name='reaNom'>\n";
     
    	while($tab = mysql_fetch_array($result)){
     
    	echo "<option value=".$tab['reaNom'].'>'.$tab['reaNom']."</option>";
    	}
     
    	echo"</select>\n";
    	echo"<input type='submit'".
    		"value=\"Supprimer\"></form>\n";
    	echo "</fieldset>";
     
     
    /*SUPPRESSION D'UNE CATEGORIE*/
    echo "<fieldset>";
    echo "<legend>Supprimer une catégorie</legend>\n";
     
    	$query="SELECT * FROM genre ORDER BY reaType";
    	$result= mysql_query($query);
     
    	echo"<form  action='cgi_suppression.php' method='post'>
    	<select name='reaType'>\n";
     
    	while($tab = mysql_fetch_array($result)){
     
    	echo "<option value=".$tab['reaType'].'>'.$tab['reaType']."</option>";
    	}
     
    	echo"</select>\n";
    	echo"<input type='submit'".
    		"value=\"Supprimer\"></form>\n";
    	echo "</fieldset>";
     
    ?>
    Merci ! =)

  4. #4
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Il te faut utiliser isset() afin de savoir qu'elle varaible a été envoyé avec la méthode $_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
    18
    19
    20
    <?php if (isset($_POST['reaNom'])) {
     
    		$reaNom = $_POST["reaNom"];
    		$query = "DELETE FROM realisations WHERE reaNom = '$reaNom'";
    		$result = mysql_query($query) or die (mysql_error( ));
    		$reaID = mysql_insert_id();
    }
     
    if (isset($_POST['reaType'])) {
     
    		$reaType = $_POST["reaType"];
    		$query = "DELETE FROM genre WHERE reaType = '$reaType'";
    		$result = mysql_query($query) or die (mysql_error( ));
    		$reaID = mysql_insert_id();
     
    		$query2 = "DELETE FROM realisations WHERE reaType = '$reaType'";
    		$result2 = mysql_query($query2) or die (mysql_error( ));
    		$reaID2 = mysql_insert_id();
    }
    ?>

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Points : 27
    Points
    27
    Par défaut
    Super ça marche !!

    Merci, je ne connaissais pas les fonctions d' isset()...

    Merci encore

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

Discussions similaires

  1. Bouton valider avec des listes déroulantes.
    Par ruyeken dans le forum Langage
    Réponses: 2
    Dernier message: 14/08/2013, 13h51
  2. Réponses: 1
    Dernier message: 13/01/2013, 19h43
  3. Réponses: 0
    Dernier message: 09/03/2009, 19h01
  4. Problème avec des listes déroulantes liées
    Par guitsch dans le forum GTK+ avec C & C++
    Réponses: 9
    Dernier message: 22/10/2008, 16h07
  5. problème avec le innerHTML des listes déroulantes
    Par gisele dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 27/07/2006, 18h01

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