Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Schemat bazy
Forum PHP.pl > Forum > Przedszkole
set4812
Chcę napisac system aktywnosci osób w określonych dniach. Do daty sa przypisane aktywnosci wszystkich osob nie wiem jak to zrobic prosze o pomoc w schemacie.Tak ma mniejwiecej wygldac lista wyswietlana wszystkich dat

Ulysess
a nie lepiej zrobić tylko pola ID,Data aktywnosci i prawdopodobnie grupa questionmark.gif
jeśli chcesz wyświetlić date aktywności tylko 1 osoby to może sie obyć bez grupy , jesli np klasy to juz wypadalo by dodać pole grupa.
poźniej pobierasz dane dla id_usera/grupy i wyświetlasz
CuteOne
tabele:
uzytkownicy - user_id | login | pass | itp.
aktywnosc - user_id | data

  1.  
  2. $select = mysql_query("SELECT u.user_id, a.data FROM uzytkownicy u, aktywnosc a WHERE a.user_id = u.user_id ORDER BY a.data ASC, u.user_id ASC");
  3.  
  4. while($row = mysql_fetch_row($select)) {
  5.  
  6. echo $row[1].' '.$row[0].'<br>';
  7. }
set4812
w tym sęk ze daty moga byc rózne i dlatego nie mam koncepcji jak dopisywac daty do user id
CuteOne
Jeżeli dobrze rozumiem:

  1. while($row = mysql_fetch_row($select)) {
  2.  
  3. $narray[$row[1]][] = $row[0];
  4. }
  5.  
  6. print_r($narray);


Wystarczy teraz przelecieć pętelką $narray i wyciągnąć user_id dla KAŻDEJ DATY

kombinuj.. to wcale nie jest takie trudne smile.gif
set4812
nie wiem jak ułozyc baze z datami. Wiem ze uzytkownicy odzielnie i aktywnosc odzielnie. Nie wiem jak tą aktywnosc zrobic zabradzo zeby dla uzytkownika był - albo + dla okreslonej daty.
Ulysess
ale jakie ma być w ogóle tego działanie questionmark.gif masz liste userów i każdemu zaznaczasz czy dziś był czy też czy nie czy jak questionmark.gif jeśli tak to dał bym 1 tabele z id_user dane 1 dane2 a 2 z logami id,id_user,status,date
status przyjmowal by wartości 0 i 1 , 0 nie byl 1 byl
set4812
tyle ze chce miec nieksonczona ilosc dat i do okreslonych dat miec dane
Ulysess
więc bez sensu jest tworzenie pól dla każdej daty :| zrób tabele z userami i zrob tabele z datami gdzie będzie trzymac id usera status i date
poźniej wyciągasz dane z tabeli dzieki dacie lub id usera w zależności czy chcesz dane usera czy dane z danego dnia.
CuteOne
Ulysess: skopiowałeś dokładnie to co wcześniej napisałem..

set4812: mówiłem kombinuj.. występuje jakaś data dla jakiegoś użytkownika :
$narray['12-10-2010'][12] = 1; //wartość 12 to user_id
$narray['12-10-2010'][23] = 1; //wartość 23 to user_id

dla reszty użytkowników dana data zwróci pusty wynik.. wystarczy przelecieć pętlą i wstawić głupie if($narray[$date][$user]) echo "+";


resztę sobie sam dopisz
set4812
mi nie chodzi o kod php tylko o schemat nie potrafi sobie wyobrazic dodawania
ciekawskiii
ja bym zrobil id, nick i date w bazie i wystarczy a pozniej sobie to powyswietlal za pomoca php
user767
osoby daty i tabela powiązana osoby_daty z zapytaniem join on.
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-2024 Invision Power Services, Inc.