Witam wszystkich :)
Chciałbym się podzielić z wami moją koncepcją strony matematycznej z bazą danych, i dostać od was informację zwrotną czy wykorzystana przez mnie koncepcja jest dobra czy też można coś zmienić uprościć. Może na początku kilka słów o stronie.
Zadania są pobierane z bazy danych, każda tabela odpowiada działu z matematyki. Każdy dział posiada konkretne zadania. Poniżej tabela z zadaniami dla liczb rzeczywistych.
(TABELA 1)
Po zalogowaniu każdy użytkownik będzie mógł sprawdzić czy jego odpowiedź jest dobra, zła, czy też pozostawiona bez odpowiedzi, w tym celu musiałem utworzyć kolejną tabelę z rezultatem odpowiedzi dla każdego użytkownika. Gdzie:
0 - brak odpowiedzi
1 - dobrze
2 - źle
W tabeli poniżej jako klucz podstawowy zdefiniowałem iduser.
(TABELA 2)
Utworzona relacja między tabelami jest to relacja 1:1.
(TABELA 3)
Stronę można przejrzeć na http://matkat2.prv.pl/ . UWAGA JEST MOCNO niedopracowana gdyż potrzebuję właśnie potwierdzenia iż moja koncepcja strony jest koncepcyjnie dobra. Jeśli ktoś chce się zalogować to loigin: ania hasło: ania teraz kilka pytań do was do których nie mam odpowiedzi:
1. Nie do końca jestem pewien czy dobrze rozwiązałem sprawę z relacyjnością i tabelami, założeniem było jak najmniej tabel, niestety prawdopodobnie żeby zweryfikować czy użytkownik odpowiedział dobrze i strona zapisała jego odpowiedź, jest stworzenie nowej tabeli z stanami odpowiedzi (tabela.2).
2. Po zarejestrowaniu nowego użytkownika chciałbym (nie nie wiem czy jest fizycznie taka możliwość czy też trzeba to dopisać w kodzie) aby w każdej tabeli (TABELA 2) idusera było automatycznie utworzone. Póki co poradziłem sobie kodem:
$mysql_connect->query("INSERT INTO logowanie VALUES (NULL,'$nick','$pass_hash','$email')") && $mysql_connect->query("INSERT INTO odpliczbyrzeczywiste(iduser) SELECT iduser FROM logowanie WHERE uzytkownik='$nick'"
Gdy będę mieć 20 działów (TABELA 1) to analogicznie 20 tabeli z stanami odpowiedzi (TABELA 2) przez co będę musiał zapętlić w jakiś sposób zapytanie do baz danych aby utworzył mi rekord z idusera. I tutaj pytanie czy da się takiego rozwiązania uniknąć i czy jest na to prostszy sposób?
Z góry przepraszam jeśli coś jest niejasne.
Pozdrawiam