Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] pobieranie wartości z bazy do zmiennej
mkoszar
post 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"
Go to the top of the page
+Quote Post
trueblue
post 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%)
-----


https://stackoverflow.com/questions/5579794...ondition-in-php


--------------------
Go to the top of the page
+Quote Post
Tomplus
post 11.09.2020, 09:33:03
Post #3





Grupa: Zarejestrowani
Postów: 1 834
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

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


Oczywiście że będzie $m1 jako tablica, bo
  1. mysqli_fetch_array()
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.
Go to the top of the page
+Quote Post
mkoszar
post 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ł ? smile.gif cap.gif
Go to the top of the page
+Quote Post
gino
post 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
Go to the top of the page
+Quote Post
Tomplus
post 12.09.2020, 21:13:35
Post #6





Grupa: Zarejestrowani
Postów: 1 834
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ą.
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: 19.04.2024 - 04:49