$('element').droppable({
drop:function(event, ui){
$.ajax({
url: '/path/to/my/file.php',
type: 'POST',
data: {'left' : ui.helper.position().left,
'top': ui.helper.position().top},
success: function(data){
//do something with the response from the server
}
});
}
});
jQuery Post 그리고
if(isset($_POST['left'])):
$db = new mysqli('connection info here');
$q = $db->prepare('INSERT INTO some_table (left, top) VALUES (?,?)'); //prepare the statement
$q->bind_param('ss', $_POST['left'], $_POST['top']); //safe binding
if(FALSE !== $q->execute()):
return 'Query Executed!';
endif; //execute the statement
return false;
endif;
/path/to/my/file.php
에 따라서 PHP 파일에 우리가 단순히 $_POST
변수 left
의 존재를 확인하고 있습니다. top도 사용할 수 있다고 가정합니다. 우리는 mysqli 연결을 만들고, 안전한 진술을 준비하고, left/topvalues를 사용하여 매개 변수를 strings
으로 바인딩합니다. 그런 다음 실행이 false를 반환하지 않았는지 (true/false를 반환하는지) 확인합니다. 그렇지 않은 경우 값을 전달하고 조건을 모두 빠져 나옵니다. 그렇지 않은 경우 false가 반환됩니다. 그뿐만 아니라 쉽게 해 드리겠습니다 실제로 삽입을 수행 할 준비가 될 때까지 귀하의 코멘트에서
편집
, 당신은 사용자가 수행하는 작업을 저장합니다.
var dc = 0,
drops = {};
dc
는 dropcount
것이며, drops
개체 것이다.
$('element').droppable({
drop: function(event, ui){
drops[dc] = {'left' : ui.helper.position().left, 'top' : ui.helper.position().top};
dc++;
}
});
은 상기에서 우리는 단지 각 드롭 왼쪽 위/값에 대한 정보를 저장하고 상기 객체를 통해 증가 drops
.
$('.save').click(function(e){
e.preventDefault();
$.ajax({
url: 'test.php',
type: 'POST',
data: {'drops': drops},
success: function(data){
console.log(data);
}
});
});
여기에는 save 클래스가있는 save 버튼이 있습니다. 우리는 기본 조치를 취하지 않습니다. 그런 다음 drops 객체를 서버에 보냈습니다.
if(isset($_POST['drops'])):
//same process as outlined above, use a helper function to insert the rows
endif;
이제 우리는 $ _POST 변수 'drops'가 있는지 확인합니다. 위와 동일한 전술을 사용합니다. 도우미 function saveDrops($obj)
을 추천하고 반환 된 방울을 반복하고 전달 된 각 obj에 대해 저장 작업을 수행하십시오.
이것은 '당신이가는대로 저장'하는 것 같습니다. 나는 위와 같은 생각을하지 않았습니다. (감사합니다 ..).하지만 모든 좌표를 하나의 파일로 보내고 처리하려면 어떻게해야합니까? ? –
@Mat Richardson 그래서 자바 스크립트에서 객체의 좌표를 잡고 싶다고 말하면 사용자가 '최종'동작을 수행 할 때 실제로 삽입 할 것인가? – Ohgodwhy
그래, 사용자가 '수준 저장'버튼을 클릭하면 배치 된 블록의 좌표 목록 (또는 무언가)을 페이지에서 생성하고 작업 로트로 저장하기 위해 PHP 스크립트로 보냅니다. –