Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] O jeden Notice za daleko...
Forum PHP.pl > Forum > Przedszkole
Kshyhoo
Zazwyczaj nie mam problemu z pozbyciem się komunikatu Notice, ale teraz poległem. Oto kod, którym pobieram dane z bazy, wrzucam do select/option i zaznaczam wybrany:
  1. $query = "SELECT * FROM keeper ORDER BY id_keeper ASC";
  2. if ($result = mysqli_query($link, $query)) {
  3. while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
  4. $id = $row["id_keeper"];
  5. if ($itemKeep == $id)
  6. $choose = 'selected="selected"';
  7. else
  8. $choose = '';
  9. $keeper .= "<option value='$id' $choose>{$row["k_name"]}</option>\r\n";
  10. }
  11. }

No i nie umiem się pozbyć: Notice: Undefined variable: keeper in
trueblue
A jaką wartość domyślną ma zmienna $keeper?
Kshyhoo
Zapewne jest tablicą, bo to są <option> w <select>.
b4rt3kk
A nie możesz poprostu zadeklarować tejżej zmiennej przed użyciem operatora .= ? Bo on przecież powoduje dołączenie stringa do już istniejącego, więc i zmienna musi istnieć.

  1. $query = "SELECT * FROM keeper ORDER BY id_keeper ASC";
  2. $keeper = null;
  3.  
  4. if ($result = mysqli_query($link, $query)) {
  5. while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
  6. $id = $row["id_keeper"];
  7. if ($itemKeep == $id)
  8. $choose = 'selected="selected"';
  9. else
  10. $choose = '';
  11. $keeper .= "<option value='$id' $choose>{$row["k_name"]}</option>\r\n";
  12. }
  13. }
trueblue
Zrób var_dump($keeper) na początku kodu i na końcu. Zobaczysz jakie ma wartości, dowiesz się również, że w żadnym momencie nie jest tablicą.
Kshyhoo
Próbowałem... i nie działało - nie wyświetlało innych poza wybraną. Teraz zadziałało, może deklarowałem w złym miejscu, albo za dużo balowałem ostatniej nocy wink.gif

Cytat(trueblue @ 25.02.2018, 19:23:14 ) *
Zrób var_dump($keeper) na początku kodu i na końcu. Zobaczysz jakie ma wartości, dowiesz się również, że w żadnym momencie nie jest tablicą.

Masz rację, zapewne jest ciągiem, skoro występuje operator .=.
tak czy inaczej, dziękuję za pomoc. Teraz pozostaje tylko zabezpieczyć wybór przed dowcipasami wink.gif
trueblue
I zapewne nie miała wartości domyślnej.
Kshyhoo
No nie miała smile.gif
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.