Avatar billede Slettet bruger
13. august 2012 - 21:35 Der er 9 kommentarer og
1 løsning

Et rating system med stjerner OG ja jeg har google og tjekket eksperten

Jeg skal bruge et rating system til en blog side jeg har.
Jeg har kigget overalt på nettet og også fundet en masse men kan simpelthen ikke implementere det i min kode + mysql - håber I kan hjælpe.

Kunne godt tænke mig en skala fra 1 - 5,
den behøver ikke kunne vise halve stjerne hvis det er for avanceret.

Jeg har i forvejen en tabel som hedder blog med følgende felter:

blog_id
bruger_id //den bruger som har skrevet bloggen
overskrift
tekst
dato

Kunne det evt. være en løsning hvor jeg skal tilføje nogle felter til min allerede eksisterende tabel?

jeg vil gerne have sådan at når man klikker på fx. den 3 stjerne så giver man den rating, som så vidt jeg har forstået bliver lagt sammen med de andre votes og divideret = resultat

Den skal opdatere med det samme på samme side og også udskrive hvor mange der har rated den bestemte blog og udskrive det præcise decimal fx. 3.7

håber virkelig i kan hjælpe, har fået helt hovedpine af dette spørgsmål.
Avatar billede EDB-Eksperten Nybegynder
13. august 2012 - 21:38 #1
Hvilket blog system bruger du?
Avatar billede claes57 Ekspert
13. august 2012 - 21:40 #2
du skal have en ny tabel med
intern-id (overflødig autonummerering)
blog_id
point (1-5)
bruger_id

en bruger kan så ikke stemme to gange på samme blog_id, og du kan let summere point og dele med antal poster med en given blog_id.
Avatar billede Slettet bruger
13. august 2012 - 22:07 #3
Så jeg laver en ny tabel med:

intern-id
blog_id
point
bruger_id

? :-)

Det er godt at man ikke kan stemme 2 gange.
hvad mener du med: summere point og dele med antal poster med en given blog_id.

Undskyld men har virkelig set mig blind i det hele.
Avatar billede DeeDawg Nybegynder
14. august 2012 - 09:02 #4
Han hentyder til en basal matematisk formel, hvilket går ud på at udregne gennemsnittet. :)
Avatar billede claes57 Ekspert
14. august 2012 - 09:47 #5
du skal
1) lave php-kode, der giver mulighed for at afgive point (en <form...>)
2) ved submit tjekke, om bruger_id allerede findes ved blog_id i tabellen - hvis nej, så opret.
3) lave sql-kald, der tager alle poster med en given blog_id og summen af point, samt antal poster (svaret er så sum/antal, evt afrundet til altid at vise med en decimal)

som det er fremgået af indlæg, jeg tidligere har været ind over, så er det bedre, at andre laver php-koden.
Avatar billede Slettet bruger
15. august 2012 - 12:12 #6
Okay, det lyder faktisk lige præcis som det jeg gerne  vil, bortset fra at jeg gerne vil have at den opdatere/tjekker ved klik på <input> i stedet for at lave en submit. kan du hjælpe mig med php koden?
Avatar billede claes57 Ekspert
15. august 2012 - 15:33 #7
desværre - jeg er en klaphat til php.
Men du kan da godt lave et javascript, der tester på om der klikkes på en af stjernerne, og så submitter data. Det hele kan ligge i en lille iframe, så det kun er den lille del, der opdaters - i så fald skal du have en grundformular, der kaldes med parametre (hvis de ikke ligger i session-data) så blog_id og bruger_id kommer med over fra hovedsiden.
Avatar billede Slettet bruger
16. august 2012 - 13:05 #8
Okay, ja. men kan ikke lave det uden hjælp, så håber der kommer en forbi her, som kan det :-)
Avatar billede Slettet bruger
20. august 2012 - 11:52 #9
Er der nogen som kan hjælpe? :-)
Vil gerne give flere points hvis det er.
Avatar billede Slettet bruger
10. oktober 2012 - 00:01 #10
ingen hjælp .-(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester