Requete sql avec une variable

Fermé
nicoco - 9 oct. 2009 à 07:51
 nicoco - 13 oct. 2009 à 07:49
Bonjour,
je fais appel à vous car j'ai atteint mes limites dans la recherche d'erreur dans mon code php sql

j'ai une 1er page ou il y a une liste déroulante renseignée par une base de donnée.
cette liste déroulante s'appui sur l'ID

<form methode="post" action="traitement.php">
<select size=1 name="nom" id="nom">
<option value="choix">choix de la personne<option>
<option value="106">nom prénom</option>

Lorsque l'utilisateur sélectionne un champs dans le liste déroulante et click sur OK je veux que la 2eme page de traitement (traitement.php) récupère l'ID et utilise cette valeur pour créer la requete qui recupère les données corespondantes a la personne séléctionné dans la liste.

<?php
//déclaration des variables--récupération du formulaire----------------
$id=$_POST['nom'];
//---------------------------------------------------
// Connexion la base de données--------------------
<?php
// Connexion la base de données--------------------
$connexion= mysql_connect("", "", "");

//selection de la base-------------------------------
mysql_select_db("toto");

$req=mysql_query(SELECT*FROM personne WHERE id="$id");

j'ai l'impression que ma variable prend bien la valeur de mon ID mais que cette valeur n'est pas utiliser dans la requête, pour le moment j'ai une page blanche qui s'affiche
je dois bien sur créer un boucle pour l'affichage, mais mon problème est pour le moment sur comment utilisé ma variable dans ma requete??

merci d'avance
Nico

3 réponses

Bonjour

En effet, tu as un problème avec la variable nom
Si tu vois http...?nom=108 c'est que la variable est transmise par la méthode GET et non pas la méthode POST. Donc la variable $_POST['nom'] ne récupère rien du tout.
Ça vient du fait que dans le formulaire que tu donnes dans ton 1er message, tu as un "e" en trop à "method" : tu as écrit methode="post". Du coup, le formulaire est envoyé en GET (c'est la valeur par défaut quand method n'est pas défini).
Enlève le "e", pour passer au prochain épisode :)
4
merci mec je suis un bob boulet lol!!!
j'ai encore un peu de taf je vais essayé de faire la suite tous seul je ferme pas encore sujet

merci encore
0
Bonjour

$req=mysql_query(SELECT*FROM personne WHERE id="$id");
Cette ligne est incorrecte. Le paramètre de mysql_query devrait être une chaîne, et ton SELECT etc... sans guillemets, n'est pas une chaîne, c'est une erreur de syntaxe.
$req=mysql_query("SELECT * FROM personne WHERE id='$id'"); avec des espaces, des ' et des " aux bons endroits, devrait mieux marcher.
J'espère aussi que tu as ms les bonnes valeurs dans $connexion= mysql_connect("", "", ""); et qu'il n'y a pas d'autres erreurs
1
salut merci pour l'info mais le code ne fonctionne toujours pas.
Pour les paramètres de connexion pas de problème car j'ai d'autre requêtes sur d'autre page qui fonctionne très bien.
J'ai un gros doute sur la valeur de ma variable nom
A partir de mon formulaire avec ma liste déroulante, lorsque je click OK pour valider j'obtiens une page blanche vide de code avec dans la barre d'adresse, le chemin de ma page et la valeur de ma variable que je souhaite utilisé:
http://localhost:8888/toto/site1/traitementaffichage.php?nom=108 ici

formulaire:
form methode="post" action="traitementaffichage.php">
<select size=1 name="nom" id="nom">
<option value="choix">choix de la personne<option>
<option value="108">nom prenom</option>

raitementaffichage.php
je récupère la valeur de name
$id=$_POST['nom'];

ensuite je lance la requète
$req=mysql_query("SELECT*FROM salaires WHERE id='$id'");

boucle d'affichage
while ($donnees = mysql_fetch_array($req) )
{
?>
<p class="toto">
<?php echo $donnees['nom']; ?>  <?php echo $donnees['prenom']; ?><br />
</p>
<?php
}
mysql_close(); // Déconnexion de MySQL
?>
1

Discussions similaires