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 :

Requête SQL dans page web


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Webmarketer
    Inscrit en
    Juin 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmarketer
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2015
    Messages : 15
    Points : 6
    Points
    6
    Par défaut Requête SQL dans page web
    j'ai une page web http://champardenne-tarot.com/joueurs/joueurs2.php qui maffiche une liste de joueurs.

    dans cette page j'ai une requete $reponse = $bdd->query('SELECT licence, nom, serie FROM joueurs '); qui m'affiche tous les joueurs.

    la meme requete avec selection $reponse = $bdd->query('SELECT licence, nom, serie FROM joueurs where licence = 1001619') ne m'affiche que le joueur correspondant.
    sur la meme page j'ai un resultat de form qui me donne $_POST['joueur_1'];
    comment ecrire ma requete pour remplacer 1001619 par $_POST['joueur_1'];

    merci d'avance

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 344
    Points : 39 745
    Points
    39 745
    Billets dans le blog
    9
    Par défaut
    il suffit d'ajouter une équi-jointure entre joueur et licence, sous réserve qu'un joueur n'a qu'une et une seule licence et qu'une licence ne concerne qu'un et un seul joueur. (à vérifier selon que le numéro de licence d'un joueur peut ou pas changer selon les années)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Webmarketer
    Inscrit en
    Juin 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmarketer
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2015
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    il suffit d'ajouter une équi-jointure entre joueur et licence, sous réserve qu'un joueur n'a qu'une et une seule licence et qu'une licence ne concerne qu'un et un seul joueur. (à vérifier selon que le numéro de licence d'un joueur peut ou pas changer selon les années)
    bonjour,
    si j'ai bien compris , une equi-jointure est entre deux tables et ici je n'ai qu'une seule table. sinon un joueur ne peut avoir qu'un seul numero de licence et un numero ne peut etre attribue qu'a un seul joueur.

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 240
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 240
    Points : 8 514
    Points
    8 514
    Billets dans le blog
    17
    Par défaut
    la meme requete avec selection $reponse = $bdd->query('SELECT licence, nom, serie FROM joueurs where licence = 1001619') ne m'affiche que le joueur correspondant.
    sur la meme page j'ai un resultat de form qui me donne $_POST['joueur_1'];
    comment ecrire ma requete pour remplacer 1001619 par $_POST['joueur_1'];
    C'est plus un problème de PHP non ? En partant du principe que $bdd est une instance PDO :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $sql = <<<SQL
        SELECT ALL licence, nom, serie
        FROM joueurs
        WHERE licence = {$bdd->quote($_POST['joueur_1'])}
        SQL;
     
    $bdd->query($sql);

  5. #5
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 344
    Points : 39 745
    Points
    39 745
    Billets dans le blog
    9
    Par défaut
    J'avais lu trop vite, je pensais que le n° de licence était dans une autre table que la table joueur
    Selon que dans le formulaire on saisit un nom ou un numéro (que représente joueur_1 à _4 ?), il faut construire une requete du genre

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT licence
         , nom
         , serie 
    FROM   joueurs 
    where nom in ($nom1, $nom2, $nom3, $nom4)

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Webmarketer
    Inscrit en
    Juin 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmarketer
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2015
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Séb. Voir le message
    C'est plus un problème de PHP non ? En partant du principe que $bdd est une instance PDO :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $sql = <<<SQL
        SELECT ALL licence, nom, serie
        FROM joueurs
        WHERE licence = {$bdd->quote($_POST['joueur_1'])}
        SQL;
     
    $bdd->query($sql);
    si j'ecris ma requete comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = $bdd->query('SELECT  licence, nom, serie, indice  FROM joueurs  WHERE licence = {$bdd->quote($_POST['joueur_1'])}');
    la seule chose que j'obtiens c'est une page blanche

    ou si j'ecris

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    								$reponse = $sql = <<<SQL
        SELECT ALL licence, nom, serie
        FROM joueurs
        WHERE licence = {$bdd->quote($_POST['joueur_1'])}
        SQL;
    je n'ai plus rien qui s'affiche

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Webmarketer
    Inscrit en
    Juin 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmarketer
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2015
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    J'avais lu trop vite, je pensais que le n° de licence était dans une autre table que la table joueur
    Selon que dans le formulaire on saisit un nom ou un numéro (que représente joueur_1 à _4 ?), il faut construire une requete du genre

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT licence
         , nom
         , serie 
    FROM   joueurs 
    where nom in ($nom1, $nom2, $nom3, $nom4)
    si je mets une requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    								$reponse = $bdd->query('SELECT licence
         , nom
         , serie 
    FROM   joueurs 
    where nom in ($nom1, $nom2, $nom3, $nom4)');
    rien ne s'affiche.

    joueur_1 a joueur_4 represente le numero de licence de 4 joueurs

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Webmarketer
    Inscrit en
    Juin 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Webmarketer
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2015
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    en fait voila ce que je voudrais obtenir http://champardenne-tarot.com/joueurs/joueurs3.php

    et voici le code que j'ai rentre pour obtenir ce resultat
    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
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="utf-8" />
    	<link rel="stylesheet" href="style.css" />
    	<title>le tarot en champagne-ardenne</title>
    	<meta name="nouvelle" content="le tarot en champagne ardenne  , les competitions, les resultats, le calendrier." />
    </head>
    	<body>
    		<?php include ($_SERVER["DOCUMENT_ROOT"].'/entete.php'); ?>
    			<section>	
    				<?php
    					try
    						{
    							// acces a la base de données
    							$bdd = new PDO('mysql:host=sql-01.proxgroup.fr:3306;dbname=champard_tarot;charset=utf8', 'xxxxxx', 'xxxxxx');
    						}
    					catch (Exception $e)
    						{
    							die('Erreur : ' . $e->getMessage());
    						}
    								$reponse = $bdd->query('SELECT  licence, nom, serie  FROM joueurs ');
    								while ($donnees = $reponse->fetch())
    								{
    									?>
     
    									<?php echo $donnees['licence']; ?>  -  <?php echo $donnees['nom']; ?>  -  <?php echo $donnees['serie']; ?> <br/>
     
    									<?php
    								}
    										$reponse->closeCursor();		
    				?>
    			</section>
    			<aside>
    				<center>
    				<article>
    					<?php
    						try
    						{
    							// acces a la base de données
    							$bdd = new PDO('mysql:host=sql-01.proxgroup.fr:3306;dbname=champard_tarot;charset=utf8', 'xxxxxx', 'xxxxxx');
    						}
    						catch (Exception $e)
    						{
    							die('Erreur : ' . $e->getMessage());
    						}
    								$reponse = $bdd->query('SELECT  licence, nom, serie, indice  FROM joueurs where licence = 1003476');
    								while ($donnees = $reponse->fetch())
    								{
    					?>
    						<?php echo $donnees['nom']; ?>  est   <?php echo $donnees['serie']; ?> son indice est de  <?php echo $donnees['indice']; ?><br/>
    						<?php $indice_1 = $donnees['indice'];	?>
    						<?php $joueur_1 = $donnees['nom'];	?>
    						<?php
    								}
    						$reponse->closeCursor();		
    						?>
    				   <?php
    						try
    						{
    							// acces a la base de données
    							$bdd = new PDO('mysql:host=sql-01.proxgroup.fr:3306;dbname=champard_tarot;charset=utf8', 'xxxxxx', 'xxxxxx');
    						}
    						catch (Exception $e)
    						{
    							die('Erreur : ' . $e->getMessage());
    						}
    								$reponse = $bdd->query('SELECT  licence, nom, serie, indice  FROM joueurs where licence = 1005586');
    								while ($donnees = $reponse->fetch())
    								{
    									?>
     
    									<?php echo $donnees['nom']; ?>  est   <?php echo $donnees['serie']; ?> son indice est de  <?php echo $donnees['indice']; ?><br/>
    									<?php $indice_2 = $donnees['indice'];	?>
    														<?php $joueur_2 = $donnees['nom'];	?>
    									<?php
    								}
    										$reponse->closeCursor();		
    					?>		
    					<?php
    						try
    						{
    							// acces a la base de données
    							$bdd = new PDO('mysql:host=sql-01.proxgroup.fr:3306;dbname=champard_tarot;charset=utf8', 'xxxxxx', 'xxxxxx');
    						}
    						catch (Exception $e)
    						{
    							die('Erreur : ' . $e->getMessage());
    						}
    								$reponse = $bdd->query('SELECT  licence, nom, serie, indice  FROM joueurs where licence = 2006635');
    								while ($donnees = $reponse->fetch())
    								{
    									?>
     
    									<?php echo $donnees['nom']; ?>  est   <?php echo $donnees['serie']; ?> son indice est de  <?php echo $donnees['indice']; ?><br/>
    									<?php $indice_3 = $donnees['indice'];	?>
    														<?php $joueur_3 = $donnees['nom'];	?>
    									<?php
    								}
    										$reponse->closeCursor();		
    					?>		
    					<?php
    						try
    						{
    							// acces a la base de données
    							$bdd = new PDO('mysql:host=sql-01.proxgroup.fr:3306;dbname=champard_tarot;charset=utf8', 'xxxxxx', 'xxxxxx');
    						}
    						catch (Exception $e)
    						{
    							die('Erreur : ' . $e->getMessage());
    						}
    								$reponse = $bdd->query('SELECT  licence, nom, serie, indice  FROM joueurs where licence = 1001619');
    								while ($donnees = $reponse->fetch())
    								{
    									?>
     
    									<?php echo $donnees['nom']; ?>  est   <?php echo $donnees['serie']; ?> son indice est de  <?php echo $donnees['indice']; ?><br/>
    									<?php $indice_4 = $donnees['indice'];	?>
    														<?php $joueur_4 = $donnees['nom'];	?>
    									<?php
    								}
    										$reponse->closeCursor();		
    					?>		
    				</article>
    				<article>
    		<br/>l'indice total de la triplette  <?php echo $joueur_1, $joueur_2, $joueur_3 ?>	 est de <?php $triplette = $indice_1 + $indice_2 + $indice_3 ;	?>			<?php echo $triplette; ?>
     
    	<?php   if ($triplette >68 )		echo 'cette triplette peut jouer en d1';?>		<br/>	<?php
    	if ($triplette >21 &&  $triplette <67)		echo 'cette triplette  peut jouer  en d2 et d1';?>		<br/>	<?php
     
    	if ($triplette >14 &&  $triplette <20)		echo 'cette triplette peut jouer en d3 et en d2 et d1';?>		<br/>	<?php
     
    if ($triplette <15 )		echo 'cette triplette peut jouer en d3';
     
    	?>		<br/>
    			</article>
    			<article>
     
    	<br/>l'indice total de la quadrette  <?php echo $joueur_1, $joueur_2, $joueur_3, joueur_4 ?>	 est de <?php $quadrette = $indice_1 + $indice_2 + $indice_3 + $indice_4  ;	?>			<?php echo $quadrette; ?>
     
    	<?php   if ($quadrette >73 )		echo 'la quadrette peut jouer en d1';?>		<br/>	<?php
    	if ($quadrette >26 &&  $quadrette <74)		echo 'la quadrette peut jouer  en d2 et d1';?>		<br/>	<?php
     
    	if ($quadrette >20 &&  $quadrette <27)		echo 'la quadrette peut jouer en d3 et en d2 et d1';?>		<br/>	<?php
     
    if ($quadrette <21 )		echo 'la quadrette peut jouer en d3';
     
    	?>	<br/>
    	</article>
    <article>
     
     
    				<H2>CALCULEZ un autre indice</H2><p>
    			<form action="joueurs2.php" method="post" enctype="multipart/form-data">
    			   <p>
    					<label for="pseudo">joueur_1:</label>
    					<input type="number" name="joueur_1" id="pseudo" />       
    					<label for="pseudo">joueur_2:</label>
    					<input type="number" name="joueur_2" id="pseudo" /><br/>
    					<label for="pseudo">joueur_3:</label>
    					<input type="number" name="joueur_3" id="pseudo" />
    					<label for="pseudo">joueur_4:</label>
    					<input type="number" name="joueur_4" id="pseudo" /><br/>
    					<input type="submit" value="Envoyer">  
    				</p>								
     
    	</article>
    			</aside>
     
    	</body>
    <?php include ($_SERVER["DOCUMENT_ROOT"].'/footer.php'); ?>
    </html>
    en fait dans l'aside je recherche d'apres des numeros de licence. j'aimerais remplager ces numeros par des champs de formulaire

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

Discussions similaires

  1. [PDO] Aide requête SQL dans une page web
    Par Marion_slr dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 06/03/2020, 18h27
  2. [MySQL] Affichage résultat requête SQL dans page HTML comme un tableau
    Par joxbl dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 14/03/2011, 14h26
  3. afficher résultat d'une requête dans page web(ici jsp)
    Par troussepoil dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 14/06/2009, 12h18
  4. Problème requête SQL dans page ASP
    Par rocs dans le forum ASP
    Réponses: 14
    Dernier message: 26/07/2005, 15h38

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