ForumCała strona

Nawigacja

Aktualnie online

Gości online: 7

Użytkowników online: 0

Łącznie użytkowników: 25,400
Najnowszy użytkownik: AlojzyBartek

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

Musisz zalogować się, aby móc dodać wiadomość.

Zbigniew@
17.11.2024 11:33:24
Nie ten grzeszy kto pije, ale ten, kto się nie upije.

JazOOn
16.11.2024 20:46:18
tja

Zbigniew@
15.11.2024 18:58:17
Kto pije, ten nie bije.

JazOOn
31.10.2024 20:49:47
Kto pije?

piterus
30.10.2024 19:45:48
I będziemy śpiewać: "Kiedy 20 blisko, przebadaj wszystko, przebadaj wszystko..." Pfft

Pobierz nową wersję
Pobierz podręcznik
Zobacz inne oficjalne Supporty
Statystyki supportu
PHP-Fuson PL na Facebooku

RSS

Polecamy hosting SferaHost.pl

Zobacz temat

 Drukuj temat
Głosowanie użytkowników na cokolwiek
jajaja
Witam.
Siedzę od kilku dni i przeglądam posty związane z różnego rodzaju głosowaniami. Staram się stworzyć wtyczkę na głosowanie na cokolwiek. Dokładnie sprawa wygląda tak:
1. Chodzi o głosowanie.
2. Głosować mogą tylko użytkownicy.
3. Jeden użytkownik może głosować tylko raz na tę samą rzecz, ale może glosować ponownie na inną.
4. Będzie wyświetlany w panelu lub na osobnej stronie wynik.

Dla dokładniejszego przedstawienia podaje poniższy przykład.
Głosowanie na imiona.
Użytkownik wchodzi na stronę gdzie ma prosty formularz składający się z jednego okienka. Tam wpisuje imię na które głosuje.
W bazie danych pojawia się informacja, że na imię np. Marcin został oddany głos przez usera aaa.
Ten sam user jak chciałby zagłosować jeszcze raz na to imię to miałby informację że już oddał takowy głos. Ale gdyby wpisał kolejne imię np. Adam, to jego głos byłby zapisany.
Teraz kolejny user wpisuje imię Marcin. I ten głos jest zapisany. Lub może wpisać kolejne imię np. Krzyś i to będzie dodane do bazy.
Mam nadzieje że sposób głosowania wyjaśniłem w miarę dokładnie.
Teraz jak to miało by się wyświetlać.
Szło by zapytanie do bazy o unikalny wpis, np. Marcin, Krzyś, Adam itp
Po znalezieniu takowego wpisu, np. Marcin, przeszukiwałby bazę w celu ile razy było na takowy wpis głosowanie. (system miałby NIE rozróżniać wielkości znaków; Marcin czy marcin czy MArCIn to miało by być to samo)
Po zliczeniu ilości dla imienia Marcin, poszukiwałby kolejnego unikanego wpisu (imienia) i tak samo by to zliczał.
Na samym końcu segregowałby te imiona wg ilości oddanych głosów.

Mam nadzieje ze nie jest to zbyt pogmatwane. A może macie inną propozycję (sugestię) jak takowe głosowanie przeprowadzić.
Pozdrawiam
 
Wścibski Gość
Dodany dnia 25.11.2024 16:12:23
Pan Kontekstualny

Postów: n^x
Data rejestracji: Zawsze

Polecamy hosting SferaHost.pl
IP: localhost  
kefirek
Robisz sobie tabele w bazie danych np. takie cos


vote_name|user_id
Marcin | 1
Krzys | 2
Krzys | 3
Tomek | 3
Tomek | 5


jajaja napisał/a:
3. Jeden użytkownik może głosować tylko raz na tę samą rzecz, ale może glosować ponownie


Przed dodaniem do bazy sprawdzasz zapytaniem czy istnieje w bazie takie imię które podał user w formularzu oraz id usera które chce je dodać.

Jak rekord istnieje nie dodajesz jak nie istniej dodajesz nowy rekord.

jajaja napisał/a:
(system miałby NIE rozróżniać wielkości znaków; Marcin czy marcin czy MArCIn to miało by być to samo)


Przed dodaniem do bazy dobrze by było dać strtolower($_POST['vote_name'])
By wartości w bazie z były z małych liter

jajaja napisał/a:
Po zliczeniu ilości dla imienia Marcin, poszukiwałby kolejnego unikanego wpisu (imienia) i tak samo by to zliczał.
Na samym końcu segregowałby te imiona wg ilości oddanych głosów.


BY wyświetlić wynik dajesz zapytanie

Pobierz kod źródłowy  Rozwiń Kod źródłowy


I masz imiona i ilość głosów.
Edytowane przez kefirek dnia 31.10.2010 21:44:39
 
jajaja
Ok, to teraz sytuacja wygląda tak:
Tak wygląda moja baza:
Pobierz kod źródłowy  Rozwiń Kod źródłowy


A tak wygląda plik wstawiania do bazy:
Pobierz kod źródłowy  Rozwiń Kod źródłowy


No i prawie wszytko jest OK, bo dane wpisywane są do bazy danych, ale wywala mi błąd
Pobierz kod źródłowy  Rozwiń Kod źródłowy


To są moje początki z sqlem i może robię jakiś głupi błąd.

Będę chciał aby ograniczyć wpisywanie w pole "callsign" tylko liter cyfr i znaku "/", no i żeby były później one wyświetlane wielkimi literami.

Dla tych co chcą przetestować to: www.pdxa.one.pl hasło/login test/test1234
Edytowane przez jajaja dnia 09.11.2010 22:27:11
 
jajaja
@Rafik89 dziękuje za info.
Teraz kod wygląda tak:
Pobierz kod źródłowy  Rozwiń Kod źródłowy


I następuje kolejne pytanie. Jak wpiszę wszytkie dane to do bazy wchodzi to ok. Jak nie wpiszę jakieś opcji to wywala mi:
Pobierz kod źródłowy  Rozwiń Kod źródłowy


Znalazłem taką opcję:
Pobierz kod źródłowy  Rozwiń Kod źródłowy

Ale ona tylko wyświetla informacje że jest błąd.
A jak zrobić aby musiałbyć poprawni wypisany formulaż a dopiero po tym pójdzie to do bazy.

Będe miał jeszcze pytanie jak zrobić warunek aby osoba która juz dodła swoj głos nie mogła tego zrobić ponownie, ale to poźniej.
 
Gismo_PL
@jajaja - a próbowałeś sprawdzić jak to jest rozwiązane w PHP-Fusion np. w przypadku rejestracji użytkownika Pfft i konieczności wypełnienia wymaganych pól?
Edytowane przez Pieka dnia 17.11.2010 19:16:38
 
http://fsong.pl
jajaja
@Gismo_PL dziękuję za podpowiedź.
Teraz kod wygląda tak:
Pobierz kod źródłowy  Rozwiń Kod źródłowy


Teraz proszę o podpowiedź, jak zrobić wykluczenie z głosowania.
Przyjmijmy założenie że:
Został oddany głos na osobę X, która pracowała na paśmie 2m i z modulacją AM.
W formularzu, zalogowany użytkownik wpisuję w miejsce ZNAK - X, zaznacza kółeczko przy 2m oraz przy AM. Oddaje głos.
Teraz warunek jaki miałby spełnić formularz.
Ten sam użytkownik nie może oddać już takiego samego głosu.
Czyli domyślam się że przed wstawieniem wpisu do bazy, powinno pójść zapytanie:
if użytkownik oddał głos i istnieje wpis w bazie - X, 2m, AM to
głos został oddany,
else może głosować.

Chodzi o to że unikalny użytkownik może tylko oddać głos na jeden znak w różnych konfiguracjach, ale nie może tej samej powtórzyć.
Czy ktoś może mnie naprowadzić jak to ugryźć?


Wiadomość doklejona:
Walczę dalej i wymyśliłem takie coś. Ale nie działa. Nie wiem czy to kwestia złego toku myślenia czy błędów w składni.
Pobierz kod źródłowy  Rozwiń Kod źródłowy


Wiadomość doklejona:
Czy to jest dobry warunek wykluczający z bazy danych:
Pobierz kod źródłowy  Rozwiń Kod źródłowy


Wiadomość doklejona:
Czy któryś z kolegów lub koleżanek byłby wstanie mi pomóc z tym zapytaniem?
Czy to jest tak banalnie proste czy tak trudne że nikt nie chce mi dopomóc?
Edytowane przez jajaja dnia 28.11.2010 22:21:56
 
Przejdź do forum:
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl