Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ocenianie w skali
primo
post 3.02.2005, 19:55:46
Post #1





Grupa: Zarejestrowani
Postów: 254
Pomógł: 0
Dołączył: 30.12.2003
Skąd: Strzegom

Ostrzeżenie: (0%)
-----


Witam,

chodzi mi po głowie taki pomysł, aby móc oceniać np. każdy news czy artykuł w skali 1-6. Czy zrobić to w tabeli z artykułami - do każdego tytułu np. dopisywać liczbę głosów czy też zrobić w osobnej tabeli, gdzie mógłbym również dopisywać ip z którego oddano głos i w ten sposób wykluczać oddawanie głosu wielokrotnie questionmark.gif Jak macie to u siebie pomyślane questionmark.gif


--------------------
Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo
gg1148730
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
sendi16
post 3.02.2005, 22:16:20
Post #2





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 29.03.2003
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Ja trzymam w tej samej tabeli co artykuły. jedna kolumna to suma glosow, a w drugiej trzymam ilosc glosow.

smile.gif
Go to the top of the page
+Quote Post
primo
post 4.02.2005, 09:06:08
Post #3





Grupa: Zarejestrowani
Postów: 254
Pomógł: 0
Dołączył: 30.12.2003
Skąd: Strzegom

Ostrzeżenie: (0%)
-----


  1. <FORM ACTION="index.php?op=49" METHOD="post">
  2.  
  3. <table border="0" cellpadding="5" cellspacing="5">
  4.  
  5. <TR>
  6. <td><div class="form"><b>1</b></div></td>
  7. <td><INPUT TYPE="radio" NAME="liczba_glosow" VALUE="1"></td>
  8. </TR>
  9.  
  10. <TR>
  11. <td><div class="form"><b>2</b></div></td>
  12. <td><INPUT TYPE="radio" NAME="liczba_glosow" VALUE="2"></td>
  13. </TR>
  14.  
  15. <TR>
  16. <td><div class="form"><b>3</b></div></td>
  17. <td><INPUT TYPE="radio" NAME="liczba_glosow" VALUE="3"></td>
  18. </TR>
  19.  
  20. <TR>
  21. <td><div class="form"><b>4</b></div></td>
  22. <td><INPUT TYPE="radio" NAME="liczba_glosow" VALUE="4"></td>
  23. </TR>
  24.  
  25.  
  26. <tr>
  27. <td></td>
  28. <td><input type="submit" name="Dodaj" value="Dodaj swój głos:"></td>
  29. </tr>
  30.  
  31. </form>


  1. <?php
  2.  
  3.  
  4. $id = $_GET[&#092;"id\"];
  5. function glosowanie()
  6. }
  7. if($id){
  8. $query=&#092;"UPDATE filmy SET liczba_glosow = liczba_glosow +1 where id='$id'\";
  9. $result=mysql_query($query);
  10. }
  11. }
  12. ?>


zwiększa mi liczbę głosów, ale nie wiem jak zrobić aby też jak gość naciśnie np.2 lub 3 to aby tyle właśnie dodawał do tabeli.


--------------------
Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo
gg1148730
Go to the top of the page
+Quote Post
crash
post 4.02.2005, 09:26:03
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Dziwne rozwiązanie bo przy każdym wywołaniu z _GET['id'] będzie zwiększana ilość głosów, ustaw może warunek na
  1. <?php
  2. if($id and isset($_POST['liczba_glosow']))
  3. ?>

A co do tego ile dodać to:
  1. <?php
  2. $query='UPDATE filmy SET liczba_glosow = liczba_glosow + '.$_POST['liczba_glosow'].' where id=.'$id;
  3. ?>


Ten post edytował crashu 4.02.2005, 09:26:13


--------------------
Go to the top of the page
+Quote Post
primo
post 4.02.2005, 09:47:21
Post #5





Grupa: Zarejestrowani
Postów: 254
Pomógł: 0
Dołączył: 30.12.2003
Skąd: Strzegom

Ostrzeżenie: (0%)
-----


chyba czegoś w tym nie rozumiem.

w tym formularzu moim liczba glosow zwiększana jest po każdym glosowaniu o jeden, a value to jest pozycja zwiekszajaca o iles tam pole suma_glosow z tabeli questionmark.gif jak zmodyfikowac zapytanie, aby rowniez uwzglednialo pole suma_glosow questionmark.gif

w tym momencie wyglada to tak:

  1. <?php
  2.  
  3.  
  4. if($id and isset($_POST['liczba_glosow'])&& isset($_POST['suma_glosow'])){
  5. $bd->zapytaj(&#092;"UPDATE filmy SET liczba_glosow = liczba_glosow + '\".$_POST['liczba_glosow'].\"' where id='\".$id.\"'\");
  6.  
  7.  }
  8.  
  9.  
  10. ?>


--------------------
Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo
gg1148730
Go to the top of the page
+Quote Post
reemii
post 4.02.2005, 11:22:59
Post #6





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 2.02.2005

Ostrzeżenie: (0%)
-----


Powinno byc chyba tak:

  1. <?php
  2. if($id and isset($_POST['liczba_glosow'])&& isset($_POST['suma_glosow'])){
  3. $bd->zapytaj(&#092;"UPDATE filmy SET liczba_glosow = liczba_glosow + '\".$_POST['liczba_glosow'].\"', suma_glosow = suma_glosow + 1 where id='\".$id.\"'\");
  4.  
  5. }
  6.  
  7. ?>


O ile $liczba_glosow to jest ocena, a $suma_glosow to jest ile osob głosowało. Może nazwij troche bardziej logicznie te zmienne, bo ciężko sie połapać. Tak wogóle to można to zrobić tak. Jak osoba oddaje głos to tych głosów przybywa 1, więc nie potrzebujesz zmiennej $suma_glosow.

  1. <?php
  2. if($id and !empty($_POST['liczba_glosow']))
  3. {
  4. $bd->zapytaj(&#092;"UPDATE filmy SET liczba_glosow = liczba_glosow + '\".$_POST['liczba_glosow'].\"', suma_glosow = suma_glosow + 1 where id='\".$id.\"'\");
  5. }
  6. ?>
Go to the top of the page
+Quote Post
primo
post 4.02.2005, 12:47:45
Post #7





Grupa: Zarejestrowani
Postów: 254
Pomógł: 0
Dołączył: 30.12.2003
Skąd: Strzegom

Ostrzeżenie: (0%)
-----


no może faktycznie mało czytelne nazwy, ale jakoś sobie poradziłem. Dla zainteresowanych podaję kod:

FORMULARZ DODAJĄCY PUNKTY DO TABELI

  1. <?php
  2.  
  3. require_once(&#092;"funkcje/BD.class.php\");
  4. $bd = new BD;
  5.  
  6. if (!$bd->otworz()) {
  7. die ($bd->blad());
  8. }
  9.  
  10.  
  11. if (!$bd->zapytaj(&#092;"SELECT * FROM filmy WHERE id='$id'\")) {
  12. die ($db->error());
  13. }
  14.  
  15. while($row = $bd->pobierzTablice())
  16. {
  17. $this_id = $row[0];
  18.  
  19.  
  20.  
  21. echo '<form ACTION=\"index.php?op=5&id='.$this_id.'\" \" METHOD=\"POST\">';
  22.  
  23. }
  24.  
  25. ?>


  1. <table border="0" cellpadding="5" cellspacing="5">
  2.  
  3. <tr>
  4. <td><div class="form-glosowanie"><b>1</b></div></td>
  5. <td><INPUT TYPE="radio" NAME="suma_glosow" VALUE="1"></td>
  6. </tr>
  7.  
  8. <tr>
  9. <td><div class="form-glosowanie"><b>2</b></div></td>
  10. <td><INPUT TYPE="radio" NAME="suma_glosow" VALUE="2"></td>
  11. </tr>
  12.  
  13. <tr>
  14. <td><div class="form-glosowanie"><b>3</b></div></td>
  15. <td><INPUT TYPE="radio" NAME="suma_glosow" VALUE="3"></td>
  16. </tr>
  17.  
  18. <tr>
  19. <td><div class="form-glosowanie"><b>4</b></div></td>
  20. <td><INPUT TYPE="radio" NAME="suma_glosow" VALUE="4"></td>
  21. </tr>
  22.  
  23. <tr>
  24. <td><div class="form-glosowanie"><b>5</b></div></td>
  25. <td><INPUT TYPE="radio" NAME="suma_glosow" VALUE="5"></td>
  26. </tr>
  27.  
  28. <tr>
  29. <td><div class="form-glosowanie"><b>6</b></div></td>
  30. <td><INPUT TYPE="radio" NAME="suma_glosow" VALUE="6"></td>
  31. </tr>
  32.  
  33. <tr>
  34. <td></td>
  35. <td><input type="submit" name="Dodaj" value="Dodaj swój głos:"></td>
  36. </tr>
  37.  
  38. </form>


SKRYPT UAKTUALNIAJĄCY TABELE:

  1. <?php
  2.  
  3. $suma_glosow = $_POST['suma_glosow'];
  4.  
  5. if($id and isset($_POST['suma_glosow'])){
  6. $bd->zapytaj(&#092;"UPDATE filmy SET liczba_glosow = liczba_glosow + 1, suma_glosow = suma_glos
    o
  7.  + '$suma_glosow' where id='$id'\");
  8.  
  9.  }
  10.  
  11. ?>


oczywiście trzeba go troszkę zmodyfikować na swoje potrzeby action=swoje_dane

Ten post edytował primo 4.02.2005, 12:49:27


--------------------
Bieganie jest tym co kocham najbardziej, jest dla mnie powietrzem w moich płucach, krwią płynącą w żyłach, dawką endorfin, źródłem szczęścia i celem samym w sobie... A w skrócie to jestem uzależniony od biegania.
primo
gg1148730
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 20.07.2025 - 07:13