Liste déroulante dynamique [Résolu]

Messages postés
68
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
1 décembre 2012
- - Dernière réponse : ecolom
Messages postés
68
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
1 décembre 2012
- 27 févr. 2008 à 13:33
Bonjour à tous,

Ce code ci-dessous fonctionne correctement quand j'appelle le script php.



<select>
   <?php
$servername = 'localhost';
$userid = 'root';
$pws = '';
$liendb = mysql_connect($servername,$userid,$pws);
mysql_select_db ("gestion_it"); 
  
$SQL = "SELECT materiel FROM materiel";
$res = mysql_query($SQL);
while($val=mysql_fetch_array($res)) {
   echo "<option>".$val["materiel"]."</option>\n";
}
?>
   </select> 

Par contre quand je prends le même script php et que je l'adapte dans une page html. Désastre, j'ai le menu déroulant mais plus de données.
Y a t-il une particularité pour que le code php soit pris en compte dans l'exécution de ma page html.

<html>


<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Nouvelle page 1</title>
</head>



<select>
   <?php
$servername = 'localhost';
$userid = 'root';
$pws = '';
$liendb = mysql_connect($servername,$userid,$pws);
mysql_select_db ("gestion_it"); 
  
$SQL = "SELECT materiel FROM materiel";
$res = mysql_query($SQL);
while($val=mysql_fetch_array($res)) {
   echo "<option>".$val["materiel"]."</option>\n";
}
?>
   </select> 


</html>

Toutes les idées sont les bienvenues car cela fait déjà deux jours que j'ai sortis mes grandes rames pour trouver le pourquoi du comment.
Merci à tous
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
3
Merci
Si tu ne ets pas de name au select aussi, ça ne va pas aider ^^

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 194 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Evangun
Messages postés
68
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
1 décembre 2012
3
Merci
Merci Evangun.


<select name="materiel">

ça sonne tout de suite mieux.
Et bien maintenant je vais pouvoir avancer dans mon code.

Génial et un grand merci.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 194 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ecolom
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
0
Merci
Non mais attends... me dis pas que t'as mis une extension .html à ton fichier .php...
Commenter la réponse de Evangun
Messages postés
68
Date d'inscription
vendredi 4 juin 2004
Statut
Membre
Dernière intervention
1 décembre 2012
0
Merci
EUh.....et oui..novice quand tu nous tiens..
Effectivement, depuis que j'ai changé l'extension, la liste déroulante est bien alimentée avec les datas de la DB.
Je suis en fait parti d'une page HTML qui fait appel à une page PHP pour mettre à jour les données. Je regrettais de ne pas avoir des listes déroulantes....ce qui m'a obligé à ajouter du code php dans ma page..le reste tu le connais.
Par contre, je ne suis pas plus heureux pour autant...
Voici un morceau de mon code avec une zone texte html  ( imputation ) et ma liste déroulante php ( materiel). + l'appel d'un autre fichier *.php
Avant, j'utilisais name="materiel" et le fichier ticket_enregistre.php effectuait une maj dans la db sql.
Depuis l'adaptation en php, la variable materiel n'est plus active et la maj ne fonctionne plus.
------------------------------------------------------------------------------
Premier fichier:
<form action ="ticket_enregistre.php" method = "post ">
<!-- Imputation -->

 Imputation&nbsp;

 

 


<!-- materiel -->

 Matériel

 

  <select>
  <?php
     include("param.inc.php");
       $liendb = mysql_connect($host,$user,$pws);
       mysql_select_db ($database); 
       $SQL = "SELECT materiel FROM materiel";
       $res = mysql_query($SQL);
     while($val=mysql_fetch_array($res)) {
     echo "<option>".$val["materiel"]."</option>\n";
    }
  ?>
  </select> 


-------------------------------------------------------------------------------
Second fichier : ticket_enregistre.php
<?php
if (empty($_REQUEST['nom']) ||
    empty($_REQUEST['tel'])  || empty($_REQUEST['service']) ||
 empty($_REQUEST['localisation'])  || empty($_REQUEST['imputation']) ||
 empty($_REQUEST['materiel'])  || empty($_REQUEST['idmateriel']) ||
 empty($_REQUEST['detail'])  || empty($_REQUEST['level']))
die("ERREUR : Tous les champs doivent être remplis.");


$liendb = mysql_connect("localhost","root","");
mysql_select_db ("Gestion_IT");
$sql = "INSERT INTO ticket (dateticket, nom, tel, service, localisation, imputation, materiel, idmateriel, detail, level)
VALUES ('".$_REQUEST['dateticket']."', '".$_REQUEST['nom']."', '"
.$_REQUEST['tel']."', '".$_REQUEST['service']."','"
.$_REQUEST['localisation']."', '".$_REQUEST['imputation']."','"
.$_REQUEST['materiel']."', '".$_REQUEST['idmateriel']."','"
.$_REQUEST['detail']."', '".$_REQUEST['level']."')";


if (mysql_query($sql) !=false)
     print("ticket < ".$_request['nom']." > enregistré.");
  else
    print("Echec lors de la création de la demande.");
mysql_close($liendb);
?>
------------------------------------------------------------------------------
Dans la zone .$_REQUEST['materiel'] la variable n'est plus active ce qu'il fait que la maj dans la db est down.
Comment faire pour de nouveau savoir mettre à jour la db ?
Une idée ????
Merci
Commenter la réponse de ecolom