Valorar el trabajo de un usuario (haciendo algunos cambios podemos valorar un solo tema, video, etc..)
+ Campos de la tabla con los que trabajamos
- Usuario --> Texto / Nombre del usuario cuyo articulo ha sido puntuado
- Reconocimiento --> Numerico / Cantidad de puntos que tiene el usuario que intenta puntuar el articulo
- Kien_Reconoce --> Texto / Nombre de los usuarios que han puntuado el articulo
mostrartemas.asp Código HTML:
<a id="<%=autonumerico_del_articulo%>" onclick="return false" href="./mostrartemas.asp">Reconocimiento</a>
<script type="text/javascript">
Evento(document.getElementById('<%=autonumerico_del_articulo%>'),'click',function() {
PuntarArticulo('<%=autor_articulo%>', '<%=nombre_usuario_da_puntos%>');
})
</script>
reconocimiento.asp
Código asp:
Ver originalDim usuapuntuar, usukpuntua, PuntosaOtorgar, reconocedores, kienson, i, otroReconocedor
usuapuntuar = Request.QueryString("akien")
usukpuntua = Request.QueryString("dkien")
SQL="Select Usuario, Reconocimiento FROM tabla WHERE Usuario = '"&usukpuntua&"'" ' Sacamos la puntuación que tiene el usuario que quiere puntar el articulo
cant_reconocimiento = CInt(rs1.Fields("Reconocimiento"))
' ============= Puntos que puede otorgar el usuario que intenta puntuar el articulo, deacuerdo con su reconociemiento hasta el momento =============
if cant_reconocimiento =< 9 Then
PuntosaOtorgar = 1
elseif cant_reconocimiento >= 10 and cant_reconocimiento =< 19 Then
PuntosaOtorgar = 2
elseif cant_reconocimiento >= 20 and cant_reconocimiento =< 29 Then
PuntosaOtorgar = 3
elseif cant_reconocimiento >= 30 and cant_reconocimiento =< 39 Then
PuntosaOtorgar = 4
elseif cant_reconocimiento >= 40 and cant_reconocimiento =< 49 Then
PuntosaOtorgar = 5
else
PuntosaOtorgar = 6
end if
' ===============================================
SQL="Select Usuario, Kien_Reconoce FROM tabla WHERE Usuario = '"&usuapuntuar&"'" ' Kienes le han otorgado puntos a este usuario
reconocedores = rs2.Fields("Kien_Reconoce")
if reconocedores <> "" Then ' Si no es el primer usuario en puntuar el tema
kienson = Split(reconocedores, ",")
For i = 0 To UBound(kienson)
If kienson(i) = usukpuntua AND i =< 2 Then ' No hay 3 nuevos reconocedores entre la última vez que este usuario puntuó el articulo y ahora
Response.Write usukpuntua & escape(", desde la última vez que reconociestes el esfuerzo de ") & usuapuntuar & escape(", nadie más se lo ha reconcido. Así que tendrás que esperar hasta que otro usuario lo haga.")
Response.End ()
Exit For
End If
Next
otroReconocedor = usukpuntua & "," & reconocedores
else
otroReconocedor = usukpuntua
end if
SQL="UPDATE tabla SET Reconocimiento = Reconocimiento + "&PuntosaOtorgar&" , Kien_Reconoce = '"&otroReconocedor&"' WHERE Usuario = '"&usuapuntuar&"';"
Response.Write usukpuntua & escape(", seguro que ") & usuapuntuar & escape(" te agradece el reconocimento que le acabas de dar por su esfuerzo.")
Response.End ()
%>
reconocimiento.js
Código javascript
:
Ver originalfunction creaAjax(){
var ajaxs = ["Msxml2.XMLHTTP","Msxml2.XMLHTTP.4.0","Msxml2.XMLH TTP.5.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"];
var ajax = false;
for(var i=0 ; !ajax && i<ajaxs.length ; i++){
try{
ajax = new ActiveXObject(ajaxs[i]); // Internet Explorer
}
catch(e) {
ajax = false;
}
}
if(!ajax && typeof XMLHttpRequest!='undefined') {
ajax = new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari
}
return ajax;
}
function PuntarArticulo(ak, dk){
var ajax=creaAjax();
ajax.open ('GET', 'reconocimiento.asp?akien='+ak+'&dkien='+dk, true);
ajax.onreadystatechange = function() {
if (ajax==null){
alert ("Tu navegador web no soporta AJAX!");
return;
}
if (ajax.readyState==1 || ajax.readyState==2 || ajax.readyState==3) {
}
else if (ajax.readyState==4){
if(ajax.status==200){
alert (unescape(ajax.responseText));
return;
}
else if (ajax.status==404)
{
alert ("La dirección no existe");
return;
}
else
{
alert ("Error: " + ajax.status);
return;
}
}
}
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(null);
return
}
function Evento(elemento,nomevento,funcion)
{
if (elemento.attachEvent)
{
var f=function(){
funcion.call(elemento,window.event);
}
elemento.attachEvent('on'+nomevento,f);
return true;
}
else
if (elemento.addEventListener)
{
elemento.addEventListener(nomevento,funcion,false);
return true;
}
else
return false;
}