Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]problem z aktualizacją rekordu
Forum PHP.pl > Forum > Przedszkole
Darekxp
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. ?>
melkorm
  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
Darekxp
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"
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.