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 :

$_GET dans une requête SQL [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 121
    Par défaut $_GET dans une requête SQL
    Bonjour,

    Je reste bloqué sur un ma requête sql...
    Voici ce que je veux faire...
    J'ai une liste déroulante à relier à un champ de ma table:

    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
     
    $sql = "SELECT DISTINCT Name FROM  bts_family";
       $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
    ?>
    <script language="javascript">
    function send($nom){
    window.location.href="pourcentage1.php?nom="+$nom;
    }
    </script>
     
    <b>Choisissez un Nom:</b>
    <select name="name_bts" style="background-color:white;color:black;" onchange="send(this.options[this.selectedIndex].value);">
    <option>S&eacute;lectionnez</option> 
    <?php
    while ($data = mysql_fetch_array($req)) {
    	?>
     
    <option value="<?php echo $data['Name'];?>">
    <?php echo $data['Name'];?>
    </option>
    Quand on clique, je veux que ça renvoie le nom sélectionné dans la liste déroulée sur une autre page:

    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
     
    if(isset($_GET['nom'])){
    $ns =$_GET['nom'];
      echo $ns;
     
     
    $sql =
    'SELECT
          Release_gsm 												AS "Release GSM"
    	  , Sub_release_gsm											AS "Sub Release"
    	  , SUM("'".$ns."'") 											AS "BSC Qty"
    	  , FORMAT(100*SUM("'".$ns."'")/(SELECT SUM("'".$ns."'") FROM customer), 1) AS Pourcentage
     
    FROM
    	customer
    WHERE
    	network_status = "active"			 				        -- réseau actif
    	AND NOT Release_gsm = "/"
    GROUP BY
     	Release_gsm, Sub_release_gsm
    --  WITH ROLLUP
    ';
    Mais ça me génère une erreur, et je ne comprends pas pourquoi. Puis-je avoir votre aide ?

    Ai-je mal créé ma variable ? Eclairez-moi si vous pouvez, merci

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 059
    Par défaut
    Bonjour,

    Pouvez-vous nous indiquer ce que dit le message d'erreur ? Ca nous permettra de vous aider plus efficacement.
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 121
    Par défaut
    mon messae d'erreur est le suivant:

    Parse error: parse error in C:\xampp\htdocs\jpgraph\pourcentage1.php on line 26
    voici mon programme :
    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
    <?php 
    if(isset($_GET['nom'])){
    $ns =$_GET['nom'];
      echo $ns;
    } 
    // Connexion au serveur de base de données
      $link = mysql_connect("127.0.0.1","root","");
      if (!$link) 
      {
        die('Connexion impossible : ' . mysql_error());
      }
      //echo 'Connecté correctement';
     
      // Sélection de la base de données
      $db_selected = mysql_select_db('npidb',$link);
      if (!$db_selected) 
      {
         die ('Impossible de sélectionner la base de données : ' . mysql_error());
      }
      // On va chercher les enregistrements disponibles   
     
      $sql =
    'SELECT
          Release_gsm 												AS "Release GSM"
    	  , Sub_release_gsm											AS "Sub Release"
    	  , SUM("'".$ns."'") 											AS "BSC Qty"
    	  , FORMAT(100*SUM("'".$ns."'")/(SELECT SUM("'".$ns."'") FROM customer), 1) AS Pourcentage
    FROM
    	customer
    WHERE
    	network_status = "active"			 				        -- réseau actif
    	AND NOT Release_gsm = "/"
    GROUP BY
     	Release_gsm, Sub_release_gsm
    --  WITH ROLLUP
    '
    ;
      $result = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
      // On affiche le contenu si la table n'est pas vide
      if (mysql_num_rows($result) > 0) 
      {
         //echo '<br />';
    	 while ($donnees = mysql_fetch_assoc($result))
    	 {
         	//echo $donnees['datation'].' '.$donnees['type'].' '.$donnees['valeur'].'<br />';
    		$data[] = $donnees['Pourcentage'];
     
    		//echo $data1y.'<br />';
    	 }
      } 
    // content="text/plain; charset=utf-8"
    require_once ('jpgraph.php');
    require_once ('jpgraph_pie.php');
    require_once ('jpgraph_pie3d.php');
     
     
    //$gJpgBrandTiming=true;
     
    // Some data
    //$data = array(40,21,17,27,23);
     
    // Create the Pie Graph. 
    $graph = new PieGraph(600,400,'auto');
    $graph->SetShadow();
     
    // Set A title for the plot
    $graph->title->Set("3D Pie Client side image map");
    $graph->title->SetFont(FF_FONT1,FS_BOLD);
     
    // Create
    $p1 = new PiePlot3D($data);
    $p1->SetLegends(array("Jan (%d)","Feb","Mar","Apr","May","Jun","Jul"));
    $targ=array("pie3d_csimex1.php?v=1","pie3d_csimex1.php?v=2","pie3d_csimex1.php?v=3",
    			"pie3d_csimex1.php?v=4","pie3d_csimex1.php?v=5","pie3d_csimex1.php?v=6");
    $alts=array("val=%d","val=%d","val=%d","val=%d","val=%d","val=%d");
    $p1->SetCSIMTargets($targ,$alts);
     
    // Use absolute labels
    $p1->SetLabelType(1);
    $p1->value->SetFormat("%d kr");
     
    // Move the pie slightly to the left
    $p1->SetCenter(0.4,0.5);
     
    $graph->Add($p1);
     
     
    // Send back the HTML page which will call this script again
    // to retrieve the image.
    $graph->StrokeCSIM();
    ?>

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 051
    Par défaut
    Le message semble clair. Ligne 26 tu as ceci :
    , SUM("'".$ns."'")
    Alors que tu commences ta chaîne avec une simple quote, comment tu peux ensuite faire "'" ?

    Tu peux pas simplement inverser et faire :
    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
    <?php
    "SELECT
          Release_gsm 												AS 'Release GSM'
    	  , Sub_release_gsm											AS 'Sub Release'
    	  , SUM('".$ns."') 											AS 'BSC Qty'
    	  , FORMAT(100*SUM('".$ns."')/(SELECT SUM('".$ns."') FROM customer), 1) AS Pourcentage
    FROM
    	customer
    WHERE
    	network_status = 'active'			 				        -- réseau actif
    	AND NOT Release_gsm = '/'
    GROUP BY
     	Release_gsm, Sub_release_gsm
    --  WITH ROLLUP
    "
    ;

  5. #5
    Membre confirmé
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2013
    Messages : 121
    Par défaut
    mais même quand je fais ainsi, ça ne fonctionne pas, c'est toujours la même erreur !!!
    c'est du a quoi ?

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Par défaut
    désolé de la qualité de mon intervention, mais es tu sur d'avoir vraiment changé la requête avec la sienne? l'erreur est toujours a la ligne 26? passes tu bien dans ton premier if?

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

Discussions similaires

  1. [MySQL] Erreur dans une requête sql
    Par Goundy dans le forum PHP & Base de données
    Réponses: 37
    Dernier message: 30/01/2006, 16h08
  2. [SQL] Récupérer des variables de formulaire dans une requête SQL
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/11/2005, 18h44
  3. Plusieurs jointures dans une requête sql
    Par Pero dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/09/2005, 20h59
  4. Nom de champ variable dans une requête SQL
    Par stip dans le forum ASP
    Réponses: 2
    Dernier message: 30/09/2004, 18h02
  5. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38

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