Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Wyświetlenie danych z BD
krzesik
post 16.12.2024, 19:55:37
Post #1





Grupa: Zarejestrowani
Postów: 513
Pomógł: 1
Dołączył: 25.08.2012

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


Witam,

mam w bazie rekord, a w nim pole z taką zawartością:
{"type":"marker","Data":{"nr":"I - Stacja PKP","latLng":"50.4030297003 16.6395298644","name":"Poczekalnia","kategoria":""}}


jak wyświetlić lub napisać zapytanie, aby w prosty sposób przedstawić później na ekranie:

Typ: marker
Nr : I - Stacja PKP
Współrzędne GPS: 50.4030297003 16.6395298644
Nazwa: Poczekalnia
Go to the top of the page
+Quote Post
trueblue
post 17.12.2024, 09:26:44
Post #2





Grupa: Zarejestrowani
Postów: 6 799
Pomógł: 1827
Dołączył: 11.03.2014

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


https://www.php.net/manual/en/ref.json.php


--------------------
Go to the top of the page
+Quote Post
krzesik
post 18.12.2024, 16:47:44
Post #3





Grupa: Zarejestrowani
Postów: 513
Pomógł: 1
Dołączył: 25.08.2012

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


Dziękuję, kierunek słuszny..
OK, coś ruszyło, ale nie do końca. Zrobiłem tak:

  1. ...
  2. while($r = mysql_fetch_array($result2))
  3. {
  4.  
  5. $extra = json_decode($r[overlays], true);
  6.  
  7. echo "<tr>";
  8. echo "<td>";
  9. echo $extra[Data][nr];
  10. echo "</td>";
  11. echo "<td>";
  12. echo $extra[Data][latLng];
  13. echo "</td>";
  14. echo "<td>";
  15. echo $extra[Data][name];
  16. echo "</td>";
  17. echo "</tr>";
  18. }
  19.  


niby wyświetla to co potrzebuję, ale pojawiają się puste rekordy w wynikach (w bazie jest wszystko widoczne) i tak np.
trzech pierwszych nie ma, czwarty jest, kolejnych trzech nie ma, kolejny jest, później dwóch nie ma i tak bez reguły...
Co to może być?
Go to the top of the page
+Quote Post
trueblue
post 18.12.2024, 19:36:57
Post #4





Grupa: Zarejestrowani
Postów: 6 799
Pomógł: 1827
Dołączył: 11.03.2014

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


Wyświetl sobie za każdym razem co zawiera zmienna $extra.


--------------------
Go to the top of the page
+Quote Post
krzesik
post 18.12.2024, 21:17:59
Post #5





Grupa: Zarejestrowani
Postów: 513
Pomógł: 1
Dołączył: 25.08.2012

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


wyświetla jak array, ale tylko w tych rekordach co w poprzednim przykładzie :-(
Go to the top of the page
+Quote Post
trueblue
post 19.12.2024, 10:09:40
Post #6





Grupa: Zarejestrowani
Postów: 6 799
Pomógł: 1827
Dołączył: 11.03.2014

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


To pokaż wartość z bazy danych, która na stronie wyświetla się jako pusta.


--------------------
Go to the top of the page
+Quote Post
Salvation
post 19.12.2024, 17:31:03
Post #7





Grupa: Zarejestrowani
Postów: 396
Pomógł: 71
Dołączył: 15.07.2014

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


Nazwa klucza w array powinna być albo stringiem, albo intem.
Więc błąd masz już na tym poziomie:
  1. $r[overlays]

bo powinno być:
  1. $r['overlays']

Tak samo z pozostałymi kluczami.
Go to the top of the page
+Quote Post
KarolinaS
post 9.01.2025, 15:25:25
Post #8





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 19.12.2024

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


Cytat(krzesik @ 16.12.2024, 19:55:37 ) *
Witam,

mam w bazie rekord, a w nim pole z taką zawartością:
{"type":"marker","Data":{"nr":"I - Stacja PKP","latLng":"50.4030297003 16.6395298644","name":"Poczekalnia","kategoria":""}}


jak wyświetlić lub napisać zapytanie, aby w prosty sposób przedstawić później na ekranie:

Typ: marker
Nr : I - Stacja PKP
Współrzędne GPS: 50.4030297003 16.6395298644
Nazwa: Poczekalnia

możesz użyć zapytania SQL takiego jak:

SELECT
Data->>'$.type' AS Typ,
Data->>'$.nr' AS Nr,
Data->>'$.latLng' AS "Współrzędne GPS",
Data->>'$.name' AS Nazwa
FROM
twoja_baza
WHERE
JSON_EXTRACT(Data, '$.type') = 'marker';
To wyciągnie te szczegóły na ekranie w takim formacie:

Typ: marker
Nr: I - Stacja PKP
Współrzędne GPS: 50.4030297003 16.6395298644
Nazwa: Poczekalnia
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: 15.06.2025 - 22:44