Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyświetlenie danych z BD
Forum PHP.pl > Forum > Przedszkole
krzesik
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
trueblue
https://www.php.net/manual/en/ref.json.php
krzesik
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ć?
trueblue
Wyświetl sobie za każdym razem co zawiera zmienna $extra.
krzesik
wyświetla jak array, ale tylko w tych rekordach co w poprzednim przykładzie :-(
trueblue
To pokaż wartość z bazy danych, która na stronie wyświetla się jako pusta.
Salvation
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.
KarolinaS
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
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.