Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL]problem z aktualizacją rekordu
Darekxp
post 17.05.2009, 13:33:48
Post #1





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 13.05.2007

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


Witam! Mam problem z aktualizacą rekordu. Jest to prosty system ocen, dodaje wartości z tym że jedna z nich nie jest poprawna. bazaTotal(tu powinno sumować wartości głosów ale po głosowaniu dodaje tylko +1), bazaStars(suma oddanych głosów, działa prawidłowo). Bawie sie z tym ale już nie mam pomysłu co jest grane

ocena-dodana
  1. <?php
  2.  
  3.  
  4.  
  5. if($_POST['ocena'] != "")
  6. {
  7.  
  8. if($_POST['ocena'] = mysql_num_rows(mysql_query('SELECT bazaId, bazaTotal, bazaStars FROM baza WHERE bazaId='.$_POST['numer'])))
  9.      mysql_query("UPDATE baza SET bazaTotal=".($bazaStars[$_POST['numer']]+$_POST['ocena']).", bazaStars=".($bazaStars[$_POST['numer']]+1)." WHERE bazaId=".$_POST['numer']);
  10.  
  11.  echo "<span style=\"color:green\">Twoja ocena została dodana!<br /></span>";
  12. }
  13. else
  14. {
  15.  echo "<span style=\"color:red\">Proszę wybrać ocenę!</span>";
  16. }
  17. ?>


  1. <form method="post" action="http://strona.pl/ocena-dodana" >
  2. <input type="hidden" name="numer" value="<? echo $_GET['numer']; ?>" />
  3. <br><br> <select name="ocena"><?php for($i=1; $i<=5; $i++) {
  4. if($userAccess >= 0) echo "<option selected=\"selected\" value=\"".$i."\">".$ocena[$i]."</option>";
  5. else echo "<option value=\"".$i."\">".$ocena[$i]."</option>"; } ?></select> <input type="submit" value=" Oceń ! " />



zmienne w database.php

  1. <?php
  2. $ocena[1] = "Poniżej krytyki";
  3.  $ocena[2] = "Przeciętnie";
  4.  $ocena[3] = "Jest Ok";
  5.  $ocena[4] = "Bardzo dobry";
  6.  $ocena[5] = "Super";
  7. ?>
Go to the top of the page
+Quote Post
melkorm
post 17.05.2009, 13:59:27
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


  1. <?php
  2. if($_POST['ocena'] = mysql_num_rows(mysql_query('SELECT bazaId, bazaTotal, bazaStars FROM baza WHERE bazaId='.$_POST['numer'])))
  3. ?>


Ponieważ tutaj nadpisujesz sobie zmienną ocena i masz liczbe rekordów, szczerze nie wiem co chciałeś tam osiągnąć tongue.gif

Może troche bardziej wyjaśnij zasade działania? bo ja tego `systemu oceniania` nei łapie winksmiley.jpg

Ten post edytował melkorm 17.05.2009, 13:59:53


--------------------
Go to the top of the page
+Quote Post
Darekxp
post 17.05.2009, 14:57:45
Post #3





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 13.05.2007

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


w polu bazaTotal sumuje głosy dla danego id pobierane z pola select np 5+3+3+4 i jest dzielone przez liczbe oddanych głosów z bazaStars i liczy średnią
. ale dodaje mi tylko +1 do bazaTotal zamiast np +5 dla "super"
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: 5.07.2025 - 10:56