Ajout automatique dans une liste déroulante

monsieur -  
 monsieur -
bonjour vous aller bien j'espères . J'ai un problème je veux créer une liste déroulante qui est relier a une table de ma base de donnée. c'est a dire , qu'a partir d'un formulaire les internautes peuvent s'inscrit sur mon site , une fois inscris ( et donc que leur nom est dans ma table ) je voudrais que leur nom s'ajoute automatiquement dans le liste déroulante.Je sais que le code pour sa est simple mais j'arrive pas a le faire, je suis parti sur ce bout de code mais cela ne fonctionne pas.

<?php

//Recuperation de la liste des unites SAE
$société = $_POST['société']
$sql = "SELECT société
FROM infoclient
where société= "'.$_POST[société].'"";
$resultat = mysql_query($sql) or die(mysql_error());

// Alimentation de la liste deroulante
while($ligne = mysql_fetch_array($resultat))
{
$option = $société['société'];
$idoption = $société['Société'];
echo '<option value="'.$idoption.'">'.$option.'</option>';
}
?>
<option value="$société">Autre</option>
</select>
Si vous avez une idée de code je suis prenant ! merci pour votre intention .

5 réponses

  1. Pseudo
     
    Tu as oublié d'ouvrir ton <select>
    Et un ;
    Et ton code est extrêmement vulnérable aux attaque par injection SQL.
    Utilise un éditeur de texte dédié à la prog' comme PSPad pour bénéficier de la coloration de la syntaxe qui t'aidera à débusquer ces problèmes.
    0
    1. Pseudo
       
      J'ai oublié de préciser, tu as oublié un ; sur la troisième ligne.

      Et aussi utilise des caractères accentués dans une base MySQL c'est du masochisme pur, si ça marche toujours pas essaye de ce coté.
      0
  2. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Salut,

    Le code que tu présentes est loin d'être ce que tu désires.
    La requête SQL récupère le nom de la société des clients dont la société est $_POST['société'].

    Essaie plutôt avec ceci :
    <?php
    mysql_connect('...','...','...');
    mysql_select_db('...');
    
    $sql = 'SELECT id, nick, firstname, UPPER(lastname) FROM users ORDER BY lastname';
    $req = mysql_query($sql);
    
    while($user = mysql_fetch_assoc($req)) {
        $nickname = $user['nick'];
        $lastname = $user['lastname'];
        $firstname = $user['firstname'];
        $id = $user['id'];
    
        echo '<option value="'.$id.'">'.$lastname.' '.$firstname.' ('.$nickname.')</option>';
    }
    
    mysql_close();
    ?>


    Ce code génèrera une liste sous la forme « NOM Prénom (pseudo) » des utilisateurs (table users) dans les colonnes sont les suivantes :
    - id : Identifiant unique de l'utilisateur (souvent un nombre entier)
    - nick : Pseudonyme de l'utilisateur
    - lastname : Nom de famille de l'utilisateur
    - firstname : Prénom de l'utilisateur
    0
  3. monsieur
     
    merci avion-f16 , mais le code fonctionne toujours pas , je sais pas pourquoi pourtant sa a l'air d'être bon

    <form method="post" action="visuaetsup.php">
    <fieldset>
    <legend> VOIR UN CLIENT </legend>
    <select name="societe" id="societe">
    <?php
    mysql_connect('localhost','root','');
    mysql_select_db('telephonie');

    $sql = 'SELECT societe FROM infoclient ORDER BY ';
    $req = mysql_query($sql);

    while($user = mysql_fetch_assoc($req)) {
    $societe = $_POST['societe'];

    echo '<option value="'.$societe.'">'.$societe.'</option>';
    }

    mysql_close();
    ?>
    </select>
    <input type="submit" value="valider">

    <INPUT type="button" value="Précedent" onclick="history.back ()">

    </form>
    </fieldset>

    </form>

    </fieldset>

    </form>

    je suis perdu :/
    0
    1. vordano Messages postés 1981 Statut Membre 316
       
      while($user = mysql_fetch_assoc($req)) {
      $societe = $_POST['societe'];
      
      
      echo '<option value="'.$societe.'">'.$societe.'</option>';
      } 

      dis moi, y'aurais pas un problème là ? où est ce que tu utilise les données qui sont placé dans $user ? :)
      0
  4. monsieur
     
    lool oui c'est vrai il y a un problème mais même en utilisant user cela ne fonctionne toujours pas .Je commence a croire que le problème viens de la base de donnée.
    0
    1. Pseudo
       
      Je pense que tu as beaucoup trop de lacunes concernant les bases de la programmation, refait des tutos pour débutant avant de t'attaquer à des choses plus avancé. En attendant :
      -Ta requêtes est fausse, ton ORDER BY n'a pas de valeur précisé, soit tu le vire, soit tu précise un champs.
      -Le fetch_assoc te crée un array, si tu veux récupérer les valeur de ta variable $user il faut faire $user['societe']
      -Dans ton premier message tu parle d'insérer des donnés, à aucun moment tu ne le fais là. Encore une fois je pense qu'il y a confusion au niveau des bases. D'une manière générale je pense qu'il y a un gros décalage entre ce que tu veux faire et ce que le code que tu as écrit fera une fois corrigé.
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. monsieur
     
    oui c'est vrai j'ai des lacune c'est pour cela que je suis sur ce forum , mais merci comme même pour votre aide .
    0