Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]json
Forum PHP.pl > Forum > Przedszkole
Randallmaster
Dlaczego json nic nie wyświetla:

$action_ = array(dane) //tablica z danymi
  1. $action = array();
  2. foreach($action_ as $r){
  3. $r = $r[$this->baza_danych];
  4. $action[] = $r;
  5. }
  6.  
  7. header('content-type: application/json; charset=utf-8');
  8. echo json_encode($action, true);


jeżeli $action[] = $r; zmienię na $action[0] = $r; wtedy wyświetla ale tylko 1 pozycję
com
  1. echo json_encode($action);


no i var_dump($action);
i sprawdź co dostajesz smile.gif
Randallmaster
Sprawdzałem już. W $action znajduje się tablica 2 poziomowa
slash^
Wywaliłeś true z json_encode?
Sprawzd czy dostajesz jakis blad przez json_last_error()
Randallmaster
usunołem.
błąd: JSON_ERROR_UTF8
slash^
echo json_encode($action, JSON_UNESCAPED_UNICODE);

?
Randallmaster
to samo ;/
com
rzuć przykładowymi danymi smile.gif

@down 5.4
slash^
Jezeli masz wersje php starsza od 5.3 w manualu jest przykład:

  1. function my_json_encode($arr)
  2. {
  3. //convmap since 0x80 char codes so it takes all multibyte codes (above ASCII 127). So such characters are being "hidden" from normal json_encoding
  4. array_walk_recursive($arr, function (&$item, $key) { if (is_string($item)) $item = mb_encode_numericentity($item, array (0x80, 0xffff, 0, 0xffff), 'UTF-8'); });
  5. return mb_decode_numericentity(json_encode($arr), array (0x80, 0xffff, 0, 0xffff), 'UTF-8');
  6.  
  7. }
Randallmaster
dane wyrzucane są z bazy danych latin2 to może być powodem.
slash^
Daj to przed json_encode

  1. function encode_items(&$item, $key)
  2. {
  3. $item = utf8_encode($item);
  4. }
  5.  
  6. array_walk_recursive($action, 'encode_items');
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.