Affichage par un select mais avec une valeur globale ?

Affichage par un select mais avec une valeur globale ? - PHP - Programmation

Marsh Posté le 18-03-2008 à 12:39:42    

Bonjour,
 
j'ai un soucis, j'ai une basse adresse et j'aimerais pouvoir faire un tri par un select sur le code du departement, (ça c'est bon ça marche) mais en affichant la page pour la 1ere fois, j'aimerais avoir tout le contenu de ma table (tout departement confondu) et je sais pas du tout comment faire.
 

Code :
  1. <form name="indicateur" action="mapage.php" method="post">
  2.             <div align="center">
  3.             <select name="lieu">
  4.      <option value=" ">Tout</option>
  5.      <option value="01">01</option>
  6.                     <option value="02">02</option>
  7.                     <option value="03">03</option>
  8.                     <option value="04">04</option>
  9.                     <option value="05">05</option>
  10.                     <option value="06">06</option>
  11.                     <option value="07">07</option>
  12.                     <option value="08">08</option>
  13.                     <option value="09">09</option>
  14.                     <option value="10">10</option>
  15.                     <option value="11">11</option>
  16.                     <option value="12">12</option>
  17.                     <option value="13">13</option>
  18.                     <option value="14">14</option>
  19.                     <option value="15">15</option>
  20.                     <option value="16">16</option>
  21.                     <option value="17">17</option>
  22.                     <option value="18">18</option>
  23.                     <option value="19">19</option>
  24.                     <option value="20">20</option>
  25.                     <option value="21">21</option>
  26.                     <option value="22">22</option>
  27.                     <option value="23">23</option>
  28.                     <option value="24">24</option>
  29.                     <option value="25">25</option>
  30.                     <option value="26">26</option>
  31.                     <option value="27">27</option>
  32.                     <option value="28">28</option>
  33.                     <option value="29">29</option>
  34.                     <option value="30">30</option>
  35.                     <option value="31">31</option>
  36.                     <option value="32">32</option>
  37.                     <option value="33">33</option>
  38.                     <option value="34">34</option>
  39.                     <option value="35">35</option>
  40.                     <option value="36">36</option>
  41.                     <option value="37">37</option>
  42.                     <option value="38">38</option>
  43.                     <option value="39">39</option>
  44.                     <option value="40">40</option>
  45.                     <option value="41">41</option>
  46.                     <option value="42">42</option>
  47.                     <option value="43">43</option>
  48.                     <option value="44">44</option>
  49.                     <option value="45">45</option>
  50.                     <option value="46">46</option>
  51.                     <option value="47">47</option>
  52.                     <option value="48">48</option>
  53.                     <option value="49">49</option>
  54.                     <option value="50">50</option>
  55.                     <option value="51">51</option>
  56.                     <option value="52">52</option>
  57.                     <option value="53">53</option>
  58.                     <option value="54">54</option>
  59.                     <option value="55">55</option>
  60.                     <option value="56">56</option>
  61.                     <option value="57">57</option>
  62.                     <option value="58">58</option>
  63.                     <option value="59">59</option>
  64.                     <option value="60">60</option>
  65.                     <option value="61">61</option>
  66.                     <option value="62">62</option>
  67.                     <option value="63">63</option>
  68.                     <option value="64">64</option>
  69.                     <option value="65">65</option>
  70.                     <option value="66">66</option>
  71.                     <option value="67">67</option>
  72.                     <option value="68">68</option>
  73.                     <option value="69">69</option>
  74.                     <option value="70">70</option>
  75.                     <option value="71">71</option>
  76.                     <option value="72">72</option>
  77.                     <option value="73">73</option>
  78.                     <option value="74">74</option>
  79.                     <option value="75">75</option>
  80.                     <option value="76">76</option>
  81.                     <option value="77">77</option>
  82.                     <option value="78">78</option>
  83.                     <option value="79">79</option>
  84.                     <option value="80">80</option>
  85.                     <option value="81">81</option>
  86.                     <option value="82">82</option>
  87.                     <option value="83">83</option>
  88.                     <option value="84">84</option>
  89.                     <option value="85">85</option>
  90.                     <option value="86">86</option>
  91.                     <option value="87">87</option>
  92.                     <option value="88">88</option>
  93.                     <option value="89">89</option>
  94.                     <option value="90">90</option>
  95.                     <option value="91">91</option>
  96.                     <option value="92">92</option>
  97.                     <option value="93">93</option>
  98.                     <option value="94">94</option>
  99.                     <option value="95">95</option>
  100.                     <option value="96">96</option>
  101.                     <option value="97">97</option>
  102.                     <option value="98">98</option>
  103.                     <option value="99">99</option>
  104.             </select>
  105.             <input type="submit" value="soumettre">
  106.             </div>
  107.             </form>


 
Et ma requette d'affichage
 

Code :
  1. <?php
  2. // connexion a la base
  3. require_once("admin/connexion.php" );
  4. $BD_link = mysql_connect("${'BD_host'}${'BD_port'}", $BD_login, $BD_pass) or die("Connexion de la base impossible : ". mysql_error());
  5. //selection de la table
  6. mysql_select_db($BD_base, $BD_link) or die("S&eacute;lection de la base impossible : ". mysql_error());
  7. $Requete_SQL2 = "SELECT * FROM matable WHERE valid = '1' AND lieu = '$lieu' ORDER BY date DESC ";
  8. $result = mysql_query($Requete_SQL2) or die("Erreur de S&eacute;lection dans la base : ". $Requete_SQL2 .'<br />'. mysql_error());
  9. // creation et affichage dans la table
  10. error_reporting(55);
  11. while($val=mysql_fetch_array($result))
  12. if($val["valid"] == 1)
  13. {
  14. $id=$val[ID];
  15. $num=$val[date];
  16. $nom=$val[titre];
  17. echo"<tr>";
  18. echo"<td width=84 align=left>";
  19. echo"<DIV class=bold>";
  20. echo"$num";
  21. echo"</DIV>";
  22. echo"</td>";
  23. echo"<td align=left>";
  24. echo"<SPAN class=normal>";
  25. echo"<a href=\"mapagedetails.php?id=",$id,"\">",$nom,"</a>";
  26. echo"</SPAN>";
  27. echo"</td>";
  28. echo"<td width=20 align=left>";
  29. echo"<DIV class=bold>";
  30. echo"$pre";
  31. echo"</DIV>";
  32. echo"</td>";
  33. echo"</tr>";
  34. }
  35. mysql_close();
  36. ?>


 
 
Merci d'avance à se qui me mettrons sur la voie, j'ai essayé avec des IF mais je me suis embrouillé complet, le debute en php.

Reply

Marsh Posté le 18-03-2008 à 12:39:42   

Reply

Marsh Posté le 18-03-2008 à 12:42:32    

Parenthèse usabilité : ce ne serait pas plus simple pour l'utilisateur de rentre le département à la main, via un input text ? C'est assez relou de devoir sélectionner dans une énorme liste, surtout que le nom du département n'y figure pas :(

Reply

Marsh Posté le 18-03-2008 à 12:51:34    

Euh si.... aussi... mais je vais me retrouver quand même avec un premier affichage de la page vide, puisqu'aucune valeur par defaut aura été rentré et que je veux que tout mes departements soit affichés d'un coup sur la premiere page.

Reply

Marsh Posté le 18-03-2008 à 14:01:44    

Pourquoi pas mettre en value de l'option "tout" ça : "*", et dans la requête, plutôt que lieu='$lieu', essayer lieu LIKE '$lieu' ?
Comme ça, le caractère générique * (ou équivalent selon le SGBD :o) renvoie toutes les lignes !  
 
Heu, suis-je clair ? :whistle:
 
edit : Heu, et pour le premier affichage, une valeur par défaut de $lieu avec le caractère générique devrait suffire.


Message édité par kao98 le 18-03-2008 à 14:02:52

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 18-03-2008 à 14:06:22    

Une idée qui pourrait marcher mais que je ne sais pas concretiser.
Si je donne à <option value=" ">Tout</option> la valeur d'une variable et que cette variable je la declare contenu les departements avec AND ou OR ?

Reply

Marsh Posté le 18-03-2008 à 14:46:20    

kao98 > j'avais pas vu ta réponse,  je cherche par mes propres moyens avec ton idée et si je ne trouve pas, je reposte ;)
 
Merci  :jap:

Reply

Marsh Posté le 18-03-2008 à 14:56:10    

Yees, merci, avec la commande LIKE  et % j'affiche tout le contenu, me reste à la defnir par defaut pour voir.

Reply

Marsh Posté le 18-03-2008 à 16:56:58    

Bon et bien, petit résumé de mes avancées, mais je bloque pour tout afficher par defaut...  :pt1cable:  
 

Code :
  1. <form name="indicateur" action="mapage.php" method="post">
  2.             <div align="center">
  3.             <select name="lieu">
  4.     <option value="%" selected="selected">Tout</option>
  5.        <option value="01">01</option>
  6.                     <option value="02">02</option>
  7.                     <option value="03">03</option>
  8.                     <option value="04">04</option>
  9.                     <option value="05">05</option>
  10.                     <option value="06">06</option>
  11.                     <option value="07">07</option>
  12.                     <option value="08">08</option>


 
et l'appel de mes infos  
 

Code :
  1. mysql_select_db($BD_base, $BD_link) or die("S&eacute;lection de la base impossible : ". mysql_error());
  2. $Requete_SQL2 = "SELECT * FROM ma table WHERE valid = '1' AND lieu LIKE '$lieu' ORDER BY date DESC ";


Message édité par fscalda le 18-03-2008 à 16:57:38
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed