Tablica dobra do zapisywania informacji w bazie danych?

1

Witam, otóż tak szczerze nie wiem jak się do tego zabrać, chodzi o to, że otrzymuje dane przy pomocy JQuery (ajax) w danych m.in. znajdują się dane ile ma się punktów i co zostało zniszczone tzw. target. Nie wspomniałem wcześniej, że to tak jakby mini gierka, chciałbym, żeby dane co zostało zniszczone czyli ten target był w bazie danych czyli w razie odświeżenia strony było pokazane co zostało zniszczone (tak jakby zapisane), teraz nie wiem czy umieszczać to do tablicy (w PHP) czy jak. Mam nadzieję że w miarę zrozumiale to napisałem pokaże jeszcze część kodu:

 data: {destroyed: destroyed, target: target}
$t = $_POST['target']; 
echo $t;

Wracając to zmienna "destroyed" jest nieważne na ten moment bo poradziłem sobie z tym (licznik ile ma się zniszczonych).
A tutaj jeszcze ss:
screenshot-20210417150409.png

0

Tu nie chodzi o to jakiej kwerendy użyć, chcę wiedzieć mając np. 1000 użytkowników i każdy z nich ma tą planszę co wysłałem, każdy z tych punktów mam wrzucić do tabeli to chyba będzie dużo tych rekordów :D A ja chcę wiedzieć jak najlepiej to zrobić by jak najmniej mieć

1

Bardzo źle to opisałeś.
Jakie są wymiary tabeli?
Ile stanów może przyjąć każda jej komórka?

0

Tabela jest dynamiczna i ulega zmiany przy każdym poziomie, aktualnie 4: (bez niczego, uszkodzony, bardzo uszkodzony, zniszczony)
Przy zniszczeniu wysyła informacje do php, że zostało to zniszczone odbieram dane i wszystko w porządku tylko chciałbym wrzucać to do jakiejś tablicy czy coś takiego a tą tablice potem umieścić w bazie. Czyli dla jednego użytkownika będzie wszystko w jednym, cała potrzebna informacja do wczytania gry.

1

Jeśli chcesz mieć to w jednym rekordzie to serializuj tablicę ze stanem gry jako pole.

3

Jak zmieniają się wielkości tej tablicy? Maksimum i minum?
Niesety może nie super wydajne ale jak masz MySQL to może serializacja do JSON?
https://www.digitalocean.com/community/tutorials/working-with-json-in-mysql

0

Nie wiem do końca czy o to mi chodzi o serializacje. Jakby wiem, że to bardzo zła praktyka i powinienem to napisać tablicowo-obiektowo, ale na ten moment mam taki kod:

function Level1() {
  for (i = 1; i <= 36; i++) {
    defaultSettings();
    div.classList.add("level1");
    board.style.width = "558px";
    board.style.height = "248px";
  }
}
function Level2() {
  for (i = 1; i <= 78; i++) {
    defaultSettings();
    div.classList.add("level2");
    board.style.width = "545.9px";
    board.style.height = "252px";
  }
}
function Level3() {
  for (i = 1; i <= 189; i++) {
    defaultSettings();
    div.classList.add("level3");
    board.style.width = "594px";
    board.style.height = "154px";
  }
}
function defaultSettings() {
  div = document.createElement("div");
  board = document.getElementById("board");
  div.id = "pix" + i;
  board.appendChild(div);
  board.childNodes[i].addEventListener("click", function (e) {
    target = e.target.id;
    t = document.getElementById(target);
    if (t.classList.contains("yellow")) {
      t.classList.remove("yellow");
      t.classList.add("red");
    } else if (t.classList.contains("red")) {
      t.classList.remove("red");
      t.classList.add("destroyed");
      destroyed = 1;
      $(document).ready(function () {
        $.ajax({
          type: "POST",
          url: 'includes/game2.inc.php',
          data: {destroyed: destroyed, target: target},
          success: function(data) {
            if (data == "Error") {
              alert("Ejj haker majster nie CITUJ :)");
            }
            alert(data);
          },
          error: function (xhr, status, error) {
            alert(xhr + " " + status + " " + error);
          },
        });
      });

    } else if (t.classList.contains("destroyed")) {
      alert("ID: " + target + " zostało już zniszczone");
    } else {
      t.classList.add("yellow");
    }
  });
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1