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 :

Select et variable de session [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 485
    Par défaut Select et variable de session
    Bonjour,

    Travaillant avec plusieurs langues, je cherche à simplifier un code selon la valeur d'une variable de session qui contient la langue en question.
    Pour l'instant, j'utilise l'instruction SWITCH CASE et à chaque valeur, j'ai ça.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	$select = "SELECT * FROM `plant` WHERE `manquante` LIKE '%polonais%' ORDER BY `polonais`";
    		$result =mysql_query($select,$link) or die ('Erreur :'.mysql_errno().mysql_error());
    		while ($rows=mysql_fetch_array($result))
    			{
    		$nomvernaculaire = ucfirst($rows['polonais']);
    		echo "$nomvernaculaire, ";
    			}
    Ca fonctionne mais je voudrais passer à ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	$select = "SELECT * FROM `plant` WHERE `manquante` LIKE '%polonais%' ORDER BY `polonais`";
    		$result =mysql_query($select,$link) or die ('Erreur :'.mysql_errno().mysql_error());
    		while ($rows=mysql_fetch_array($result))
    			{
    		 $nomvernaculaire = ucfirst($rows['$_SESSION['$langue_util']]);
    		echo "$nomvernaculaire, ";
    			}
    et là, ça coince et je ne vois pas pourquoi. Pouvez-vous m'aider svp.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    		 $nomvernaculaire = ucfirst($rows[ $_SESSION['$langue_util'] ]);
    Cela dit, tu peux aussi directement choisir la langue désirée dans la requête SELECT.

    Si tu donnais un peu plus de code et d'explications (structure de la table, valeurs que peuvent prendre les variables...)...

  3. #3
    Membre éclairé
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 485
    Par défaut Variable de session et select
    Bonjour jreaux62,

    Merci pour ton intervention.

    Je ne souhaite pas sélectionner la langue dans le select car celle-ci a déjà été définie précédemment dans un autre fichier. J'ai fait une vérification par un echo $_SESSION['langue_util'] et j'obtiens la bonne valeur, à savoir polonais.
    D'autre part, cette variable peut prendre un peu toutes les valeurs de langues possible.
    Je remarque avec un certain retard que tu voulais la structure de la table plant, la voila :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TABLE IF NOT EXISTS `plant` (
      `idPlant` smallint(6) NOT NULL AUTO_INCREMENT,
      `polonais` varchar(50) NOT NULL DEFAULT '',
      `manquante` varchar(60) NOT NULL,
      PRIMARY KEY (`idPlant`)
    );
    Avec ta proposition, j'obtiens toujours le même problème à savoir une suite de virgules ,,,,,,,,,,,,,,,,,,,,,,
    Une autre piste ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    On n'a ni plus d'explications, ni plus de code....

    Montre-nous plus en détail comment tu t'y prends (tu parles d'une boucle...).
    Tu parles aussi de plusieurs langues, or on ne vois que "polonais" dans ta table...

    Bref, ta gestion de "langues" me parait plus que bancale...

    N.B. Quand je disais "choisir la langue désirée dans la requête SELECT", je voulais dire :
    sélectionner la TRADUCTION dans la "bonne langue" dans la requête SELECT, au lieu de faire un "SELECT *...." (sélection de tous les champs = aussi toutes les traductions)

  5. #5
    Membre éclairé
    Homme Profil pro
    sans
    Inscrit en
    Mai 2007
    Messages
    485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : sans

    Informations forums :
    Inscription : Mai 2007
    Messages : 485
    Par défaut variable de session et select
    Bonsoir,

    J'avais en effet simplifié mon code car je ne voyais pas l'utilité de développer l'instruction SWITCH que j'ai dit avoir utilisé. Le voici développé. Je souhaite en effet simplifier ce SWITCH en remplaçant la langue écrite en dur par le contenu de la variable de session. Je précise qu'en insérant un echo $_SESSION['langue_util'] s'affiche bien "polonais".

    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
     
    <?php
    	session_start();
    		SWITCH ($_SESSION['langue_util'])
    			{
     
    			case "anglais" :
                            $select = "SELECT * FROM `plant` WHERE `manquante` LIKE '%anglais%' ORDER BY `polonais`";
    		        $result =mysql_query($select,$link) or die ('Erreur :'.mysql_errno().mysql_error());
    		        while ($rows=mysql_fetch_array($result))
    			{
    		         $nomvernaculaire = ucfirst($rows['polonais']);
    		         echo "$nomvernaculaire, ";
    		         break;
                            }
     
    			case "allemand" :
                            $select = "SELECT * FROM `plant` WHERE `manquante` LIKE '%allemand%' ORDER BY `polonais`";
    		        $result =mysql_query($select,$link) or die ('Erreur :'.mysql_errno().mysql_error());
    		        while ($rows=mysql_fetch_array($result))
    			{
    		         $nomvernaculaire = ucfirst($rows['polonais']);
    		         echo "$nomvernaculaire, ";
    		         break;
                             }
     
    			case "allemand" :
                            $select = "SELECT * FROM `plant` WHERE `manquante` LIKE '%polonais%' ORDER BY `polonais`";
    		        $result =mysql_query($select,$link) or die ('Erreur :'.mysql_errno().mysql_error());
    		        while ($rows=mysql_fetch_array($result))
    			{
    		         $nomvernaculaire = ucfirst($rows['polonais']);
    		         echo "$nomvernaculaire, ";
    		         break;
    			}
                     }
    ?>
    Suis-je bien clair ?
    Merci pour votre aide.

  6. #6
    Invité
    Invité(e)
    Par défaut
    C'est bien ce que je pensais.
    Remplace le tout par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	$select = "SELECT * FROM `plant` WHERE `manquante` LIKE '%".mysql_real_escape_string($_SESSION['langue_util'])."%' ORDER BY `polonais`";
    	$result = mysql_query($select,$link) or die ('Erreur :'.mysql_errno().mysql_error());
    	while ($rows=mysql_fetch_array($result))
    	{
    		$nomvernaculaire = ucfirst($rows['polonais']);
    		echo $nomvernaculaire . ", ";
    	}
    Remarques :

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

Discussions similaires

  1. [MySQL] Sauvegarde via variable de session lors d'un select.
    Par sdgarf dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 17/06/2008, 12h01
  2. Réponses: 9
    Dernier message: 27/05/2008, 13h44
  3. Réponses: 7
    Dernier message: 12/07/2006, 10h03
  4. Variable de session
    Par Sadneth dans le forum ASP
    Réponses: 6
    Dernier message: 14/11/2003, 11h12
  5. variable de session
    Par divableue dans le forum ASP
    Réponses: 2
    Dernier message: 23/10/2003, 16h04

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