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. Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 // 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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 // 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>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 rs.movenext loop end if
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 // 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); }); } }); });
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81 // 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
Partager