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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Question sur appel d'une variable dans un menu select [phpMyAdmin]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Juillet 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juillet 2015
    Messages : 59
    Points : 32
    Points
    32
    Par défaut Question sur appel d'une variable dans un menu select
    Bonjour à Tous,

    je suis en train de développer une page sur mon site et je bute sur un petit problème de menu select. Je souhaite que mon menu qui prend des dates sur une table de ma base de données des critères de sélection soient basés sur la date mais aussi sur une variable appelée dans ma page (une session est activée sur ma page qui permet l'appel de variables lui correspondant).

    Voici les ligne de mon script :

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
     
    <?php session_start(); 
    include_once('../../modele/connexion_DB.php');
     
    // Récupération du produit
    					$req = $bdd->prepare('SELECT * FROM diffuseurs
    					WHERE id= :id');
    					$req->execute(array('id'=>$_SESSION['id']));
    					$donnees = $req->fetch();
     
     
    include_once('header.php');?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
    <head>
    	<link rel="stylesheet" href="assets/css/bootstrap.css" />
    	<link rel="stylesheet" href="assets/css/bootstrap-responsive.css" />
    	<link rel="stylesheet" href="assets/css/pagination.css" />
    	<link rel="stylesheet" href="assets/css/style.css" />
    	<link rel="stylesheet" href="assets/css/font-awesome.css" />
    </head>
    <body>
    <div class="container">
    <div class="row">
    <div class="span3">
    <?php
    include_once('col-left.php');
    ?>
    </div>
    <div class="span9">
    	<form method="POST" action="../../modele/prod/traitement_invendus.php" enctype="multipart/form-data">
    		<table class="table table-bordered table-striped table-condensed table-responsive">
    		<caption>
    			<h4>Enregistrer vos invendus :<h4>
    		</caption>
    		<thead>
    			<tr>
    			<th>
    			renseignez les champs ci-dessous
    			</th>
    			</tr>
    		</thead>
    		<tbody>
    			<tr>
    			<td>
    			<p><input type="hidden" name="code_adresse" value="<?php echo $donnees['code_adresse']; ?>" placeholder="code_adresse" /></p>
    			Nom :
    			</td>
    			<td style = "text-align: center">
    			<?php echo $donnees['nom']; ?>
    			<p><input type="hidden" name="nom" value="<?php echo $donnees['nom']; ?>" placeholder="nom" /></p>
    			<p><input type="hidden" name="email" value="<?php echo $donnees['email']; ?>" placeholder="email" /></p>
    			</td>
    			</tr>
    			<tr>
    			<td>
    			Titre : 
    			</td>
    			<td style = "text-align: center">
    			<?php echo $donnees['titre']; ?>
    			<p><input type="hidden" name="titre" value="<?php echo $donnees['titre']; ?>" placeholder="titre" /></p>
    			</td>
    			</tr>
    			<tr>
    			<td>
    			Nombre de Journaux livrés ** : 
    			</td>
    			<td style = "text-align: center">
    			<input name="livres" class="form-control" id="livres" value=' <?php echo $donnees['livres']; ?>'>
    			</td>
    			</tr>
    			<tr>
    			<td>
    			Date de parution :
    			</td>
    			<td style = "text-align: center">
    					<?php include_once('../../modele/connexion_DB.php');
    					$lab = $donnees['titre'];
    					$champcategorie='<select name="date_parution">' ;
    					$champcategorie.='<option value="'.'">'.'date de parution'.'</option>';
    					$reponse = $bdd->query("SELECT * FROM date_edition WHERE date_parution >= CURDATE()-'45' ORDER BY date_parution DESC");
    // C'est ici que je souhaite appliquer un filtre, je voudrais que ma  seconde condition de sélection de cette requête utilise la variable $donnees['titre'] pour qu'elle ne prenne que les dates correspondant au titre de la session utilisateur.
    					while ($donnees = $reponse->fetch())
    					{
    					$champcategorie.='<option value="'.$donnees['date_parution'].'">'.$donnees['date_parution'].'</option>'; 
    					//la concatenation des champs se fait ici
    					}
    					$champcategorie .= '</select>';
    					echo 	$champcategorie;	
    					?>
    			</td>
    			</tr>
    			<tr>
    			<td>
    			Nombre de Journaux vendus : 
    			</td>
    			<td style = "text-align: center">
    			<input name="vendus" class="form-control;" id="vendus" value=' <?php echo $donnees['vendus']; ?>'>
    			</td>
    			</tr>
    			<tr>
    			<td>
    			</td>
    			<td style = "text-align: center">
    			<input type="submit" class="btn btn-success" style="font-size: 0.8em; width:90px; white-space: nowrap; margin:2px;">
    			</td>
    			</tr>
    		</tbody>
    		<table>
    			<tr>
    			<thead>
    			<p>** Ne modifiez cette ligne que si vous avez reçu un nombre différent de journaux<p>
    			</thead>
    			</tr>
    		</table>
    	</form>
    				<br>
    			</div>
    </div>
    </div>
    <?php
    include_once('footer.php');
    ?>	
    	</body>
    </html>
    Quelqu'un aurait-il une idée ? D'avance merci.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Et donc ?...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT DISTINCT date_parution FROM date_edition .... "

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Juillet 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juillet 2015
    Messages : 59
    Points : 32
    Points
    32
    Par défaut
    Bonjour Jreaux62,

    merci pour ton intérêt. Je venait juste de mettre à jour mon message.

    J'ai mis une note dans mon script, je ne sais pas si tu la vois ?

    Ma question porte sur cette partie du script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $reponse = $bdd->query("SELECT * FROM date_edition WHERE date_parution >= CURDATE()-'45' ORDER BY date_parution DESC");
    // C'est ici que je souhaite appliquer un filtre, je voudrais que ma  seconde condition de sélection de cette requête utilise la variable $donnees['titre'] pour qu'elle ne prenne que les dates correspondant au titre de la session utilisateur.

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Juillet 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juillet 2015
    Messages : 59
    Points : 32
    Points
    32
    Par défaut
    Je ne sais pas si je suis très clair mais ce que je voudrais c'est appliquer deux conditions de sélection de mes dates, un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $title = $donnees['titre'];
    "SELECT * FROM date_edition  WHERE titre LIKE '$title' AND WHERE date_parution >= CURDATE()-'45' ORDER BY date_parution DESC"
    mais je bute sur des message d'erreur à chaque fois ...

    Aurais-tu une suggestion ?

    D'avance merci.

  5. #5
    Invité
    Invité(e)
    Par défaut
    1- Supprime le 2eme WHERE...

    2- tu ne peux pas remettre while ($donnees ... après, alors que $donnees est déjà utilisé.
    Dernière modification par rawsrc ; 17/02/2020 à 13h03.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Juillet 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juillet 2015
    Messages : 59
    Points : 32
    Points
    32
    Par défaut
    Grand merci Jreaux,

    voilà comment j'ai monté mon script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php include_once('../../modele/connexion_DB.php');
    					$title = $donnees['titre'];
    					$champcategorie='<select name="date_parution">' ;
    					$champcategorie.='<option value="'.'">'.'date de parution'.'</option>';
    					$reponse = $bdd->query("SELECT * FROM date_edition  WHERE titre LIKE '$title' AND date_parution >= CURDATE()-'45' ORDER BY date_parution DESC");//  OR date_parution <= CURDATE()+'2'
    					while ($donnees = $reponse->fetch())
    					{
    					$champcategorie.='<option value="'.$donnees['date_parution'].'">'.$donnees['date_parution'].'</option>'; 
    					//la concatenation des champs se fait ici
    					}
    					$champcategorie .= '</select>';
    					echo 	$champcategorie;	
    					?>
    et ça marche !!!

    Pour confirmation ma variable titre est présente dans deux tables : diffuseurs et date_edition c'est peut être pour cela que je peux poser ma condition de départ $title = $donnees['titre'] ...?

    Mon ticket est résolu. Encore merci.

  7. #7
    Invité
    Invité(e)
    Par défaut
    C'est mieux avec une requête préparée :

    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
    <?php include_once('../../modele/connexion_DB.php');
    	$champcategorie='<select name="date_parution">' ;
    	$champcategorie.='<option value="'.'">'.'date de parution'.'</option>';
    	$reponse = $bdd->prepare("SELECT date_parution 
    		FROM date_edition 
    		WHERE titre LIKE :titre 
    		AND date_parution >= CURDATE()-'45' 
    		ORDER BY date_parution DESC");//  OR date_parution <= CURDATE()+'2'
    	$reponse->execute(array(':titre' => $donnees['titre']));
    	while ($row = $reponse->fetch())
    	{
    		$champcategorie.='<option value="'.$row['date_parution'].'">'.$row['date_parution'].'</option>'; 
    		//la concatenation des champs se fait ici
    	}
    	$champcategorie .= '</select>';
    	echo 	$champcategorie;	
    ?>

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Juillet 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juillet 2015
    Messages : 59
    Points : 32
    Points
    32
    Par défaut Question sur appel d'une variable dans un menu select
    Bonjour,

    j'ai ré-ouvert ce sujet car cela fait quelque jours que je cherche à affiner ma sélection de variable dans mon "menu select" et que je ne trouve pas ...

    Voilà, ce menu est appelé dans une page à laquelle un utilisateur se connecte via un login et un mot de passe qui sont enregistrés dans une session.
    Son identifiant de session me permet de sélectionner dans une table le journal qu'il distribue et dans une seconde table les dates d'édition du journal qu'il distribue (c'est une page qui lui permet de déclarer ses invendus...).

    Mon problème, je n'arrive pas à rédiger une requête SQL qui sélectionne les dates de parution correspondant au journal de mon diffuseur - bien que les deux tables aient un champ commun, le champ "titre".

    J'ai fait plusieurs tentatives dont la dernière se trouve ci-dessous et cette requête me sélectionne mes date de parution mais elle les multiplie par le nombre d'éditeur qui se trouve dans ma table diffuseur ... ça ne marche pas donc...

    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
     
    <td style = "text-align: center">
    					<?php include_once('../../modele/connexion_DB.php');
    					$champcategorie='<select name="date_parution">' ;
    					$champcategorie.='<option value="'.'">'.'date de parution'.'</option>';
    					$reponse = $bdd->query("SELECT * FROM date_edition INNER JOIN diffuseurs ON date_edition.titre = diffuseurs.titre WHERE date_edition.titre = diffuseurs.titre") 
    					while ($donnees = $reponse->fetch())
    					{
    					$champcategorie.='<option value="'.$donnees['date_edition.date_parution'].'">'.$donnees['date_edition.date_parution'].'</option>'; 
    					//la concatenation des champs se fait ici
    					}
    					$champcategorie .= '</select>';
    					echo 	$champcategorie;	
    					?>
    			</td>
    Quelqu'un saurait ce qui ne fonctionne pas dans ma requête ?

    Merci pour votre aide par avance.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Juillet 2015
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juillet 2015
    Messages : 59
    Points : 32
    Points
    32
    Par défaut
    Désolé, je n'avais pas bien lu ta réponse Jreaux. Encore merci

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/02/2019, 13h16
  2. [Js Photoshop] Appel d'une variable dans une autre fonction
    Par bugg01 dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 29/04/2014, 13h45
  3. Appel d'une variable dans un while
    Par djo007 dans le forum Langage
    Réponses: 10
    Dernier message: 27/10/2011, 00h21
  4. Réponses: 2
    Dernier message: 24/03/2009, 09h09
  5. Une question sur le stockage des variables
    Par UnReveDeCryptomeria dans le forum C
    Réponses: 10
    Dernier message: 08/06/2006, 23h37

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