![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 0 Dołączył: 18.04.2004 Skąd: Z nikąd Ostrzeżenie: (30%) ![]() ![]() |
chce zrobic shputbox. Wiem chyba jak sie zabrac. Dodawanie, wczytywanie - no problem.
Ale mam dwa pytania: 1. W miarę dodawania wpisów ID będzie rosło, a stare wpisy usuwane. Jak sobie z tym poradzić? Myślałem, aby nie robić pola ID... 2. Jak usunąć tabeli wszystkie wpisy pozostawiając 10 najnowszych. Chcę użyć jednego zapytania... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
a. po co usuwac stare wpisy?
b. ID może być naprawdę duże i niczemu to nie przeszkadza Pozatym, pole ID zawsze jest potrzebne jesli chcesz w jakiś sposób administrowac contentem. Jak inaczej odnajdziesz okreslony rekord wśród innych? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 0 Dołączył: 18.04.2004 Skąd: Z nikąd Ostrzeżenie: (30%) ![]() ![]() |
Mam swoje powody.
Wpisów będzie napraaawde duużo. Z tego winkają moje pytania. Muszę usuwać stare wpisy - usune te z przed tygodnia - poradze sobie, ale ID jest problemem. Nie da się ustawić, aby ID było dodawane od najmniejszych liczb? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Ile to jest duzo? Ile na dzien? Z moich wyliczen wynika, ze zwykly serial z postgresa wystarczy Ci na 68 lat jesli jeden wpis bedzie co sekunde.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 11.06.2005 Skąd: Gostyń Ostrzeżenie: (0%) ![]() ![]() |
W MySQL zaś, ustawiając typ kolumny z ID na BIGINT UNSIGNED, otrzymujesz maksymalną wartość wynoszącą 18446744073709551615. Chyba starczy na jakiś czas? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .
Zresztą, chyba INT też by starczył. http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 0 Dołączył: 18.04.2004 Skąd: Z nikąd Ostrzeżenie: (30%) ![]() ![]() |
OK, a jeszcze jedno. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Jak usunąć za pomocą jednego zapytania najstarsze wpisy z tabeli, pozostawiająć jedynie 30 najnowszych. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Nie da się bez podzapytania.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 149 Pomógł: 0 Dołączył: 18.04.2004 Skąd: Z nikąd Ostrzeżenie: (30%) ![]() ![]() |
a jak zrobic, aby w ramce pasek przewijania po otworzeniu strony był przewinięty na dół...
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
Możesz wykorzystać do tego etykiety. Oraz window.location na początku strony.
|
|
|
![]()
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
To jeszcze w kwestii ID: może zamiast id użyć pola datetime?
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 607 Pomógł: 23 Dołączył: 8.09.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Możesz zrobić tak:
Gdy listujesz wszystkie wypowiedzi, zliczaj je
po czym zadajesz pytanie
na datetime ciężej się operuje... Ten post edytował Spirit86 28.02.2006, 17:46:31 |
|
|
![]()
Post
#12
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Od pewnego czasu hołduję zasadzie - nigdy nie kasuj danych z bazy.
Po to te mechanizmy powstały, żeby przechowywać w nich dane. To w kwestii Twojego kasowania wpisów. Jeśli koniecznie chcesz kasować lub (lepiej) wybierać wpis sprzed (lepiej: wybierać od) określonej daty, zaraz po ID dodaj pole timestamp. Przy dodawaniu nowego wpisu nadajesz mu wartośc i teraz: 1. Aby usunąć:
2. Aby wybrać:
Nie potrzeba subselectów... NIe trzeba niczego liczyć.... Wystarczy wiedzieć, że programowanie to coś więcej niż tylko stukanie w klawiaturę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 22:05 |