데이터베이스에서 while 루프를 통해 모든 연락처를 출력하는 테이블이 있습니다.PHP 도움말을 통한 jQuery/Ajax SQL 라이브 업데이트
내 구문은 다음과 같다 :
SELECT * FROM contacts WHERE id = $_SESSION['user_id'] ORDER BY name ASC LIMIT 5
은 내 모든 데이터를 가져옵니다 만 나에게 5 개 결과를 제공합니다.
이제 내 목표는 사용자가 숫자를 입력하도록 요청하는 양식을 사용하여 jquery (이 항목은 직접 관리 할 수 있음)가있는 모델 상자를 여는 작은 버튼을 사용하여 해당 번호가 게시물을 통해 전송되거나 얻을 수 있습니다. $ PHP_SELF로 변경하고 사용자가 입력 한 숫자로 로컬 변수를 업데이트하면 해당 변수가 데이터베이스를 업데이트하여 LIMIT 값을 높이거나 낮추는 데 사용됩니다.
나는 웹을 통해 (구글과 함께) AJAX를 사용하여 양식을 제출할 것을 찾았지만 찾은 모든 예는 나를 위해 일하지 않는다.
사용자가 숫자를 제출하면 출력 된 테이블에 대해 SQL 쿼리가 실행되고 업데이트되어 사용자에게 페이지를 새로 고치지 않고 새 LIMIT 값에 따라 동적으로 업데이트합니다.
는(document).ready(function(){
$("form#form").submit(function() {
// we want to store the values from the form input box, then send via ajax below
var val = $('input[name=new_value]').attr('value');
$.ajax({
type: "post",
url: "process.php",
data: "val="+ val,
cache: false,
success: function(){
$('form#form').hide(function(){$('.success').fadeIn();});
}
});
return false;
});
});
$(document).ready(function(){ $("form#form").submit(function() {
// we want to store the values from the form input box, then send via ajax below
var val = $('input[name=new_value]').attr('value');
$.ajax({ type: "post", url: "process.php", data: "val="+ val, cache: false, success:
function(){
$('form#form').hide(function(){$('.success').fadeIn();});
} }); return false; }); });
다음 내 PHP 코드는 다음과 같습니다 :
내 jQuery 코드는
$new_val = $_POST['new_val'];
$_val = "UPDATE `settings` SET `display_limit` = {$new_val} WHERE `user_id` = {$_SESSION['user_id']}";
mysql_query($_val) or die(mysql_error());
및 내 양식은 간단하다 :
어떤 제안? 필자는 출력 테이블을 동적으로 업데이트하는 방법을 찾지 못했습니다. 누군가가 올바른 방향으로 나를 가리키거나 도움이된다면 도움이됩니다.
감사
편집 :
여기, 나는 성공적으로 양식을 제출할 수 내가 작업 한 업데이트 JQuery와 스크립트 해요입니다! 하지만 내 유일한 문제는 페이지가 패배는 AJAX 사용의 목적 ... 한숨 새로 고쳐집니다 때까지 변경 사항을 볼 수 있다는 것입니다
나는 지금 내 #results div의 업데이트와와 활력을 가질 수있는 방법 양식 제출 콘텐츠?
$(document).ready(function() {
var options = {
url: 'process.php',
type: 'post',
//dataType: 'json',
target: '#last_five_sellers',
success: success
};
// bind to the form's submit event
$('#form').submit(function() {
// inside event callbacks 'this' is the DOM element so we first
// wrap it in a jQuery object and then invoke ajaxSubmit
$(this).ajaxSubmit(options);
// !!! Important !!!
// always return false to prevent standard browser submit and page navigation
return false;
});
function success(responseText, $form) {
$("form#form").hide();
$(".success").fadeIn();
}
});
HTML 대신 XML로 전송하는 것이 무엇이겠습니까? XML은 효율적인 데이터 교환 형식이 아닙니다. JSON은 대역폭 사용을 줄이기위한 좋은 방법입니다. 당신이하는 일에 따라 더 나아질 것입니다. 자바 스크립트를 많이 사용하고 있다면 자바 스크립트에서 수행되는 작업량을 줄일 수 있습니다. –
필자는 JSON을 XML보다 선호한다. 왜냐하면 필자는 구문을 더 좋아하고 JS와 함께 사용하는 것이 더 쉽기 때문이다. 성능 측면에서 모든 HTML 클라이언트 측 (특히 http://ejohn.org/apps/workshop/adv-talk/#6 에서처럼 문서 조각으로)을 저장하면 예를 들어 같은 HTML 50 또는 100 번 이상을 전송하는 대신 단일 데이터 행 템플리트.어쨌든 똑같은 노드를 직선 HTML로 삽입하게되므로 궁극적으로 대역폭 절감은 JS 사용을 제한하는 것보다 훨씬 더 큰 영향을 미칩니다. – JKS
하지만 아주 단순한 HTML 만 보내면 별 효과가 없을 것입니다. 그러나 실제 환경에서는 각 행에 표가 삽입 된 앱을 개발하고 있었으며 추가 마크 업만으로도 JSON으로 전환하려는 노력이 필요했습니다. 요청은 ~ 50KB의 ~ 120KB에서 ~ 40KB까지 내려갔습니다. – JKS