Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]Wybieranie domyślnej opcji listy <select> dzięki zmiennej globalnej PHP
Forum PHP.pl > Forum > Przedszkole
Cywil
Witam

Mój problem jest następujący, są 2 listy<select>, wybrane w nich opcje powinny być wybierane domyślnie po przeładowaniu strony. Jednak nie wiem dlaczego, ustawiane jako domyślne, są one dopiero po dwukrotnym wybraniu (wybranie z listy opcji, przeładowanie, wybranie opcji, przeładowanie). Podejrzewam że to dlatego, że zmienną sesyjną ustawiam później niż ją odczytuję, jednak nie mam pomysłu co zrobić żeby to działało. Z góry dzięki za wszelką pomoc smile.gif

  1. <div class="search">
  2. <div class="dropdown">
  3. <form method="post" action="?">
  4. <select name="list" class="dropdown-select">
  5. <option>Wybierz...</option>
  6. <option <?php if(isset($_SESSION['rememberDESC'])){if($_SESSION['rememberDESC']==1){ echo "selected"; unset($_SESSION['rememberDESC']); }} ?> value="1">Wydajność (od najwyższej)</option>
  7. <option <?php if(isset($_SESSION['rememberASC'])){if($_SESSION['rememberASC']==1){ echo "selected"; unset($_SESSION['rememberASC']); }} ?> value="0">Wydajność (od najniższej)</option>
  8. </select>
  9. </div>
  10. <div class="dropdown">
  11. <select name="amdnv" class="dropdown-select">
  12. <option>Wybierz...</option>
  13. <option <?php if(isset($_SESSION['rememberAMD'])){if($_SESSION['rememberAMD']==1){ echo "selected"; unset($_SESSION['rememberAMD']); }} ?> value="1">Tylko AMD</option>
  14. <option <?php if(isset($_SESSION['rememberNV'])){if($_SESSION['rememberNV']==1){ echo "selected"; unset($_SESSION['rememberNV']); }} ?> value="0">Tylko Nvidia</option>
  15. </select>
  16. </div>
  17. <button class="btn">Wyszukaj</button>
  18.  
  19. </form>
  20.  
  21. </div>
  22.  
  23.  
  24.  
  25.  
  26. <?php
  27. if(isset($_POST['list'])){
  28. $list=$_POST['list'];
  29. }
  30. if(isset($_POST['amdnv'])){
  31. $amdnv=$_POST['amdnv'];
  32. }
  33.  
  34. include('connect.php');
  35. if(isset($list)){
  36. if($list==1){
  37. $_SESSION['rememberDESC']=1;
  38. if(isset($amdnv)){
  39. if($amdnv==1){
  40. $result=$mysqli->query("SELECT * FROM cards WHERE an=1 ORDER BY mark DESC");
  41. $_SESSION['rememberAMD']=1;
  42.  
  43. }
  44. else{
  45. $result=$mysqli->query("SELECT * FROM cards WHERE an=0 ORDER BY mark DESC");
  46. $_SESSION['rememberNV']=1;
  47. }
  48. }else{
  49. $result=$mysqli->query("SELECT * FROM cards ORDER BY mark DESC");
  50. }
  51. }else{
  52. $_SESSION['rememberASC']=1;
  53. if(isset($amdnv)){
  54. if($amdnv==1){
  55. $result=$mysqli->query("SELECT * FROM cards WHERE an=1 ORDER BY mark");
  56. $_SESSION['rememberAMD']=1;
  57. }
  58. else{
  59. $result=$mysqli->query("SELECT * FROM cards WHERE an=0 ORDER BY mark");
  60. $_SESSION['rememberNV']=1;
  61. }
  62. }else{
  63. $result=$mysqli->query("SELECT * FROM cards ORDER BY mark");
  64. }
  65. }
  66. }
charzak
Jeśli musi być to wszystko na jednej stronie to tak jak napisałeś, najpierw ustaw zmienne następnie wyświetl listę.
Cywil
Cytat(charzak @ 2.11.2016, 10:21:23 ) *
Jeśli musi być to wszystko na jednej stronie to tak jak napisałeś, najpierw ustaw zmienne następnie wyświetl listę.


Dałem pehapa nad listami, i działa...
że też wcześniej na to nie wpadłem biggrin.gif

Dzięki

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.