Afficher données à partir d'un choix ds menu déroulant

Signaler
Messages postés
121
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
5 mars 2007
-
Messages postés
121
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
5 mars 2007
-
Je dispose d'une BDD mysql avec plusieurs enregistrements et d'une page php (page.php) qui contient un menu déroulant
Comment afficher dans une nouvelle page les données en fonction du choix effectué dans ma liste déroulante

Merci de votre réponse

5 réponses

Messages postés
93
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
9 décembre 2007
1
<?
/////////////////////////////////////////////////////////
//partie qui renvoi le resultat du formulaire....
////////////////////////////////////////////////////////
if($form=="Envoyer"){
//on se connecte a ta base
$connection=mysql_pconnect("localhost","test","") or die('a marche pô le serveur'); 
$db = mysql_select_db("test", $connection) or die ("a marche pô la base");
//on bosse sur la table ma_table
$requete="select id,nom from ma_table where type='$choix'";
//et on renvoi tout ca
$result = mysql_query($requete);
$nblignes = mysql_numrows($result);
echo "liste des champs dont le type est $choix"
for ($i=0;$i<$nblignes;$i=$i+1) {

$id =  mysql_result($result,$i,"id");
$nom =  mysql_result($result,$i,"nom");

echo "$id;$nom
";

}
}else{
/////////////////////////////////////////////////////////
//partie qui renvoi le formulaire....
////////////////////////////////////////////////////////
echo "
<html>
<head>
</head>

<FORM ACTION="page.php" METHOD="post">
<select name="choix">
<option value="1">type 1</option>
<option value="2">type 2</option>
<option value="3">type 3</option>
<option value="4">type 4</option>
</select>

</form>

</html>";
}
?>


voila en esperant que tu comprenne tout!!!..

Emailing-Online est en cour de réalisation, mais vous pouvez quand meme regarder et tester.
Messages postés
121
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
5 mars 2007

je te remercie, j'étudie tout ça et je repost si j'ai un pb.
C super sympa !!
Messages postés
121
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
5 mars 2007

Je précise ma démarche :
Ma page formulaire (essai.php) contient le code suivant :

//////////////////////////////////////////////////////////
<?php
require_once("connexion.php");
$req=mysql_query("select * from recette order by 'titre' asc");
$result=mysql_fetch_array($req);
?>

<FORM ACTION="test.php" METHOD="post">
<select name="choix" id="titre" onChange="this.form.submit()">
<?php do {?>
<option value="<?php echo $result['id'] ?>"><?php echo $result['titre'];?></option>
<?php } while ($result=mysql_fetch_array($req));?>
</select>
</form>

<?php
// on ferme la connexion à mysql
mysql_close();
?>
//////////////////////////////////////////////////////////
Je créé mon formulaire en allant chercher les champs "titre" dans la BDD. Ca m'affiche correctement la liste des recettes par titre, avec en "value" l'id de la recette. Je fais un choix et la page "test.php" se charge automatiquement grâce à "OnChange".

SUr ma page test :
//////////////////////////////////////////////////////////
<?php
if($form=="Envoyer")
{

//on se connecte a ta base
require_once("connexion.php");

//on bosse sur la table recette
$requete="select * from recette where titre='$choix'";

//et on renvoi tout ca
$result = mysql_query($requete);
$nblignes = mysql_numrows($result);
echo "liste des champs dont le type est $choix"
for ($i=0;$i<$nblignes;$i=$i+1)
{

$id = mysql_result($result,$i,"id");
$titre = mysql_result($result,$i,"titre");

echo "$id;$titre
";

}
}else{

echo "ça marche pas";
}
?>
//////////////////////////////////////////////////////////
ds la requête je vais chercher tout pour le titre "$choix" et j'affiche les résultats pour $id et $titre (ou pour tout le reste).
Malheureusement j'ai un message d'erreur du type :

Parse error: parse error, unexpected T_FOR, expecting ',' or ';' in /home/lpf/www/test1.php on line 14

ce qui correspond à la ligne:

for ($i=0;$i<$nblignes;$i=$i+1)

Et là, evidemment, je ne comprends pas.
J'espère que ma démarche est bonne.
Pour imager, consulte les pages http://www.lapatisseriefacile.com/essai.php et http://www.lapatisseriefacile.com/test.php

merci de ta réponse
Messages postés
121
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
5 mars 2007

COncernant la parse_error T_for, c'est réglé. Il manquait le ; à la fin des lignes suivantes :

echo "liste des champs dont le type est $choix"
for ($i=0;$i<$nblignes;$i=$i+1)

Ca me renvoit pas les données mais la ligne echo ("ca marche pas")
Help !!
Messages postés
121
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
5 mars 2007

C tout ok !
Merci beaucoup pour ton code.
Ca fonctionne à merveille !