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

arnold002 Messages postés 121 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 5 mars 2007 - 27 oct. 2004 à 17:12
arnold002 Messages postés 121 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 5 mars 2007 - 27 oct. 2004 à 21:54
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

cs_nlh Messages postés 93 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 9 décembre 2007 1
27 oct. 2004 à 18:31
<?
/////////////////////////////////////////////////////////
//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.
0
arnold002 Messages postés 121 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 5 mars 2007
27 oct. 2004 à 18:34
je te remercie, j'étudie tout ça et je repost si j'ai un pb.
C super sympa !!
0
arnold002 Messages postés 121 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 5 mars 2007
27 oct. 2004 à 19:19
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
0
arnold002 Messages postés 121 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 5 mars 2007
27 oct. 2004 à 20:26
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 !!
0

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

Posez votre question
arnold002 Messages postés 121 Date d'inscription mercredi 27 octobre 2004 Statut Membre Dernière intervention 5 mars 2007
27 oct. 2004 à 21:54
C tout ok !
Merci beaucoup pour ton code.
Ca fonctionne à merveille !
0
Rejoignez-nous