Bonjour,
Je réalise un système de vote (like, dislike) en ASP sur des questions / réponses des clients.
J'aimerais donner la possibilité de liker ou disliker une réponse. Mon système de vote je l'ai réalisé en php et ça marche très bien. Mais je n'arrive pas à le traduire en ASP. Je ne maîtrise pas tous les aspects de l'ASP mais je comprends les bases.
Je suis bloqué lors du clic sur le bouton like ou dislike et je ne comprends pas l'origine du problème.
Je vous montre le code ci-dessous pour quelqu'un puisse regarder et m'aider svp.
Merci par avance !
Modifié par dinolam (06 Jan 2017 - 09:32)
Je réalise un système de vote (like, dislike) en ASP sur des questions / réponses des clients.
J'aimerais donner la possibilité de liker ou disliker une réponse. Mon système de vote je l'ai réalisé en php et ça marche très bien. Mais je n'arrive pas à le traduire en ASP. Je ne maîtrise pas tous les aspects de l'ASP mais je comprends les bases.
Je suis bloqué lors du clic sur le bouton like ou dislike et je ne comprends pas l'origine du problème.
Je vous montre le code ci-dessous pour quelqu'un puisse regarder et m'aider svp.
Merci par avance !
// Partie requête SQL
SQL="select reponse_id, "
SQL=SQL&"reponse_message, "
SQL=SQL&"reponse_date, "
SQL=SQL&"client_pseudo "
SQL=SQL&"FROM reponse "
SQL=SQL&"ORDER BY reponse_date DESC"
set rs=conn.execute(SQL)
if not rs.eof then
do while not rs.eof
// Partie HTML
<div class="vote" id="<%=rs("reponse_id")%>">
<div class="vote_btn">
<div class="btn_like"><img src="like.jpg" alt="like"></div><span class="votes_like">0</span>
</div>
<div class="vote_btn">
<div class="btn_dislike"><img src="dislike.jpg" alt="dislike"></div><span class="votes_dislike">0</span>
</div>
</div>
rs.movenext
loop
end if
// code js final
$(document).ready(function() {
$.each($('.vote'), function () {
var id = $(this).attr("id");
post_d = {'id': id, 'vote': 'fetch'};
$.post('vote.asp', post_d, function (response) {
$('#' + id + ' .votes_like').text(response.vote_like);
$('#' + id + ' .votes_dislike').text(response.vote_dislike);
}, 'json');
});
$(".vote .vote_btn").click(function (e) {
var click_button = $(this).children().attr('class');
var id = $(this).parent().attr("id");
if (click_button === 'btn_dislike') {
post_d = {'id': id, 'vote': 'dislike'};
$.post('vote.asp', post_d, function (data) {
var $votes = $('#' + id + ' .votes_dislike');
var num = parseInt($votes.text(), 10);
$votes.text(num + 1);
}).fail(function (err) {
alert(err.statusText);
});
} else if (click_button === 'btn_like') {
post_d = {'id': id, 'vote': 'like'};
$.post('vote.asp', post_d, function (data) {
var $votes = $('#' + id + ' .votes_like');
var num = parseInt($votes.text(), 10);
$votes.text(num + 1);
}).fail(function (err) {
alert(err.statusText);
});
}
});
});
// Partie vote.asp
if request.Form("vote")<>"" and request.Form("id")<>"" then
Dim vote_type
Dim reponse_id
vote_type = request.Form("vote")
reponse_id = request.Form("id")
if not isEmpty(Request.ServerVariables("HTTP_X_REQUESTED_WITH")) and Lcase(Request.ServerVariables("HTTP_X_REQUESTED_WITH")) = "xmlhttprequest" then
Response.End
end if
SQL="SELECT COUNT(*) AS nbr "
SQL=SQL&"FROM vote "
SQL=SQL&"WHERE "
SQL=SQL&"reponse_id = '"&reponse_id&"' "
set rs = conn.execute(SQL)
if not rs.eof then
select case vote_type
case "like"
if rs("nbr") >= 1 then
response.status="500 Vous pouvez voter qu'une seule fois !"
Response.End
else
if vote_type = "like" then
vote_like = 1
else
vote_like = 0
end if
SQL="INSERT INTO vote (vote_like, vote_dislike, reponse_id) VALUES ('"& vote_like &"', '"& vote_dislike &"', '"& reponse_id &"')"
conn.execute(SQL)
end if
case "dislike"
if rs("nbr") >= 1 then
response.status="500 Vous pouvez voter qu'une seule fois !"
Response.End
else
if vote_type = "dislike" then
vote_dislike = 1
else
vote_dislike = 0
end if
SQL="INSERT INTO vote (vote_like, vote_dislike, reponse_id) VALUES ('"& vote_like &"', '"& vote_dislike &"', '"& reponse_id &"')"
conn.execute(SQL)
end if
case "fetch"
SQL="SELECT "
SQL=SQL&"SUM (vote_like) as vote_like "
SQL=SQL&"SUM (vote_dislike) as vote_dislike "
SQL=SQL&"FROM vote "
SQL=SQL&"WHERE "
SQL=SQL&"reponse_id = '"&reponse_id&"' "
set rs1 = conn.execute(SQL)
if not rs1.eof then
if rs1("vote_like") then
vote_like = rs1("vote_like")
else
vote_like = 0
end if
if rs1("vote_dislike") then
vote_dislike = rs1("vote_dislike")
else
vote_dislike = 0
end if
dim env = array('vote_like'='vote_like', 'vote_dislike'='vote_dislike')
response.write json_encode(env)
end if
rs1.close
set rs1=nothing
end select
end if
rs.close
set rs=nothing
end if
Modifié par dinolam (06 Jan 2017 - 09:32)