My przy implementacji forum zrobiliśmy tak, że każda para user, wątek miała datę ostatnich odwiedzin. Wszystkie posty późniejsze uznawaliśmy jako nieodczytane. W sumie też jestem ciekawy, jak to zrobić lepiej.
Wersja do druku
My przy implementacji forum zrobiliśmy tak, że każda para user, wątek miała datę ostatnich odwiedzin. Wszystkie posty późniejsze uznawaliśmy jako nieodczytane. W sumie też jestem ciekawy, jak to zrobić lepiej.
Jedyne co mi do głowy przychodzi to tabela user, watek, id ostatniego widzianego w nim postu. To by mogło działać, ale generuje miliardy wierszy w bazie...
a jakbyście spojrzeli w kod albo nawet i w schemat bazy chociażby phpbb?
@rollecoster;
rozważ rest
W phpBB jest takie coś:
orazKod:# Table: 'phpbb_forums_track'
CREATE TABLE phpbb_forums_track (
user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
mark_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
PRIMARY KEY (user_id, forum_id)
) CHARACTER SET `utf8` COLLATE `utf8_bin`;
Czyli (user, watek_id, timestamp) dla konkretnego wątku.Kod:# Table: 'phpbb_topics_track'
CREATE TABLE phpbb_topics_track (
user_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
topic_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
forum_id mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
mark_time int(11) UNSIGNED DEFAULT '0' NOT NULL,
PRIMARY KEY (user_id, topic_id),
KEY topic_id (topic_id),
KEY forum_id (forum_id)
) CHARACTER SET `utf8` COLLATE `utf8_bin`;
Czyli wychodzi na moje, z tym że tam jest timestamp a nie id postu(co w sumie znacznie ułatwia dzialanie), ale generuje masakryczne ilosci rekordów, trochę przerazajaco to wygląda
PS. Vegeta jest popiejdojony
Cześć moze głupie pytanie nie chce zakladać nowego tematu a tutaj wiem że mi pomozecie
w jaki sposob zrobić żeby wyświetlało liczby decymalnie oktalnie heksadecymalnie
ale chodzi mi zeby w rzędzie były
jedna pod drugim tego samego typu
takie coś wymyśliłem ale niestety nie działa ważne żeby było z tą pętląKod:#include <stdio.h>
int main()
{
printf("| DEC | OCT | HEX |\n");
int n = 0;
for (n=0; n <= 16; n++)
printf("%d", n);
for (n=0; n <= 16; n++)
printf("%x", n);
for (n=0; n <= 16; n++)
printf("\n");
return 0;
}
musi zostaćKod:for (n=0; n <= 16; n++)
pytanie zapewne banalne ale chyba porblem tkwi w tym ze najpierw dodaje wszystko potem przenosi. to dopiero moje początki
?Kod:#include <stdio.h>
int main()
{
printf("| DEC | OCT | HEX |\n");
int n = 0;
for (n=0; n <= 16; n++)
{
printf("%4d", n);
printf("%6o", n);
printf("%6x", n);
printf("\n");
}
return 0;
}
dzieki wielkie tak też robiłem ale dawałem d,x,X
Dla chetnych, do poczytania:
http://blog.panqnik.pl/dev/co-varian...structor-in-c/
Komentarze mile widziane ;)
apropo C++ mam pytanko.
jeżeli piszemy za każdym razem:
czyKod:std::cout << "text" << std:endl;
Moje pytanie brzmi czy utradnie sobie życia przez wypisywanie ciągle std::cout itp jest tylko po to, żeby sobie utrudniać życie, czy ma jakies zastosowanie praktyczne?Kod:using namespace std;
...
cout << "text" << endl;
Uzywanie przedrostka "std" indykuje, ze funkcja/klasa itd. jest w przestrzeni nazw biblioteki standardowej, a w projektach duzego kalibru, jest to dosc przydatna informacja. Widzac np. std::queue<int> oraz queue<int>, nie musze sie zastanawiac czy to jakas customowa kolejka :)
Osobiscie, to zawsze uzywam std.