Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1154 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Menu déroulant PHP et MySQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Menu déroulant PHP et MySQL

n°2115603
SNY7
Posté le 08-12-2011 à 16:43:50  profilanswer
 

Bonjour, je dois faire une page surlaquelle on accède à un formulaire (un champs) à compléter, ensuite on doit pouvoir afficher les dates correspondantes (à ce champs) dans un menu (elles sont dans une BDD).
J'ai donc créer le formulaire, la connexion au serveur MySQL fonctionne (je vous mets uniquement la partie PHP, il manque juste la creation du formulaire HTML surlequel on tape le numbers) :
<?php
// On récupère les valeurs de nos variables :
$numbers = $_POST['numbers'];
?>
<?php
$recherche = mysql_query("SELECT date FROM ntable WHERE numbers='$numbers'" ) ;
$result = mysql_query($recherche) ?>
 
<p> Date: <select size="1" name="date">
 
<?php
while ($row=mysql_fetch_array($result))
{
?>
<OPTION><?php echo $row[date]; ?></OPTION>
<?php
}

PS : j'ai le menu(plutôt l'erreur!) suivant (affichage de la ligne suivante plusieurs fois)
Notice: Use of undefined constant date - assumed 'date' in C:\wamp ...
 
MERCI.


Message édité par SNY7 le 08-12-2011 à 16:55:23
mood
Publicité
Posté le 08-12-2011 à 16:43:50  profilanswer
 

n°2115616
Jinseikai
Posté le 08-12-2011 à 17:21:54  profilanswer
 

<?php echo $row[date]; ?>
 
Essaies avec <?php echo $row['date']; ?>

n°2115628
SNY7
Posté le 08-12-2011 à 19:16:00  profilanswer
 

En fait, j'ai le menu(plutôt l'erreur!) suivant (affichage de la ligne suivante plusieurs fois)
Notice: Use of undefined constant date - assumed 'date' in C:\wamp ... et la date à la fin de la ligne (je veux avoir uniquement la date extraite de la BDD sans le message d'erreur!).
Merci..

n°2115688
SNY7
Posté le 09-12-2011 à 10:03:53  profilanswer
 

Jinseikai a écrit :

<?php echo $row[date]; ?>
 
Essaies avec <?php echo $row['date']; ?>


Oui c'était bien ça merci.
Maintenant que j'ai le menu déroulant, je voudrait récuperer la date choisie. J'ai rajouter un bouton envoyer et demander l'affichage de cette date :
((Dans mon formulaire HTML, j'ai déjà mis la méthode POST et la page PHP à utiliser au début de mon programme))
<p>
<INPUT type="submit" value="Envoyer">
</p>
 
<?
$date=$_POST['date'];  
?>
<p> Date <? echo $date; ?> </p>
<?

Biensur, après date: je n'ai pas la date.

n°2115807
rufo
Pas me confondre avec Lycos!
Posté le 09-12-2011 à 15:37:14  profilanswer
 

dans ta balise <option>, faut mettre un attribut "value" avec la valeur correspondant à la date..


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2115865
SNY7
Posté le 09-12-2011 à 22:10:06  profilanswer
 

Maintenant que j'ai le menu déroulant, je voudrait récupérer la date choisie (de la liste). J'ai rajouter un bouton envoyer et demander l'affichage de cette date :
((Dans mon formulaire HTML, j'ai déjà mis la méthode POST et la page PHP à utiliser au début de mon programme))

Code :
  1. <p>
  2. <INPUT type="submit" value="Envoyer">
  3. </p>
  4. // Date doit être récupérer de la liste déroulante (voir programme précèdent)
  5. <?
  6. $date=$_POST['date']; 
  7. ?>
  8. <p> Date <? echo $date; ?> </p>
  9. <?


Je voudrais donc afficher la date (pour vérifier qu'on récupère bien cette dernière afin de créer une autre requête de recherche à partir de la date).


Message édité par SNY7 le 09-12-2011 à 22:12:03
n°2115951
SNY7
Posté le 10-12-2011 à 22:25:24  profilanswer
 

personne ne peut m'aider ?

n°2115984
rufo
Pas me confondre avec Lycos!
Posté le 11-12-2011 à 10:59:06  profilanswer
 

Ben, tu lirais un ou 2 tutos sur PHP au sujet du traitement des forms et t'apprendrais le HTML, t'irais franchement plus vite... :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2116013
SNY7
Posté le 11-12-2011 à 14:39:30  profilanswer
 

Je reformule les problème :

Code :
  1. <FORM method=post action="site.php">
  2. <h3><u>Choisir la réference afin d'afficher les dates des tests réalisés : :</u></h3>
  3. <TABLE BORDER=5>
  4. <TR>
  5. <TD>Entrez la réference</TD>
  6. <TD>
  7. <INPUT type=int name="reference">
  8. </TD>
  9. </TR>
  10. <TR>
  11. <TD COLSPAN=2>
  12. <INPUT type="submit" value="Envoyer">
  13. </TD>
  14. </TR>
  15. </TABLE>
  16. </FORM>
  17. <?php
  18. // Connexion à la BDD :
  19. $db = mysql_connect('127.0.0.1', 'root', '1234');  // 1
  20. mysql_select_db('bdd',$db);
  21. ?>
  22. <?php
  23. // On récupère la valeur de la reference :
  24. $reference = $_POST['reference'];
  25. ?>
  26. <?php
  27. // On lance la requete SQL suivante afin d'afficher les dates correspondantes dans une liste déroulante aux tests réalisés :
  28. $recherche = "SELECT date FROM tableref WHERE reference='$reference'";
  29. $result = mysql_query($recherche) ?>
  30. Date: <select size="1" name="date">
  31. <?php
  32. // On affiche les dates dans une liste déroulante :
  33. while ($row=mysql_fetch_array($result))
  34. {
  35. ?>
  36. <OPTION><?php echo $row['date']; ?></OPTION>
  37. <?php
  38. }
  39. ?>
  40. <?
  41. $date=$_post['date'];
  42. ?>
  43. <? echo $date; ?>
  44. <?
  45. // On ferme la BDD :
  46. mysql_close($db);
  47. ?>


Tout fonctionne jusqu'à la ligne 46 (j'ai bien les dates correspondantes au champs reference dans une liste déroulante).
Je voudrais cependant extraire la date choisie pour exécuter une autre requête sql. Le problème est que je n'arrive pas à l'extraire (j'ai penser au bouton envoyer mais ça ne marche pas).
Merci beaucoup !!!

n°2116038
SNY7
Posté le 11-12-2011 à 20:38:27  profilanswer
 

j'ai essayer ca mais ca me donne rien (dans la liste j'ai qu'une ligne ou sont affichés toutes la dates, la condition est cepandant respectée).
Je voudrais que les dates soient affichés sur plusieurs ligne et pouvoir récuperer la date selectionnée.

Code :
  1. // On récupère les valeurs de nos variables :
  2. $dut_serialnumber = $_POST['dut_serialnumber'];
  3. ?>
  4. <?php
  5. $recherche = ("SELECT date_start FROM dut_test_data WHERE dut_serialnumber='$dut_serialnumber'" ) ;
  6. $result = mysql_query($recherche) ?>
  7. <FORM method=post action="site2.php">
  8. Date: <select size="1" name="date_start" >
  9. <OPTION><?php
  10. while ($row=mysql_fetch_array($result))
  11. {
  12. echo $row['date_start'];} ?>
  13. </OPTION>
  14. </select>
  15. <INPUT type="submit" value="Envoyer2">
  16. </FORM>


Merci beaucoup de votre aide !!!

mood
Publicité
Posté le 11-12-2011 à 20:38:27  profilanswer
 

n°2116078
rufo
Pas me confondre avec Lycos!
Posté le 12-12-2011 à 09:40:50  profilanswer
 

Voir mon précédent post. Tu ne comprends manifestement pas comment marche ton script php avec ce qui est exécuté côté client et côté serveur...
 
ex :
ligne 7 (de ton précédent post) : <INPUT type=int name="reference">
int n'est pas un type pour un champ input. Solution : apprendre le html
 
ligne 46 (de ton précédent post) : comment espères-tu récupérer une valeur d'un form qui n'a pas encore été posté au serveur :??:
 
ligne 2 : dans quel form as-tu déclaré le champ dut_serialnumber :??:
 
Donc lis des tutos et apprends le html/js/php/sql. Tu verras que tu vas gagner du temps. Tu ne rameras plus pour faire des choses aussi basiques.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2116080
SNY7
Posté le 12-12-2011 à 09:46:10  profilanswer
 

N'empêche que ça fonctionne avec int, et si tu ne veut pas répondre ne réponds pas, personne t'obliges surtout si c'est pour raconter n'importe quoi ou pour dire "lis des tutos".

n°2116182
SNY7
Posté le 12-12-2011 à 13:40:43  profilanswer
 

Je n'arrive toujours pas à recuperer la date. J'ai aussi remarqué qu'en appuyant sur ENVOYER2, je reviens à la 1ère date (même si je selectionne les suivantes)!  
Je rappele le problème: je demande un serial_number (1er bouton ENVOYER), ensuite j'ai une liste des dates correspondantes (liste déroulante remplis grâca à une requette SQL), le but est de sélectionner une date afin de réaliser une autre requête SQL mais je n'arrive pas à récuperer la date sélectionner (quand j'appuie sur ENVOYER 2 la page se recharge uniquement).
MERCI.

Code :
  1. <FORM method=post action="site2d.php">
  2. <INPUT type="hidden" name="reference" value="<?php echo  $reference; ?>">   
  3. Date: <select name='date_start'  >
  4. <?php 
  5. while($row = mysql_fetch_array($result)) {
  6.    echo '<option>', $row['date_start'], '</option>';
  7. }
  8. ?>
  9. </select>
  10. <INPUT type="submit" value="Envoyer2">
  11. </FORM>
  12. <?
  13. $date_start = $_POST['date_start'];
  14. echo $date_start; ?>

n°2116217
rufo
Pas me confondre avec Lycos!
Posté le 12-12-2011 à 14:46:06  profilanswer
 

SNY7 a écrit :

N'empêche que ça fonctionne avec int, et si tu ne veut pas répondre ne réponds pas, personne t'obliges surtout si c'est pour raconter n'importe quoi ou pour dire "lis des tutos".


 
Ca marche avec "int" parce que ton navigateur (et les autres en général) est permissif. Mais en aucun cas ce type existe dans la norme du w3c pour la balise <input>.
 
Par ailleurs, ce forum n'est pas là pour donner des cours, ie pour répondre à des questions qui trouvent leur réponse sur l'un des très nombreux sites qui proposent des tutos sur php et le traitement des formulaires. :/ On veut bien passer du temps à aider les gens, mais il faut que eux aussi fassent des efforts. Ton topic rentre typiquement dans ce cas de figure. Par ailleurs, je t'ai donné des éléments de réponse sur la raison que ton script ne pouvait pas marcher. :o


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2116220
SNY7
Posté le 12-12-2011 à 14:57:26  profilanswer
 

J'ai cherché partout, je ne trouve rien en rapport avec ce que je veux faire. Je n'arrive pas à récuperer la valeur de la date sélectionnée par l'utilisateur dans la liste déroulante (quand j'appuie sur Envoyer2, la page se recharge et dans ma liste déroulante je me retrouve avec la 1er date!, bien que je demande l'affichage de la variable date_start, je n'ai rien ....)

n°2116234
rufo
Pas me confondre avec Lycos!
Posté le 12-12-2011 à 15:18:12  profilanswer
 

T'as cherché partout :??: Tu tapes dans Google "tutorial php formulaire liste déroulante" et tu tombes là-dessus :  
http://julp.developpez.com/php/formulaires/
 
http://www.siteduzero.com/tutoriel [...] aires.html


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2116267
SNY7
Posté le 12-12-2011 à 16:56:20  profilanswer
 

Oui mais la liste déroulante  extrait les valeurs de la BDD, ca s'aurait trop facile sinon ...

n°2116356
SNY7
Posté le 12-12-2011 à 21:44:39  profilanswer
 

Code :
  1. $dut_serialnumber = $_POST['dut_serialnumber'];
  2. ?>
  3. <?php
  4. $recherche = ("SELECT date_start FROM dut_test_data WHERE dut_serialnumber='$dut_serialnumber'" ) ;
  5. $result = mysql_query($recherche) ?>
  6. <FORM method=post action="site2d.php">
  7. <INPUT type="hidden" name="dut_serialnumber" value="<?php echo  $dut_serialnumber; ?>"> 
  8. print_r($_POST);
  9. Date: <select name='date_start'  >
  10. <?php
  11. while($row = mysql_fetch_assoc($result)) {
  12.    $isSelected = ($row['date_start'] === $_POST['date_start']) ? ' selected="selected"' : null;
  13.    echo '<option value="', $row['date_start'], '"', $isSelected, '>', $row['date_start'], '</option>';
  14. } ?>
  15. <INPUT type="submit" value="Envoyer">
  16. </FORM>
  17. <?
  18. $date_start = $_POST['date_start'];
  19. echo $date_start; ?>
  20. <? echo $_POST['date_start']; ?>


Après le 1er ENVOYER j'ai : (remplissage du champs dut_serialnumber puis appuie sur envoyer)

Code :
  1. Array ( [dut_serialnumber] => tx081 [date_start]


Après le 2ème ENVOYER j'ai : (liste déroulante avec les dates affichées en fonction du serial_number, ca fonctionne bien)

Code :
  1. Array ( [dut_serialnumber] => tx081 [date_start] => 2011-07-07 13:31:00 )


--> Cela prouve que j'envoie bien la date que je sélectionne ? Je n'arrive pas cepandant à récuperer la valeur de la date sélectionnée .... !
MERCI ...

n°2116407
rufo
Pas me confondre avec Lycos!
Posté le 13-12-2011 à 09:57:06  profilanswer
 

Il faut que ton script fasse la différence entre le 1er affichage du formulaire vide et le 2ème affichage, une fois que t'as sélectionné la date. Les lignes 19 à 22 semblent montrer que tu n'as pas compris la notion de client/serveur :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2116425
SNY7
Posté le 13-12-2011 à 10:54:31  profilanswer
 

Je répète, je récupère bien le champs dut_serialnumber, parcontre lorsque je sélectionne une date je ne la récupère pas (pourtant dans l'array on voit bien les valeurs que j'envoie ....)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Menu déroulant PHP et MySQL

 

Sujets relatifs
Script PHP[PHP] Script long et timeout
Afficher du contenu HTML sous condition PHPRécupérer le résultat d'une fonnction PHP par JS
PHP et base de donnéesErreur de script PHP pour crontab
probleme importation .CSV vers MySQL[mysql] table pour faire des stats
[PHP - MySQL] Insertion nouvel item ds menu déroulant[PHP-MySQL] Récupérer une valeur de menu déroulant.
Plus de sujets relatifs à : Menu déroulant PHP et MySQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR