Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> skrypt oceny
yesir
post 11.01.2004, 15:40:09
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
Go to the top of the page
+Quote Post
[Regis]
post 11.01.2004, 16:33:52
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.
Go to the top of the page
+Quote Post
Cudi
post 11.01.2004, 17:25:57
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
Go to the top of the page
+Quote Post
yesir
post 12.01.2004, 15:10:14
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...
Go to the top of the page
+Quote Post
tiraeth
post 12.01.2004, 15:21:36
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!
Go to the top of the page
+Quote Post
uczen
post 12.01.2004, 22:12:17
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 questionmark.gif
Go to the top of the page
+Quote Post
Cudi
post 12.01.2004, 22:41:04
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
Go to the top of the page
+Quote Post
Sh4dow
post 12.01.2004, 23:12:46
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
Go to the top of the page
+Quote Post
yesir
post 13.01.2004, 20:23:48
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
Go to the top of the page
+Quote Post
yesir
post 14.01.2004, 16:52:49
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....
Go to the top of the page
+Quote Post
zombie
post 15.01.2004, 09:19:58
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!
Go to the top of the page
+Quote Post
yesir
post 18.01.2004, 12:50:04
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>
Go to the top of the page
+Quote Post
wojto
post 18.01.2004, 13:43:41
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]


--------------------
Go to the top of the page
+Quote Post
yesir
post 20.01.2004, 21:11:20
Post #14





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 2.09.2002

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


Wszystkim dzieki, poradzilem sobie....
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: 6.07.2025 - 13:03