Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php, json
Forum PHP.pl > Forum > PHP
tabam
Witam, mam problem, tworzę podstrone "Program referencyjny" i ludzie mają sobie tam tworzyć kodziki:

Funckję:
- Jeżeli kod już istnieje nic się nie dzieje.
- Jeżeli jest to mój kod (np 123456) i chcę go zamienić na inny (np 948214) to stary kod usuwa się i nowy zostaje dodany.
- Baza danych w JSON.

- Chcę zeby to zapisywalo w taki sposób
Id: "id-zalozyciela",
Kod: "kod-zalozyciela"

I tu pojawia się problem, bo niewiem w jaki sposób zrobić żeby jak ktoś naciska przycisk "Stwórz kod" skrypt php sprawdzał czy w JSON'ie istnieje taki kod, jeżeli tak to jakie jest id zalozyciela.


Z góry dziękuje smile.gif
viking
JSON odczytaj jako tablicę a później już sobie poradzisz. Jeśli to ma być trzymane w jakiejś bazie na polu json to możliwe że bezpośrednio da radę to sprawdzić.
tabam
Niestety nie wiem jak to zrobić, a co do podglądu, to zrobie jakąs nazwe na 100 liter/cyfer/ i innych znaków to raczej nikt do tego nie dojdzie.

Może pokaze kod, a ktos mi go przerobi smile.gif

JSON:

[{"code":"4353453","id":"214124"},
{"code":"600012","id":"454"}]

i jak teraz odczytać to w php :/
viking
json_decode/encode
tabam
Weź napisz mi dokładnie jak to odczytać bo naprawde probowalem wszystko co umiem i nie pomogło:/

bym chciał zeby zwracalo to tak :

$code = tutaj kod;
$id = tutaj id;

Dzięki smile.gif
viking
  1. $array = json_decode('[{"code":"4353453","id":"214124"},
  2. {"code":"600012","id":"454"}]', true);
  3.  
  4. foreach ($array as $data) {
  5. echo $data['id'], ',', $data['code'], "\n";
  6. }


PHP 7.1

  1. $array = json_decode('[{"code":"4353453","id":"214124"},
  2. {"code":"600012","id":"454"}]', true);
  3.  
  4. foreach ($array as ['id' => $id, 'code' => $code]) {
  5. echo $id, ',', $code, "\n";
  6. }
tabam
Ok, to sie przyda, a teraz bardziej skomplikowane:

  1. $code = "124"; // kod który chce ustawić
  2. $myid = "214124"; // moje id
  3.  
  4. $array = json_decode(file_get_contents('../nazwa.json'), true);
  5.  
  6. if ($array ma w bazie zapisany taki kod)
  7. {
  8. echo "taki kod juz istnieje" ;
  9. }
  10. else
  11. {
  12. if( mam stworzony inny kod )
  13. {
  14. usuwa stare info z bazy
  15. wstawia nowe info do bazy
  16. echo "Kod został zmieniony." ;
  17. }
  18. else
  19. {
  20. wstawia info do bazy;
  21. echo "Kod został stworzyony." ;
  22. }
  23. }
viking
I mam za ciebie cały kod pisać? array_search + array_column, masz przykłady. Przejrzyj w dokumentacji funkcje operujące na tablicach.
tabam
Nie cały tylko w tym kodzie w if'ach i jezeli spełnia, to jaka funckja tongue.gif
Pyton_000
Nie ten dział. Jak liczysz na gotowca to zapraszam na giełdę. Dostałeś opis przydatnych Tobie funkcji a Ty nie raczyłeś zobaczyć jak działają i napisać sobie sam.
tabam
Ok, dałem radę. Dzięki wielkie za pomoc.
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.