Recup SQL vers Variable

Bonsoir,
Je n'ai pas réussis à trouver la syntaxe pour récupérer un nombre qui se trouve dans ma table SQL, et l'attribuer à une variable.

Le nom de ma table est : pays
Le nom du champ est : population
La variable dans laquelle je souhaite insérer la valeur est : $nombre

C'est la première partie cela. Ensuite je souhaiterais qu'une boucle se réalise jusqu'à être a la bonne population. Exemple.

Il y à 100 dans populations, je souhaiterais qu'un while écrive 100 fois une phrase.

5 réponses

  1. <?php
    $pdo = new PDO('mysql:host=localhost;dbname=db_name','root','');
    
    $sql = 'SELECT population FROM pays';
    $req = $pdo->query($sql);
    $req->setFetchMode(PDO::FETCH_OBJ);
    
    while($pays = $req->fetch()) {
        $nombre = $pays->population;
    }
    $req->closeCursor();
    ?>
    La variable $nombre n'est valable que dans la boucle while.
    1. Merci, j'aurais une question, y a moyen que le WHERE d'une requete SQL provienne d'un variable qui aurait été initialiser au préalable?

      Merci d'avance
      1. Oui.
        $sql = 'SELECT population FROM pays WHERE champ = '.$pdo->quote($variable);
        1. Merci, jusque la, c'est super !

          Encore une question, je souhaite, que les gens puissent choisir par bouton radio, comment les classer j'ai donc essayer ça :

          	
          <label>Nom</label><input type="radio" name="classement" value="pays_nom" id="classement"/>
          
                  <br />
          	
          	<label>Densité</label><input type="radio" name="classement" value="densite_pays" id="classement"/>
          
                  <br />
          	
          	<label>Capitale</label><input type="radio" name="classement" value="pays_capitale" id="classement"/>
          
                  <br />
          
                  <input type="submit" value="Envoyer" />
          
          <?php
          
          
          
          try
          
          {
          
          	// On se connecte à MySQL
          
          	$bdd = new PDO('mysql:host=127.0.0.1; dbname=reda', 'admin', 'puce0123');
          
          }
          
          catch(Exception $e)
          
          {
          
          	// En cas d'erreur, on affiche un message et on arrête tout
          
                  die('Erreur : '.$e->getMessage());
          
          }
          
          $classement = $_POST['classement'];				
          echo $classement;
          
          $reponse = $bdd->query('SELECT * FROM pays WHERE id_membre = '.$bdd->quote($id_membre).' ORDER BY '.$bdd->quote($classement).' ASC');
          
          while ($donnees = $reponse->fetch())
          
          


          Mais y ne classe pas :/

          Le id_membre, avec un champ texte passe, mais les boutons radio non, si vous avez une solution?

          Merci
          1. Pour tes boutons "radio", un ID doit être unique dans une page HTML (utilise plutôt class).

            Pour ta requête SQL, essaye en précisant manuellement le champ dans "ORDER BY".