Se connecter / S'enregistrer
Votre question
Résolu

[PHP]Problème récupérer info de liste deroulante

Tags :
  • Php
Dernière réponse : dans Programmation
17 Août 2016 17:36:46

Bonjour,
Alors voila j'ai une base de donnée avec une table nommée "eleves" elle a le nom de l’éleve | son résultat en math | son résultat en français | son résultat en php | sont grade

j'ai créé un page php => donnees.php avec mes fonctions:

  1. <?php
  2.  
  3. function ouvrir()
  4. {
  5. if($_db = mysqli_connect('localhost','root','','etudiants'))
  6. {
  7. // Si connexion réussi rien ne se passe.
  8. }
  9. else
  10. {
  11. echo "ERREUR";
  12. }
  13. $_SESSION["dbh"] = $_db;
  14. }
  15.  
  16. function fermer()
  17. {
  18. mysqli_close($_SESSION["dbh"]);
  19. $_SESSION["dbh"] = serialize(null);
  20. }
  21.  
  22. function affiche_liste()
  23. {
  24. ouvrir();
  25. $dbh=$_SESSION["dbh"];
  26. $reponse = mysqli_query($dbh, "SELECT nom FROM eleves ORDER BY nom");
  27. while ($donnees = mysqli_fetch_array($reponse))
  28. {
  29. ?>
  30. <option value = "<?php echo $donnees['nom']; ?>"><?php echo $donnees['nom']; ?> </option>
  31. <?php
  32. }
  33. mysqli_free_result($reponse);
  34. fermer();
  35. }
  36. ?>


Une page sur laquelle j'affiche ma liste déroulante garnie par ma bdd avec les noms de tous les eleves: liste.php

  1. <?php
  2. include ('donnees.php');
  3. ?>
  4. <form action="resultat.php" method="post" enctype="application/x-www-form-urlencoded">
  5. <select name="nom">
  6. <?php affiche_liste(); ?>
  7. </select>
  8.  
  9. <input name="envoi" type="button" value="Envoyer">
  10. </form>


Et une page résultat sur la quelle j'aimerais afficher les résultats d'un éleve sélectionné dans la liste déroulante d'avant
resultat.php:

  1. <?php
  2. include ("donnees.php");
  3. ouvrir();
  4.  
  5. if(isset($_POST['envoi'])) {
  6.  
  7. $dbh=$_SESSION["dbh"];
  8. $cot_math = mysqli_query ($dbh,"SELECT math FROM eleves WHERE `nom` = ".$_POST['nom']);
  9. $cot_fr = mysqli_query ($dbh,"SELECT fr FROM eleves WHERE `nom` = ".$_POST['nom']);
  10. $cot_php = mysqli_query ($dbh,"SELECT php FROM eleves WHERE `nom` = ".$_POST['nom']);
  11. $grade = mysqli_query ($dbh,"SELECT grade FROM eleves WHERE `nom` = ".$_POST['nom']);
  12. }
  13. ?>
  14. <table>
  15. <tr>
  16. <th> Cours </th>
  17. <th> Resultat </th>
  18. </tr>
  19. <tr>
  20. <td> Math </td>
  21. <td> <?php echo $cot_math; ?> </td>
  22. </tr>
  23. <tr>
  24. <td> Francais </td>
  25. <td> <?php echo $cot_fr; ?> </td>
  26. </tr>
  27. <tr>
  28. <td> PHP </td>
  29. <td> <?php echo $cot_php; ?> </td>
  30. </tr>
  31. <tr>
  32. <td> Grade </td>
  33. <td> <?php echo $grade; ?> </td>
  34. </tr>
  35. </table>
  36. <?php
  37. fermer();
  38. ?>


Alors voila j'aimerais savoir comment récupérer dans mes différentes variables le contenu du reste de ma bdd pour un élève précis donc si je sélectionne "Paul" dans ma liste sur ma page resultat avoir dans le tableau la cote de Paul en math, français et php + son grade
Car je ne comprends pas pourquoi quand je clic sur mon bouton valider rien ne se passe , je ne change pas de page , ... comme si le bouton n'avais aucun effet .. J'ai l'impression que dans liste.php il n'attends pas que l'utilisateur clic sur valider il descent directe dans le fond du code et ne faitt plus rien ..

Voila j’espère que j'ai été assez clair, merci d'avoir prit le temps de me lire.

Autres pages sur : php probleme recuperer info liste deroulante

Meilleure solution

18 Août 2016 17:05:27

Salut c'est normal.
Dans liste. Php ton bouton "envoie" tu as mis :
type="button"
Met: type="submit" et la ça va fonctionner.
partage
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS