Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] ograniczenia dla głosującego w rankingu
Forum PHP.pl > Forum > Przedszkole
fredzio90
otóż mam następujace pytanko, ponieważ zrobiłem sobie ranking, ograniczyłem userowi, ( tylko zalogowani moga dodawac DJ-a ) że nie może głosowac na własno dodanego DJ-a, ograz nie może 2 razy głosować na tego samego DJ-a. Lecz chcę "założyć" jescze jedną blokadę, otóż chciałbym zrobić aby użytkownik w CAŁYM rankingu, miał do dyspozycji TYLKO 10 głosów, te głosy są zapisywane do bazy ( głosować mogą TYLKo zalogowani, i przydatne jest nick głosującego biggrin.gif ) i niestety niewiem jak to możne by zrobić.....
cornholio666
Dodaj do tabeli jeszcze jedno pole ilosc_glosow. Za kazdym razem jak user zaglosuje to zwiekszaj pole o 1. Jak bedzie 10 to zablokuj głosowanie.
fredzio90
ale nie działa to w ten sposób... poprostu mam 2 tabel...
w jednej mam profile DJow i ich dane, a w drugiej zapisywane są głosyt oddane na tych djów.. wygląda ona tak:

  1. CREATE TABLE `ranking_dj_glosy` (
  2. `id` int(8) NOT NULL AUTO_INCREMENT,
  3. `nick` varchar(64) NOT NULL,
  4. `ip` varchar(32) NOT NULL,
  5. `data` datetime DEFAULT '0000-00-00',
  6. `na_kogo` varchar(64) DEFAULT '',
  7. PRIMARY KEY (`id`)
  8. ) ENGINE = MYISAM ;


i właśnie nie przypadało by mi przerabianie całego modułu, ponieważ już jest na wykończeniu, myślałem o jakimś sprawdzaniu, jakoś SELECT COUNT(*) FROM ranking_glosy

i potem jakos if $ilosc<10 { kontunuj, }else block
cornholio666
Rozumiem ze 'nick' to jest nick uzytkownika wiec musisz miec tabele z uzytkownikami. Przeciez musisz jakos pamietać ktory uzytkownik glosuje i ile razy wiec w tabeli 'usytkownik' musisz zrobic tak jak ci mowilem.

Chciaż możesz zrobić tak:

  1. SELECT COUNT(*) AS ilosc FROM ranking_glosy WHERE nick = '$nick';


Ale pierwsze rozwiazanie jest moim zdaniem lepsze.

Co masz w drugiej tabeli?
fredzio90
jak mówiłem, właśnie tak chyba zrobię, że podczas dodawania głosu będzie sprawdzana ilość głosów całkowita danego usera.. ;D

w tej drugiej tabeli jak mówiłem, jest zapisywana nazwa, imię, nazwisko, ilość głosów...
ilość głosów jest zapisywana, a raczej dodawane są punkty, a w drugiej automatycznie jest dodawane na kogo dany user głosował, i jaki miał nick.

Dziękuje, zajmę się tym sposobem co podałeś, będzie mniej roboty w porównaniu do pierwszego proponowanego przez ciebie sposobu ;DD

ale jedno pytanie bo tego niepojmuje:

dam np tkaie zpaytanie:

  1. <?php
  2. $sql = mysql_query("SELECT COUNT(*) as ilosc FROM ranking_glosy WHERE nick = '$gnick'");
  3. ?>


i jak mam sprawdzać ilość questionmark.gif

poprostu:

  1. <?php
  2. if($sql<10) {
  3. //Kontynuacja
  4. } elseif($sql==10) {
  5. //error ze nie moze głosować
  6. }
  7. ?>




hmmm questionmark.gif
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-2025 Invision Power Services, Inc.