Skocz do zawartości

[NodeJS][HarpJS] Tabela samo uzupełniająca w oparciu o JSON


Vafi
 Udostępnij

Rekomendowane odpowiedzi

Cześć,

Chciałbym zrobić samo tworzącą się tabelkę w NodeJS i HarpJS z pomocą pliku JSON.

Plik JSON _data.json

Spoiler

{
    "statystyki": {
        "title": "Statystyki",
        "tabelka1": {
			"title": "Tabela 1",
			"table": [
			  {
				"kolumna1": "1",
				"kolumna2": "2",
				"kolumna3": "3",
				"kolumna4": "4"
			  },
			  {
				"kolumna1": "7",
				"kolumna2": "8",
				"kolumna3": "9",
				"kolumna4": "10"
			  },
			  {
				"kolumna1": "20",
				"kolumna2": "25",
				"kolumna3": "64",
				"kolumna4": "65"
			  },
			]},
        "tabelka2": {
			"title": "Tabela 2",
			"table": [
			  {
				"kolumna1": "12",
				"kolumna2": "42",
				"kolumna3": "53",
				"kolumna4": "64"
			  },
			  {
				"kolumna1": "9",
				"kolumna2": "82",
				"kolumna3": "29",
				"kolumna4": "310"
			  },
			  {
				"kolumna1": "320",
				"kolumna2": "235",
				"kolumna3": "634",
				"kolumna4": "635"
			  },
			]}
	}
}

 

Plik statystyki.ejs (założenia)

Spoiler

<section id="statystki-tabelka">
	<header class="statystki-kolumna-tabelki">
		<h2>Statystyki</h2>
	</header>

	<div class="statystki-container-tabelki">
		<div class="statystki-wrapper-tabelki">

			<div class="statystki-kolumna-tabelki">
				<h2>Kolumna 1</h2>
				<ul>
					<li><% kolumna1 %></li>
				</ul>
			</div> <!-- statystki-kolumna-tabelki -->

			<div class="statystki-kolumna-tabelki">
				<h2>Kolumna 2</h2>
				<ul>
					<li><% kolumna2 %></li>
				</ul>
			</div> <!-- statystki-kolumna-tabelki -->

			<div class="statystki-kolumna-tabelki">
				<h2>Kolumna 3</h2>
				<ul>
					<li><% kolumna3 %></li>
				</ul>
			</div> <!-- statystki-kolumna-tabelki -->

			<div class="statystki-kolumna-tabelki">
				<h2>Kolumna 4</h2>
				<ul>
					<li><% kolumna4 %></li>
				</ul>
			</div> <!-- statystki-kolumna-tabelki -->

		</div> <!-- statystki-wrapper-tabelki -->
	</div> <!-- statystki-container-tabelki -->

</section> <!-- statystki-tabelka -->

 

Oraz tabelka

image

Nie wiem jak napisać funkcję by tabelka samo uzupełniała się w oparciu o plik JSON

Edytowane przez Vafi
Odnośnik do komentarza
Udostępnij na innych stronach

OK, jak wyciągnąć tagi i zamiast przecinka oddzielać je spacją " ", czy opis może być odczytany razem z aktywnym kodem HTML tj. <br \>

JSON

Spoiler

{
"gallery": {
	"gallery": {
		"image1": [{
			"opis": "Grządki widać, że spod ramion wytknął palce i dalej mówił: Grzeczność nie dozwalał, by znaczyć w tabakierę podawał starcowi. Wojski ubierze który teraz się kiedyś demokratą. <br \> Bo nie czytano w porządku. naprzód dzieci mało wdawał się ukłoni i każdego z powozu. konie porzucone same widzi sprzęty, też same portrety na folwark dążył po deszczu żabki po łące ucichły i dwiestu strzelców licznych i niesrogi",
			"tagi": ["gry", "esport"],
			"id": "1"
		}],
		"image2": [{
			"tagi": ["piłka nożna", "sport"],
			"id": "2"
		}]
	}
}

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...

Problem wciąż nierozwiązany? Dodaj swoją odpowiedź

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto. Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
 Udostępnij

  • Podobna zawartość

    • Witam, piszę z pytaniem, jak mogę wykonać zapytanie w MYSQL aby pobrać wyniki z ostatniego tygodnia. 
      W MYSQL zapisuje czas uniksowy (np. 1511518679) i chcę pobrać ostatni tydzień.
      Czyli od 20 lis.  26 lis.
      27 lis  3 gru.
      itd.
      Z góry dzięki
    • Pisze pewien kod w node js, mam problem z dodaniem elementów do obiektu, kiedy robię to od razu po zdefiniowaniu nie ma żadnego problemu, kiedy to robię w środku pętli for występuje błąd: 
      get_episodes_list: function(sid, callback) { self.get_seasons(sid, function(seasons) { if(seasons.length > 0) { var s_tree = {}; for(var x = 0; x < seasons.length; x++) { s_tree[x] = {}; // It works here!!!!! // test_name = 20; // test_obj = {"test": 1}; // s_tree[x][test_name] = test_obj; self.get_episodes(seasons[x]['season_id'], function(episodes) { for(var episode in episodes) { // It doesn't work here!!!!! test_name = 20; test_obj = {"test": 1}; s_tree[x][test_name] = test_obj; console.log(s_tree); }; }); } } else { episodes_tree = []; } //callback(episodes) }); }
    • Mam problem z funkcją, której zadaniem jest wyciągniecie z bazy danych wszystkich odcinków i uszeregować je według sezonów w następujący sposób:
      episodes_list =
      {
            1: {
                     1 : {},
                      .....
            },
            .....
      }
      W konsoli wyskakuje mi błąd: 
        //edit: rozwiązane
    • Witam  Jak ostatnio pisałem w node js jestem zielony troche
      Dlatego przyszedł zapytać się może ktoś mi pomoże. Jeśli chodzi o pobranie ilości graczy po `userid`, no to w PHP możemy to zrobić w taki sposób.
      $players=$mysql->query('SELECT DISTINCT `userid` FROM `game1`'); $playersnum=$players->num_rows; I przez $playersnum możemy wyświetlić liczbe graczy.
      Lecz ja chcę to zrobić w NodeJS i zbytnio nie wiem jak.
      Ma ktoś jakiś pomysł ?
    • Hej, cześć, mam problem z JSONem i PHP... Kiedyś kolega @Krugerz odpłatnie zrobił mi tą funkcję ale zachowała mi się tylko część kody i próbuję to uruchomić....
      Konsola wywala błędy:

      Kod HTML:
      <form action="panel.php?module=main&controller=auth&do=integracja" novalidate="novalidate" method="post" id="samplogin_form"> <table novalidate="novalidate" class="tborder" border="0" cellpadding="5" cellspacing="0"> <tbody> <tr> <td class="thead" colspan="2">Integracja konta</td> </tr> <tr> <td class="trow1" valign="top" width=\"50%\"> <fieldset class="trow2"> <legend>Szczegóły konta</legend> <table cellpadding=\"5\" cellspacing=\"0\" width=\"100%\"> <tbody> <tr> <td colspan="2"><span class="smalltext"><label for="username">Login SAMP:</label></span></td> </tr> <tr> <td colspan="2"><input class="textbox" name="user_nick" id="username" style="width: 80%" value="" autocomplete="off" type="text"></td> </tr> <tr> <td valign="top" collspan="2" width="50%"><span class="smalltext">Hasło SAMP:</span></td> </tr> <tr> <td valign="top" collspan="2"><input aria-required="true" class="textbox" name="user_pass" id="password" style="width: 80%" type="password"></td> </tr> </tbody> </table> </fieldset> </td> </tr> </tbody> </table> <br /> <div align="center"> <input id="log_submit" class="button" name="regsubmit" value="Zaloguj się!" type="button"> </div> </form> <script> $(document).ready(function() { $("#samplogin_form").keydown(function(event){ if(event.keyCode == 13) { event.preventDefault(); return false; } }); }); var form_nick, form_pass, result; $("#log_submit").click(function() { form_nick = $("#samplogin_form input[name=user_nick]").val(); form_pass = $("#samplogin_form input[name=user_pass]").val(); var data = new FormData(); data.append("user_nick", form_nick); data.append("user_pass", form_pass); data.append("integration", "1"); data.append("my_post_key", my_post_key); var xhr = new XMLHttpRequest(); xhr.open("POST", "panel.php", true); xhr.onload = function () { result = JSON.parse(this.responseText); if(result.result == 6) { $(".panel_panel").html("<center>Konta zostały zintegrowane pomyślnie!</center>"); } }; xhr.send(data); }); </script> Funkcja PHP:
      function goldPanel_integration() { global $mybb, $panel, $menu_bok, $db; // Load DB interface $sampcon['database']['type'] = 'mysqli'; $sampcon['database']['database'] = $mybb->settings['goldPanel_table']; $sampcon['database']['hostname'] = $mybb->settings['goldPanel_link']; $sampcon['database']['username'] = $mybb->settings['goldPanel_login']; $sampcon['database']['password'] = $mybb->settings['goldPanel_pass']; require_once MYBB_ROOT."inc/db_base.php"; require_once MYBB_ROOT."inc/db_".$sampcon['database']['type'].".php"; $con = new DB_MySQLi; $con->connect($sampcon['database']); /*$con = @mysqli_connect($mybb->settings['goldPanel_link'], $mybb->settings['goldPanel_login'], $mybb->settings['goldPanel_pass'], $mybb->settings['goldPanel_table']);*/ if(mysqli_connect_errno($con)) { error('Przy próbie połączenia z bazą danych wystąpił błąd.'); } else { header('Content-Type: application/json'); if(!$mybb->user['uid']) { $error = 0; //Użytkownik nie jest zalogowany } else { if(!$mybb->user['premiumMod_user']) { $error = 1; //Panel nie działa prawidłowo (Brak dodanej kolumny w bazie) } else { if(!isset($mybb->post_code) || $mybb->input['my_post_key'] != $mybb->post_code) { $error = 2; //Nie prawidłowy post_key } else { if($mybb->user['premiumMod_user'] != -1) { $error = 3; //Użytkownik ma już zintegrowane konto } else { $user_nick = htmlentities($con->real_escape_string($_POST['user_nick'])); $user_pass = zahashuj($con->real_escape_string($_POST['user_pass'])); $query = $con->query("SELECT * FROM premiumMod_Players WHERE PLAYER_NAME = '{$user_nick}' AND PLAYER_PASS = '{$user_pass}'"); if($query->num_rows == 0) { $error = 4; //Nie prawidłowe dane } else { $result = $query->fetch_array(); $query2 = $db->query("SELECT * FROM ".TABLE_PREFIX."users WHERE premiumMod_user = '{$result['uid']}'"); if($query2->num_rows > 0 ) { $error = 5; //Konto jest zintegrowane z innym uzytkownikiem } else { $db->write_query("UPDATE ".TABLE_PREFIX."users SET premiumMod_user = '{$result['uid']}' WHERE uid = '{$mybb->user['uid']}'"); $success = 1; //integracja udana } } } } } } if(isset($error)) { $result = $error; } else { $result = 6; } $result = Array( 'result' => $result ); echo json_encode($result); exit; } } Dodam, że ten skrypt jest wbudowany w silnik MyBB.
  • Najnowsze tematy

  • Ostatnio rozwiązane

×