![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 2.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Chcialbym zrobic skrypt (php + mysql) oceniania w skali 1 do 10. Chce zeby wybrana ocene dodalo do pola o nazwie 'ocena', czyli jak w polu o nzawie 'ocena' znajduje sie wartosc 210 i ktos zaglosuje na 7 to zeby w tym polu byla wartosc 217. Narazie mam tyle i nie wiem co dalej: Kod <form method="POST" action="--WEBBOT-SELF--">
<p><select size="1" name="ocena"> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option> </select><input type="submit" value="Submit" name="glosu"></p> </form> Pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Samo <option> chyba nie wystarczy - musi byc jeszcze parametr Value... To jesli chodzi o sam formularz tylko.
|
|
|
![]()
Post
#3
|
|
![]() Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Musisz gdzieś trzymać dwie informacje:
:arrow: suma wszystkich ocen :arrow: ilość głosów Potem wystarczy wyciągnąć te dane, podzielić jedno przez drugie i zaokrąglić. Najpierw zdecyduj sie gdzie będziesz trzymał dane, bo bez tego ciężko rzucać przykładami. -------------------- "Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning."
Cudi's devBlog |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 2.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Dane bede trzymal w bazie mysql o nazwie yesir, tablica bedzie miala nazwe ocena. Stworzylem wiec dwa pola o nazwie: suma_ocen i ilsoc_glosow.
I terez chcialbym wiedziec jak wyglada przykladowy skrypt dodajacy wybrana ocene do sumy ocen... |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Załóżmy, że zmienna z której przesyłamy głosy to $glos
[sql:1:5c029ad428] UPDATE oceny SET suma_ocen+$glos, ilosc_glosow+1 [/sql:1:5c029ad428] Nie jestem pewien czy to zadziała bo na szybko pisałem... cYa! |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 50 Pomógł: 0 Dołączył: 6.01.2004 Skąd: Opole Lubelskie Ostrzeżenie: (0%) ![]() ![]() |
Cytat "]To jesli chodzi o sam formularz tylko.
hmmmmmm Czy i Wy macie wrazenie ze autor tego posta ogladaj Dzien Swira ![]() |
|
|
![]()
Post
#7
|
|
![]() Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Pisane z palca, ale powinno działać:
[php:1:ace8f119aa]<?php $_POST['ocena']; // ocena jaka przyznano $r = mysql_query( "SELECT * FROM ocena" ); list( $suma, $ilosc ) = mysql_fetch_row( $r ); $suma += $_POST['ocena']; $ilosc++; mysql_query( "UPDATE ocena SET $suma, $ilosc" ); echo 'średnia ocen: ' . number_format( $suma / $ilosc, 2 ) . '<br />'; ?>[/php:1:ace8f119aa] -------------------- "Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning."
Cudi's devBlog |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 569 Pomógł: 0 Dołączył: 17.08.2003 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
chcialbym zauwazyc ze przydalo by sie jeszcze w tabeli zrobic jakies id? chyba ze planowane jest zrobic tylko jedna ocene na stronie i nie zmieniac jej. Moze nie samo ID ale ogolnie jakis sposob identyfikacji obiektu ocenianego. do kolumn suma_ocen i suma_glosow dodal bym kolune obiekt (obrazek/news/artykul itp) oraz id (id obiektu oczywiscie)
wtedy w tym co napisał Cudi zmieniasz tylko 4 linie na tą: [php:1:5537ac2b24]<?php $r = mysql_query( "SELECT * FROM ocena WHERE obiekt='".$obiekt."' AND id='".$id." ' " ); ?>[/php:1:5537ac2b24] oczywiscie zmienne $obiek oraz $id moga byc pobrane z kazdego mozliwego zrodla. To jest tylko przyklad -------------------- Warsztat: Linux: PHP, MySQL, Apache, NetBeans, C++, Qt-Creator
Użytkownik, słowo którego specjaliści IT używają, gdy chcą powiedzieć idiota Zarządzaj swoim budżetem domowym |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 2.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Z tym id to sobie juz poradze, chcialem tylko prosty przyklad zobaczyc jak poradzic sobie z tym problemem.
Dziekuje za pomoc... Pozdrawiam |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 2.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Pisane z palca, ale powinno działać:
[php:1:c17570db7e]<?php $_POST['ocena']; // ocena jaka przyznano $r = mysql_query( "SELECT * FROM ocena" ); list( $suma, $ilosc ) = mysql_fetch_row( $r ); $suma += $_POST['ocena']; $ilosc++; mysql_query( "UPDATE ocena SET $suma, $ilosc" ); echo 'średnia ocen: ' . number_format( $suma / $ilosc, 2 ) . '<br />'; ?>[/php:1:c17570db7e] Zastosowalm w/w skrypt, ale jednak dalej cos mi nie dziala.... |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 296 Pomógł: 0 Dołączył: 9.05.2002 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
ja bym dał tak:
[sql:1:5055eca98f]UPDATE ocena SET suma = suma + ".$_POST['ocena'].", ilosc = ilosc + 1[/sql:1:5055eca98f] -------------------- audaces fortuna iuvat!
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 2.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Czy ja tu musze cos zmienic aby ten skrypt zadzialal...
Kod <form method="POST" action="--WEBBOT-SELF--">
<p><select size="1" name="ocena"> <option>1</option> <option>2</option> <option>3</option> <option>4</option> <option>5</option> <option>6</option> <option>7</option> <option>8</option> <option>9</option> <option>10</option> </select><input type="submit" value="Submit" name="glosu"></p> </form> |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 158 Pomógł: 0 Dołączył: 29.06.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nic nie musisz zmieniac.
Jesli nie ma atrybutu value, to option bierze za ten atrybut to co jest miedzy znacznikami option></option ... jest to rownowazne temu: <option value=1>1</option> mozesz takze uproscic sprawe i dac [php:1:0862207a89]<?php for($i=1;$i<=10;$i++) echo "<option value=$i>$i</option>"; ?>[/php:1:0862207a89] -------------------- |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 2.09.2002 Ostrzeżenie: (0%) ![]() ![]() |
Wszystkim dzieki, poradzilem sobie....
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 6.07.2025 - 13:03 |