[php] pobieranie wartości z bazy do zmiennej |
[php] pobieranie wartości z bazy do zmiennej |
10.09.2020, 07:05:03
Post
#1
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 10.09.2020 Ostrzeżenie: (0%) |
mam bazę danych mysql o strukturze dwóch kolumn
ID, dostepny. zadaje pytanie do bazy: SELECT dostepny FROM pole WHERE id=1 $m1 = mysqli_fetch_array( mysqli_query($db, 'SELECT dostepny FROM pole WHERE id=1' )); otrzymuję zmienną $m1 jako np. zajete i teraz chcac podjąć decyzję pisze if if ($m1 == "wolne") { $kolor_miejsca_m1 = "#9ae59a";} else { $kolor_miejsca_m1 = "#ff4d4d";} I to nie działa, ponieważ typ zmiennej to array... wymyśliłem, że zastowuje implode i tak wygląda zapytanie: $m1 = implade(mysqli_fetch_array( mysqli_query($db, 'SELECT dostepny FROM pole WHERE id=1' ))); ale zmienną którą otrzymuję to "zajetezajete" a nie "zajete".. Nie wiem jak pobrać wartość tylko "zajete" |
|
|
10.09.2020, 08:16:48
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
-------------------- |
|
|
11.09.2020, 09:33:03
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 836 Pomógł: 225 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) |
Oczywiście że będzie $m1 jako tablica, bo
nie da Ci stringa. Spójrz dokładnie co zwraca Ci zmienna $m1 var_dump($m1); i dowiesz się szczegółów. W ogóle, po co stosujesz funkcję implode? - ogólnie już ta funkcja mówi co zwraca, więc łatwo się domyślić, co masz w tablicy. |
|
|
12.09.2020, 18:05:14
Post
#4
|
|
Grupa: Zarejestrowani Postów: 30 Pomógł: 0 Dołączył: 10.09.2020 Ostrzeżenie: (0%) |
var_dump($m1);
zwraca: array(2) { [0]=> string(5) "wolne" ["dostepny"]=> string(5) "wolne" } echo $m1; zwraca: Notice: Array to string conversion in C:\xampp\htdocs\camp\index.php on line 60 Array ALE już mysqli_fetch_row zwraca: string(5) "wolne" wolne Podejrzewam że problem się rozwiązał ? |
|
|
12.09.2020, 19:36:24
Post
#5
|
|
Grupa: Zarejestrowani Postów: 319 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) |
mysqli_fetch_array oznacza wydobyć do tablicy, już samo słowo array powinno Ci uzmysłowić że próba wypisanie array przez echo nie powiedzie się, bo echo jest do typu string. A skoro wylistowales tablicę to możesz zobaczyć że fetch_array zwraca dwa elementy, o jednakowych wartościach, typu string, pierwszy o kluczu 0, drugi kklucz jest nazwą pola które Cię interesuje. To pobierz tą wartość z tablicy:
Kod $m1['dostępny'] gino |
|
|
12.09.2020, 21:13:35
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 836 Pomógł: 225 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) |
@mkoszar
Właśnie liczyłem, że zauważysz że skoro zmienna tablicy zwraca dwa elementy, to zauważysz jakąś logikę i to że wynik var_dump zaczyna się od array a nie string czy też object czy resource. Zwracaj wyraźniej na komunikaty, one wszystko mówią. |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 12:58 |