Ciao a tutti.
Faccio riferimento al seguente articolo web per l'implementazione di un sistema di rating in pagine ASP:
http://www.devarticles.com/c/a/ASP/A...stem-With-ASP/
Sono riuscito a personalizzarlo alle mie esigenze, adattandolo a un DB MySQL e utilizzando un'unica tabella, ma non riesco a capire perchè quando visualizzo per ciascun record il proprio rating, succede che il record seguente a quello che ha un rating ( quindi è stato valutato dai visitatori ) assuma come rating quello del record che lo precede.
Ad esempio:
- Ho un record con rating 1 lo estraggo e quello immediatamente successivo anche se non ha nessuna valutazione, assume anche lui valore 1.
La estrazione è eseguita randomicamente con la sintassi BY RAND() prevista da MySQL.
Credo che il problema sia da individuare in questa porzione di codice che è quella che assegna le "stelline" a secondo del rating, ma non riesco a capire dove sia l'errore:
Grazie a tutti !codice:<% if Instr(1, CStr(avgRating), ".") > 0 then avgWhole = Left(CStr(avgRating), Instr(1, CStr(avgRating), ".")-1) decPart = Mid(CStr(avgRating), Instr(1, CStr(avgRating), ".")+1, 2) if decPart <> "" then if CInt(decPart) >= 5 then decCalc = .5 else decCalc = 0 end if finalRating = CInt(avgWhole) + CCur(decCalc) else finalRating = avgRating end if else finalRating = avgRating end if for i = 1 to CInt(finalRating) response.write "AAA" Response.Write "[img]../news/starimages/star.gif[/img]" next if CInt(finalRating) <> finalRating then response.write "BBB" Response.Write "[img]../news/starimages/rating_star_blank.png[/img]" for i = CInt(finalRating)+2 to 8 response.write "CCC" Response.Write "[img]../news/starimages/rating_star_blank.png[/img]" next else for i = CInt(finalRating)+1 to 8 response.write "DDD" Response.Write "[img]../news/starimages/rating_star_blank.png[/img]" next end if if CInt(finalRating) <> finalRating then response.write "EEE" Response.Write "[img]../news/starimages/rating_star_blank.png[/img]" end if %>

Rispondi quotando