Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][Javascript]Wyświetlenie poprawnie danych z json w tabeli html
Charon
post 20.03.2019, 15:00:27
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.03.2019

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


Witam,

Mam problem z usunięciem obiektu z pliku json. Strona działa tak, że wpisuje dane do inputów, później klikam przycisk i te dane są dodawane w formacie json do pliku json. Podczas dodawania dodają się ładne wiersze dzięki funkcji addTodosToPage(), po odświeżeniu strony funkcja getTasks() wypluwa całą zawartość json-a w pierwszej kolumnie w pierwszym wierszu w formacie json. Wydaje się, że błąd jest w tym, że nie potrafię pociąć danych tak jak podczas dodawania na stronie i chyba w tym, że źle tworzę json, ale nie umiem go poprawić.
Poniżej wrzucam json

[{"data":[{"index":"4","partia":""}]}],[{"data":[{"index":"6","partia":""}]}],

  1. <?php
  2.  
  3.  
  4. $unsafe_json = json_decode( $_GET["data"], true );
  5.  
  6. if( ! is_array( $unsafe_json ) ) {
  7.  
  8.  
  9. die('Błąd zapisu');
  10. }
  11.  
  12.  
  13. $safe_json = [ 'data' => [] ];
  14.  
  15. $values = [ 'index', 'partia' ];
  16.  
  17. foreach( $unsafe_json as $unsafe_todo ) {
  18. $safe_todo = [];
  19.  
  20. foreach( $values as $value ) {
  21. if( isset( $unsafe_todo[$value] ) && is_string( $unsafe_todo[$value] ) ) {
  22. $safe_todo[$value] = filter_var( $unsafe_todo[$value], FILTER_SANITIZE_STRING );
  23. } else {
  24. $safe_todo[$value] = false;
  25. }
  26. }
  27.  
  28. $safe_json['data'][] = $safe_todo;
  29. }
  30. $json_decoded = json_decode($json_encoded, true);
  31. foreach ($json_decoded as $i => $object)
  32. if ($object['data']['index'] == 1)
  33. unset($json_decoded[$i]);
  34. // Zapis do pliku
  35. $file = fopen( "todo.json", "a" );
  36.  
  37. fwrite( $file, '[' . json_encode( $safe_json ) . '],' );
  38. fclose( $file );
  39.  
  40. $data = file_get_contents('todo.json');
  41.  
  42.  


A tu reszte kodu - https://jsfiddle.net/3z8kwrue/


Proszę o pomoc, bo nie mam już pomysłu jak to dobrze wyświetlić.
Go to the top of the page
+Quote Post
nospor
post 20.03.2019, 15:33:53
Post #2





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




Zacznijmy od tego ze JSON z reguly nie sluzy do przechowywania bazy produktow.
Czemu twoj plik nie jest poprostu zwyklym plikiem np. csv. Po co kombinowac z JSON tutaj?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Charon
post 20.03.2019, 20:58:39
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.03.2019

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


Chciałbym go wykorzystać, ale jeśli nie jest on poprawny do wykorzystania to pomóż mi proszę wdrożyć ten dobry format, np csv
Go to the top of the page
+Quote Post
nospor
post 21.03.2019, 10:16:05
Post #4





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




To ze masz dane w csv nie stoi w konkflicke, bys potem je soie konwertowal do tego JSON gdy request o to poprosi.

A w czym pomoc? Nie wiesz jak wyglada format csv?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Charon
post 21.03.2019, 10:19:21
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 20.03.2019

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


Potrzeba mi jedynie, żeby dobrze wyświetlić te dane w tabelce a później móc je usunąć z pliku pojedynczo lub wszystkie zaznaczając checkboxa, który zaznacza wszystkie checkboxy w liście.

Ten post edytował Charon 21.03.2019, 10:19:48
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: 28.03.2024 - 20:16