[英]jQuery UI Receive Post to PHP file
我正在使用jQuery UI為UL創建拖放功能。 這個想法是,您可以對列表中的項目進行排序,並且視圖順序將在數據庫中更新(正在運行)。 我現在要添加的功能是能夠將LI拖動到其他UL中並進行數據庫更新,以便應用程序知道LI進入的列表。該項目可以移到其他列表中,但是我發布到的php文件沒有更新數據庫。
PHP文件回聲列表如下所示:
<div class="list_div">
<h3>List #1</h3>
<ul id="listnumber_25" class="ui-sortable" unselectable="on">
<li id="item_134">list item 1</li>
<li id="item_135">list item 2</li>
<li id="item_136">list item 3</li>
<li id="item_137">list item 4</li>
</ul>
</div>
<div class="list_div">
<h3>List #2</h3>
<ul id="listnumber_26" class="ui-sortable" unselectable="on">
<li id="item_138">list item 1</li>
<li id="item_139">list item 2</li>
<li id="item_140">list item 3</li>
<li id="item_141">list item 4</li>
</ul>
</div>
JS看起來像這樣:
//sort / change list
$(document).ready(function(){
$(".list_div ul").sortable({
receive: function(event, ui) {
var list_id = this.id;
var li_to_reassign = ui.item.attr('id');
$.post("functions/changelist.php", { li_to_reassign: li_to_reassign, list_id: list_id } );
}
});
});
函數/changelist.php:
<?
$list_id = $_POST['list_id'];
$list_id = substr('$list_id', 11);
$li_to_reassign = $_POST['li_to_reassign'];
$li_to_reassign = substr('$li_to_reassign', 5);
//------------------------------------------
// connect to DB
$host="localhost"; // Host name
$username="********"; // Mysql username
$password="********"; // Mysql password
$db_name="**********"; // Database name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="UPDATE tasks SET list_id='$list_id' WHERE id='$li_to_reassign'";
$result=mysql_query($sql);
?>
我似乎找不到問題!
在您的php文件中,您從$_POST
獲取值,但是在使用新的值$str
重新聲明這些變量后,甚至沒有設置該值:
$list_id = $_POST['list_id'];
$list_id = $list_id($str, 11);
$li_to_reassign = $_POST['li_to_reassign'];
$li_to_reassign = $li_to_reassign($str, 5);
它應該是:
$list_id = $_POST['list_id'];
$li_to_reassign = $_POST['li_to_reassign'];
編輯(如果您想獲得$_POST
變量的子類,請使用substr這樣的函數):
$list_id = $_POST['list_id'];
$list_id = substr($list_id, 11);
$li_to_reassign = $_POST['li_to_reassign'];
$li_to_reassign = substr($li_to_reassign, 5);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.