1
PHP를 통해 MySQL 데이터베이스에서 데이터 테이블을 채 웁니다. 첫 번째 열은 플래그 기능이므로 특정 행의 핀 아이콘을 클릭하면이 필드에 대해 데이터베이스가 'y'또는 'n'으로 업데이트됩니다. 그런 다음이 열을 정렬하여 플래그가 지정된 모든 행을 표의 맨 위로 가져올 수 있습니다. 내 테이블이 크기 때문에 Ajax를 통해이 작업을 수행하기로 결정했습니다. 그러나 첫 번째 통화에서만 작동하고 비활성 상태가됩니다. 첫 번째 요청 후에도 데이터베이스가 업데이트되지 않습니다.한 번만 Ajax 호출하기
여기 HTML/PHP입니다. 여기
<td align="center" id="pin_record">
<?php // Flag Column
if ($row['flag'] == 'n'){ ?>
<a class="flag_image" href="list_all_quotes.php?id=<?php echo $row['quotes_id'].'_y'; ?>">
<img src="../images/flag_off.gif" border="0" width="17" height="17" alt="Flag Off">
<?php } elseif ($row['flag'] == 'y'){ ?>
<a class="flag_image" href="list_all_quotes.php?id=<?php echo $row['quotes_id'].'_n'; ?>">
<img src="../images/flag_on.gif" border="0" width="17" height="17" alt="Flag On">
<?php } ?>
</a>
</td>
및
내가 Ajax를 사용하여 아주 새로운하므로, 어떠한 도움을 주시면 감사하겠습니다 오전 jQuery를function ajax_init()
{
$('#pin_record a:first-child').on("click",(flag_record));
}
function flag_record()
{
var id_pin = this.href.replace(/.*=/,'');
var id_array = id_pin.split("_"); // split the quote id and pin
var id = id_array[0];
var pin = id_array[1];
this.id = 'flag_link_'+id;
$.getJSON('deletequote.php?ajax=true&id='+id+'&pin='+pin,set_flag);
return false;
}
function set_flag(data)
{
if(!data.success)return alert(data.serverMessage);
var href = '<a class="flag_image" href="list_all_quotes.php?id='+data.id+'_'+data.pin+'">';
$('#flag_link_'+data.id)
.replaceWith(href+data.flagimg);
}
$(document).ready(ajax_init);
입니다.
많은 감사, 크리스
안녕하세요, 시도하고 테스트 한 아이디어 주셔서 감사하지만이 작동하지 않습니다. 어쨌든 나는 그것을 자리에 남겨 두었습니다. 첫 번째 아약스 호출 이후 동일한 링크를 계속 클릭하면 완전한 서버 요청을 수행하고 아약스 코드를 우회합니다. –
여기에 누락 된 다른 해결책이 있습니까? –
firefox + firebug를로드하고 NET 패널을 엽니 다. 당신은 당신의 요청으로 무슨 일이 일어나고 있는지 알 수 있습니다. 서버 응답 문제 일 수 있습니다. –