![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 19.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich
Mam takie pytanie Mając tabele składającą się z kolumn: id imie nazwisko glosy i w tej tabeli mam np 200 rekordów To jakie mogę zadać zapytanie do bazy aby każdego dnia był dodawany jeden głos losowo wybranym ludziom np 10 osobom Czyli każdego dnia dla losowo wybranych 10 osób każda z nich dostanie po 1 głosie?? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 17 Pomógł: 1 Dołączył: 26.11.2007 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Przykładowy algorytm
1. Jeśli tylko 200 rek. to możesz wrzucić id tych rekordów do tablicy (im więcej tym gorzej działa!!!) 2. losujesz 10 nie powtarzalnych liczb z zakresu 1-200 3. wybierasz elementy z tab utworzonej w punkcie 1 4. robisz update głosów dla wybranych ID ps. jest jeszcze w sql coś takiego jak RAND() Ten post edytował rygiel 19.12.2007, 15:03:12 -------------------- Programista PHP
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 2 Dołączył: 12.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Czysty mysql:
UPDATE tabela set glosy=glosy+1 order by rand() limit 10 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 19.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
to zapytanie jest ok i dziękuje za to, a jak jeszcze uzależnić że to zapytanie ma wykonywać się każdego dnia po jednym razie??
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 17 Pomógł: 1 Dołączył: 26.11.2007 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
skrypt trzeba w CRON-ie odpalać
-------------------- Programista PHP
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 19.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
troche może głupio to zabrzmi ale nie wiem co to jest CRON
a czy tega zapytania nie można napisać tak UPDATE tabela set glosy=glosy+1 order by rand() limit 10 tylko że jakoś uzależnić od dnia i wrzucić funkcję mktime?? nie wiem czy dobrze mysle chyba że to zapytanie wrzucić normalnie do jakiegoś pliku PHP i dopiero w php trzeba napisać funkcję która będzie tylko raz dziennie wywołać to zapytanie?? sam już nie wiem jak to powinno być ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 155 Pomógł: 9 Dołączył: 26.01.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
crontab = odpalanie skryptów o określonym czasie
man crontab w shellu odpalasz skrypt: np. vote.php cronem w Cpanelu masz jakiś kreator kronowy. a vote.php 1. Czytasz wszystkie id do tablicy
2. Teraz losujesz te 10. Z powtórzeniami wersja.
W sumie to tyle -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 295 Pomógł: 7 Dołączył: 26.03.2004 Skąd: Opole Ostrzeżenie: (0%) ![]() ![]() |
Myślę, że największy problem będzie z tym crontabem, bo niewiele osób ma dostęp do shella, a jeszcze mniej ma dostęp do crona
![]() -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 17 Pomógł: 1 Dołączył: 26.11.2007 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
można pokusić się o inne roziwązanie jeśli na stronę wchodzi więcej niż 1 osoba . Wystarczy gdzieś zapisywać że skrypt został dziś odpalony i jeśli nie to go uruchomić.
Ten post edytował rygiel 20.12.2007, 08:43:36 -------------------- Programista PHP
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 19.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
no właśnie ja mam z tym problem
i jeśli jest to możliwe to chciałbym poznać jakieś rozwiązanie prostrze lub takie które będe mógł zapisać np w phpie |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 09:46 |