PHP Phalconで役に立ったボタンを実装しようとしています。
流れとしてはボタン押下時、フォームのIDをコントローラーに渡す。
コントローラー側で渡されたIDでDB検索して、
そのレコードののhlpフィールドに1を加算するという処理です。
Volt側の処理 質問回答とボタンを表示させています
php
1<form name="faqform" method="post" action=""> 2<br /> 3<input type="hidden" name="goodno" value="{{ fa.id }}"> 4<p><h4>Q</h4>{{ fa.q }}</p> 5<br /><br /><br /><br /> 6<p><h4>A</h4>{{ fa.a }}</p> 7<br /> 8<button id="btn" type="button" onclick="this.disabled = true;">役に立った</button> 9</form>
Ajaxの処理 ボタンクリック時IDをPOST送信する処理を書いています
javascript
1 $(function(){ 2 $("#btn").on("click", function(){ 3 $.ajax({ 4 type: "POST", 5 data:$(':hidden[name="goodno"]').val(), 6 dataType : "json", 7 url : '' 8 }).done(function(data){ 9 console.log('ok'); 10 }).fail(function(jqXHR, textStatus, errorThrown){ 11alert('error!!!'); 12 console.log("XMLHttpRequest : " + XMLHttpRequest.status); 13 console.log("textStatus : " + textStatus); 14 console.log("errorThrown : " + errorThrown.message);}); 15 }); 16 }); 17
Controllerの処理 受け取ったIDでレコードを検索して対象のフィールドに1を加算しています
php
1 if($this->request->isAjax()){ 2 3 $goodno = $this->request->getPost("goodno"); 4 5 $yaku = Example::findFirst($goodno); 6 7 $yaku->hlp += 1; 8 9 $yaku->update(); 10} 11
管理ページでカウントを確認できるようにしているのですが、
IDが2の項目の役に立ったボタンを押下しても、1番上の項目に加算されてしまいます。
原因がわかりません。ご教授お願いします。
回答1件
あなたの回答
tips
プレビュー