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

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
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
avion-f16 Messages postés 20367 Statut Contributeur 4 509
 
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
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
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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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