Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] - Zapamietanie wartosc pola formularza <select> w petli while, Zapamietanie wartości pól formularza, przy błednie wprowadzonych danyc
scorpion10
post 3.12.2021, 09:13:40
Post #1





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 8.07.2016

Ostrzeżenie: (0%)
-----


Pobrane dane z bazy MySQL, wyświetlają się jako lista wyboru formularza i są pobierane w pętli while do pola <select><option>.
Chciałbym, w przypadku błędnego wpisu w formularzu, gdzie użytkownik wówczas musi poprawić wprowadzone dane, aby nie wprowadzać
tych samych danych ponownie, a tylko uzupełnić wymagane do poprawki.
Jak w takim przypadku zapamiętać stan wybranego pola <select> który dostał dane z pętli while.

Próbowałem zapamiętać w zmiennej SESSION i udało sie częściowo, ale przy kolejnym błędzie w tej samej sesji i poprawce
to zmienna SESSION również traciła wartość.

Czy ktoś mógł by podać jakiś przykład jak to należało by wykonać ?
Go to the top of the page
+Quote Post
aras785
post 5.12.2021, 12:12:21
Post #2





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


dla 1 dodałem wartość domyślną.

  1. <select name="example">
  2. <option value="1" <?= 1 === (int) $_POST['example'] ? 'selected' : (!isset($_POST['example']) ? 'selected' : ''); ?>>1</option>
  3. <option value="2" <?= 2 === (int) $_POST['example'] ? 'selected' : ''; ?>>2</option>
  4. <option value="3" <?= 3 === (int) $_POST['example'] ? 'selected' : ''; ?>>3</option>
  5. <option value="4" <?= 4 === (int) $_POST['example'] ? 'selected' : ''; ?>>4</option>
  6. </select>


Ten post edytował aras785 5.12.2021, 12:13:04
Go to the top of the page
+Quote Post
scorpion10
post 6.12.2021, 07:42:22
Post #3





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 8.07.2016

Ostrzeżenie: (0%)
-----


No niestety, ale mi chodzi o dynamiczne pobranie wartości z bazy MySQL w pętli While, a nie przygotowanej listy w formularzu. Więc to trochę zmienia sposób rozwiązania problemu.
Go to the top of the page
+Quote Post
viking
post 6.12.2021, 07:54:36
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


W jaki sposób zmienia? Po wysłaniu formularza albo masz je gdzieś już zapisane, albo ponownie pobierasz wartość. Jeśli POST['example'] === wartość z bazy to robisz selected.


--------------------
Go to the top of the page
+Quote Post
scorpion10
post 6.12.2021, 10:27:05
Post #5





Grupa: Zarejestrowani
Postów: 59
Pomógł: 0
Dołączył: 8.07.2016

Ostrzeżenie: (0%)
-----


hmmm.. nie wiem , chyba mam słaby dzień, bo jakoś nie łapie jak to ma zadziałać w moim przypadku. Moj fragment który pobiera dane z bazy wyglada tak:


  1.  
  2.  
  3. Kategoria:<select name="kategoria_new">
  4.  
  5. <?php
  6.  
  7. $db = db_connect();
  8.  
  9. $zapytanie_o_kategorie_sprzetu = " SELECT * FROM sl_kategoria ORDER BY nazwa_kategorii ASC ";
  10.  
  11. $wynik = $db->query($zapytanie_o_kategorie_sprzetu);
  12.  
  13. ?>
  14.  
  15. <option value="<?php $_SESSION[id_kategoria] ?>"><?php echo $_SESSION['kategoria'] ;?> </option>
  16.  
  17. <?php
  18.  
  19.  
  20. while($rekord = $wynik->fetch_object()){
  21.  
  22. $ID_kateg=$rekord->ID_kategoria;
  23. $kategoria= $rekord->nazwa_kategorii;
  24.  
  25.  
  26. ?>
  27.  
  28. <option value="<?php echo $rekord->ID_kategoria;echo "|".$rekord->nazwa_kategorii ?>"> <?php echo $kategoria?></option>
  29.  
  30.  
  31. <?php
  32.  
  33. }
  34.  
  35. ?>
  36.  
  37. </select>
  38.  
  39.  
  40.  


Go to the top of the page
+Quote Post
trueblue
post 6.12.2021, 11:27:29
Post #6





Grupa: Zarejestrowani
Postów: 6 761
Pomógł: 1822
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


http://forum.php.pl/index.php?showtopic=159959
http://forum.php.pl/index.php?showtopic=202457


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.04.2024 - 21:56