AHI SI FUNCIONA!!!!!!!!!!!!!!!!!!!!!.... gracias a todos, en especial a dobled, quien ha desarrollado este script, bueno les doy los codigos para que funcione bien
ver.asp, (esta en vez de valoracion.asp)
Código:
<html>
<head>
<title>Productos</title>
</head>
<SCRIPT>
<!--
function openWin(url, width, height)
{
var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=no,scrollbars=no,menubar=no,status=no' );
}
//-->
</SCRIPT>
<body>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("pcmstore.mdb")
Conn.Open strConn
SQL="SELECT * FROM pcm_productos ORDER BY id_prod"
set RS = Conn.Execute(SQL)
Do While Not RS.EOF
%>
<table border="0" width="100%">
<tr>
<td width="15%">Producto</td>
<td width="85%"><a href="clicks.asp?url=<% = RS("URL") %>"><% = RS("producto") %></a></td>
</tr>
<tr>
<td width="15%">Descripción</td>
<td width="85%"><% = RS("descripcion") %></td>
</tr>
<tr>
<td width="15%">Valoración</td>
<td width="85%">Clicks: <% = RS("clicks") %> <%
rate = Cint(Rs("total_votos"))/Cint(Rs("votos"))
rate = Round(rate)
Response.Write ("Este producto ha recibido "&Rs("votos")&" votos ")
Response.Write ("<img src="""&rate&"_star_rating.gif"" width=""66"" height=""14"" alt="""&rate&" Estrellas"" border=""0"" align=""absmiddle"">")
Response.Write (" - ")
Response.Write ("<a href=""javascript:openWin('valoracion_producto.asp?prodID=" & rs("id_prod") & "','rate_site')"" style=""font-size:""11px""; font-style: italic;"">votar</>")
%></td>
</tr>
</table><br><br>
<%
RS.MoveNext
Loop
%>
</body>
</html>
add_valoracion.asp
Código:
<%
stroconn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("pcmstore.mdb")
set oConn = server.createobject("adodb.connection")
oConn.open stroconn
'Recupero el valor del voto y el valor del ID del producto
prodID = Request.Querystring("prodID")
votos = Request.Querystring("Votos")
'Traigo los votos actuales que tiene el producto para sumarle los nuevos
SQL="SELECT * FROM pcm_productos WHERE id_prod = "&prodID&" "
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open SQL, oConn,3,1
vact = Cint(Rs("total_votos"))
total = vact + Votos
'Sumamos uno a las votaciones
rating = Cint(Rs("votos"))+1
'Ahora que tengo el total que es lo que recibi de la base mas los votos nuevos actualizo la valoracion del producto segun su ID
SQL = "UPDATE pcm_productos Set total_votos = "&total&", votos = "&rating&" WHERE id_prod = "&prodID&" "
Set RS = oConn.Execute(SQL)
'Creamos una cookie con el id del producto para que no voten mas de una vez(puro grupo) le damos una semana
Response.Cookies("valoracion")("prodID")= prodID
Response.Cookies("valoracion").Expires = Now() + 7
%>
<br>
<br>
<br>
<br>
<table width="215" height="22" border="0" align="center" cellpadding="1" cellspacing="0" bgcolor="#000000">
<tr>
<td><table width="100%" height="140" border="0" cellpadding="4" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td class="text"><div align="center"><img src="http://www.pcmod.cl/images/index01.jpg" width="200" height="60"><br>
Gracias por tu Voto<br>
<a href="javascript:onClick=window.close()"><br>
Cerrar Ventana </a><br>
</div></td>
</tr>
</table></td>
</tr>
</table>
valoracion_producto.asp
Código:
<%
prodID = Request.Querystring("prodID")
valoracion = Request.Cookies("valoracion")("prodID")
%>
<script language="JavaScript">
function Rating(star) {
if (star != "") self.location.href = "add_valoracion.asp?prodID=<%=prodID%>&Votos=" + star;
return true;
}
// -->
</script>
<link href="default.css" rel="stylesheet" type="text/css">
</head>
<body>
<div align="center">
<%
If valoracion = prodID Then
%>
<br>
<br>
<br>
<br>
<table width="215" height="22" border="0" align="center" cellpadding="1" cellspacing="0" bgcolor="#000000">
<tr>
<td><table width="100%" height="140" border="0" cellpadding="4" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td class="text"><div align="center">Disculpa, pero tú ya has votado por este producto. Intenta la proxima semana <br>
<a href="javascript:onClick=window.close()"><br>
<br>
Cerrar Ventana </a><br>
</div></td>
</tr>
</table></td>
</tr>
</table>
<%else%>
<br>
<span class="text2">Valoración de Productos<br>
</span>Haz click en las estrellas que crees que<br>
representan el valor de votos para el<br>
producto elegido.<br>
<br>
<br>
<table width="215" height="22" border="0" align="center" cellpadding="1" cellspacing="0" bgcolor="#000000">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="4" bgcolor="#FFFFFF">
<tr>
<td width="50" class="text"><a href="javascript:Rating('0')"><img src="0_star_rating.gif" width="66" height="14" alt="0 Stars" border="0"></a></td>
<td width="154" class="text">No lo compraría</td>
</tr>
<tr>
<td width="50" class="text"><a href="javascript:Rating('1')"><img src="1_star_rating.gif" width="66" height="14" alt="1 Star" border="0"></a></td>
<td width="154" class="text">Solo lo vería </td>
</tr>
<tr>
<td width="50" class="text"><a href="javascript:Rating('2')"><img src="2_star_rating.gif" width="66" height="14" alt="2 Stars" border="0"></a></td>
<td width="154" class="text">Algo tiene de bueno </td>
</tr>
<tr>
<td width="50" class="text"><a href="javascript:Rating('3')"><img src="3_star_rating.gif" alt="3 Stars" width="66" height="14" border="0" align="absmiddle"></a></td>
<td width="154" class="text">OK</td>
</tr>
<tr>
<td width="50" class="text"><a href="javascript:Rating('4')"><img src="4_star_rating.gif" width="66" height="14" alt="4 Stars" border="0"></a></td>
<td width="154" class="text">Excelente</td>
</tr>
<tr>
<td width="50" class="text"><a href="javascript:Rating('5')"><img src="5_star_rating.gif" width="66" height="14" alt="5 Stars" border="0"></a></td>
<td width="154" class="text">No puede faltar en el PC </td>
</tr>
</table></td>
</tr>
</table>
<%End if%>
</div>
clicks.asp
Código:
<%
Response.Buffer=TRUE
url = Request.Querystring("url")
if url <>"" then
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("pcmstore.mdb")&";"
strsql = "SELECT * FROM pcm_productos WHERE url = '" & url & "'"
Set rs = Server.CreateObject("ADODB.RecordSet")
RS.open strsql, oConn, 3, 3
if rs.eof then
rs.AddNew
rs("clicks")= 1
rs("url") = url
rs.update
else
rs("clicks")=rs("clicks")+1
rs.update
end if
rs.Close
set rs=nothing
oConn.Close
response.redirect URL
end if
%>
y la BD pcmstore.mdb, la tabla pcm_productos
id_prod (autonumerico)
producto (texto)
descripcion (texto)
URL (texto)
clicks (numerico)
votos (numerico)
total_votos (numerico)
Bueno y espero que todos disfrutemos de esto... muchas gracias...