Aller au contenu

liste deroulante


bouzrara

Sujets conseillés

<html>
<body>
<?php
$cn=mssql_connect("localhost","noura","nounou");
if(!$cn)
{echo "erreur";
exit;}
$db=mssql_select_db("northwind",$cn);
if(!$db)
{echo "erreur d' acce ala base ";
exit;}
echo "<FORM METHOD = \"POST\" name=\"select_cat\">";

echo "<SELECT NAME ='categoryid'>";
// selection de la liste produit de la categorie dans la base
$req = "SELECT categoryid, categoryname FROM categories ORDER BY categoryid";
$res = mssql_query($req,$cn);
// affiche la selection
while ($rep = mssql_fetch_object($res))
{
// garde le focus sur le select
if($_POST['categoryid1']==$rep->categoryname)
{

$selectopt=" selected";
}
else
{
$selectopt="";
}
echo "<option value=".$rep->categoryid.$selectopt.">".$rep->categoryname."</option>\n";
}
echo "</SELECT>";
//echo "<INPUT TYPE ='submit' VALUE='Afficher'>";
if($_POST['categoryid'])
{echo $_POST['categoryid'];}
//echo "</FORM>";
?>
</body>
</html>

ce code permet l' affichage d' une liste des category de la base northwind concue sous sql server , je veux recuperer

la valeur selectionné de la liste or l' erreur suivant apparait

l'erreur:

Notice: Undefined index: categoryid in d:\program files\easyphp1-7\www\liste2.php on line 35

--->$_POST[''categoryid'] n' est pas connue

Lien vers le commentaire
Partager sur d’autres sites

Tout simplement parce que le formulaire qui envoie les données n'a pas:

- soit la méthode "post" (par défaut la méthode est "get" si elle n'est pas précisée)

- soit la variable "categoryid" définie

Vérifies ces deux points ;)

Tu as une variable $_POST['categoryid1'] dans le programme à la ligne:

if($_POST['categoryid1']==$rep->categoryname)

Dan

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...