Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Sytem oceniana
Forum PHP.pl > Forum > Przedszkole
Nostromo
Chcem zrobić możliwość oceny ,gdzie będzie można kliknąć + lub - ,ale właśnie nie wiem jak zacząć :/ Czy zrobić to za pomocą formularza ,czyli po nacisnieciu przechodzi do formularza i wtedy dodaje ? Ktoś mnie może na "kierować " ? Bo sęk jest w tym ,że nie wiem za co się złapać dry.gif

edit: Coś takiego jak znajduje się tutaj http://bash.org.pl/top/p/2/
treewood
Nie musi to byc formularz. Moze to byc link z parametrem GET np. <a href="?sVote=+">+</a>. W php sprawdz sobie czy zmienna $_GET['sVote'] istnieje i w zaleznosci jaka ma wartosc tak sie skrypt ma zachowac (czyli dac ocene + lub -)
zleek
sugerowalbym tez wprowadzic kontrole zeby dany user mogl oddac tylko jeden glos na jeden oceniany element zeby nie bylo falszywych wynikow
Adrian Staniszewski
Mozna dodatkowo dodac AJAX lub po prostu JS i po kliknieciu dodawac glos.
Nostromo
No okej ,ale kiedy mam dodować tą zmienną ? Możesz to jakoś bardziej rozwinąć ,bo zbyt bardzo nie kumam
sad.gif

Pobieram z linku ,czyli nawet nie wyświetlam nic ..I mam ją sobie pobraną ,ale kiedy ją dodawać odrazu ?

Najlepiej zaczne coś zaraz skrobać to powiecie ,czy ide w dobrym kierunku smile.gif

wolałbym czyste php nie znam się na Ajaxie (nawet nie wiem do czego służy tongue.gif )
Adrian Staniszewski
Pobierasz GET dane, i odrazu dodajesz glos - po sprawdzeniu czy ktos juz nie glosowal exclamation.gif Pozniej wyswietlasz dane i tyle smile.gif

Czekamy na ten kod
strife
Cytat(Nostromo @ 2.11.2006, 00:58:45 ) *
nie znam się na Ajaxie (nawet nie wiem do czego służy tongue.gif )

Ja tylko od siebie dodam link » Moje pierwsze starcie z AJAXem

Albo co mi tam biggrin.gif

  1. <?php
  2. // sprawdzasz czy zmienna istnieje
  3. if ( isset( $_GET['ocena'] ) )
  4. {
  5. // dopuszczalne wartosci
  6. $arr = array( '1', '0' );
  7.  
  8. if ( in_array( $_GET['ocena'], $arr ) )
  9. {
  10.  echo 'twoj glos zostal oddany, jest to: ' . $_GET['ocena'];
  11. }
  12. else
  13. {
  14. echo 'blad, niedopuszczalna wartosc';
  15. }
  16. }
  17. ?>

Pisane z palca. Generalnie chodzi o to abyś zrozumiał o co tutaj chodzi. Potem możesz tą wartość zapisać do bazy itd. To jest początek skryptu, resztę sam rozbuduj winksmiley.jpg

Pozdrawiam!
Nostromo
eee strife ja tu chce sam się pogłowić ,a ty mi tu gotowca robisz tongue.gif ( Tą twoją cześć już miałem napisaną smile.gif ) Skrobne do końca to wstawie co udało mi się napisać ...



Pozdrawiam !

Udało mi się coś takiego skrobnąć

  1. <?php
  2.  
  3. $ocena = $_GET['ocena'];
  4. $id = $_GET['id'];
  5.  
  6.  
  7. if($ocena) {
  8.  
  9.  
  10. $connection = @mysql_connect('localhost', 'root', 'krasnal')
  11. or die('Brak połączenia z serwerem MySQL');
  12. $db = @mysql_select_db('cos', $connection)
  13. or die('Nie mogę połączyć się z bazą danych');
  14.  
  15.  
  16. $ins = @mysql_query("UPDATE news
  17. SET ocena = $ocena
  18. WHERE id = $id ");
  19.  
  20. if($ins) echo "Twoj glos zostal dodane jest to $ocena";
  21. else echo "Błąd nie udało się dodać oceny";
  22.  
  23. mysql_close($connection);
  24. }
  25. ?>


Wszystko idealnie działa ,tylko teraz tak jak zrobić ,by koleine oceny dodawały się do siebie ,czyli osoba nacisnela + czyli 1 głos druga nacisneła znów + i nadal jest jeden głos...Czy zrobić to $ocena + $Row['ocena'] i zsumować ,czy jakoś inaczej można to zrobić ?

Pozdrawiam !
nospor
  1. ....SET ocena = ocena + $ocena...

podstawy sql tongue.gif
Nostromo
w mojej książce to nie było podstawą tongue.gif

Czyli

Pobieram dane z tabeli news where id = $GET['id']

Później ("UPDATE news
SET ocena = $get[ocena] + $Row[ocena] WHERE id = $id " ) ?

pisane z palca smile.gif

Dobrze myśle ? Wystarczy mi prosta odpowiedź tak ,ale jezeli nie to jak biggrin.gif Nie prosze o gotowca ,bo jakoś nie satysfakconuje mnie ,jezeli ktoś coś mi zrobi ... dry.gif
nospor
no przeciez wyraźnie napisalem:
  1. ....SET ocena = ocena + $ocena...

gdzie ocena to nazwa pola z oceną a $ocena to nowa liczba punktow o ile zwiekszyc. A ty nawaliles tam zmiennych ze hej tongue.gif

Cytat
w mojej książce to nie było podstawą
Olej ksiażke - korzystaj z manuala smile.gif
Nostromo
Zawsze nawale tego wszystkiego ,a później nie wiem po co ja to wogóle zrobiłem tongue.gif

Książka to jest mój manual (nie pytajcie ile ryz złóżyłem na wydrukowanie [prawie] wszystkiego ) biggrin.gif

Dziękuje za pomoc !

Pozdrawiam !
nospor
Cytat
Książka to jest mój manual
Musi widac zly manual wydrukowales, bo w moim takie podstawy sa opisane:
http://dev.mysql.com/doc/refman/5.0/en/update.html
biggrin.gif
Proponuje zrobic wydanie II swojej "ksiązki" winksmiley.jpg
Adrian Staniszewski
dodaj tez jakies ciacho do sprawdzania czy ktos nie glosowal
Nostromo
Udało mi się wkońcu zrobić....

Dzięki jeszcze raz i Pozdrawiam !
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.