帶註冊表單的帶有自動完成腳本的朋友文本框(支持來自userstable「全名」列的多個單詞完成)。現在問題1:如何從文本輸入字段獲取名稱數組,並用php查找這些姓名的id?問題2:如果註冊表中的新用戶id未知,註冊表將如何將其ID放到第二個(朋友)表中? 例如,如果訪客寫入「Tu」腳本從用戶表中找到「Tural Teyyuboglu」,則完成它,添加逗號,用戶可以添加儘可能多的他想要的用戶名。每次腳本工作。我想要得到這個用逗號分隔的用戶名到php數組,搜索這個用戶名一個一個的id並添加到好友表中。但是第二次懷孕發生?但是如果註冊表中的新用戶身份不明,註冊表將如何將其ID添加到第二個(朋友)表中?向php數組輸入字段
對不起,我的英語不好。我的想法是:我有一個用戶數據庫,每個用戶都有一個自動增加的ID號字段,以及各種其他字段的詳細信息。我想在用戶記錄中存儲一個包含一系列朋友的字段。我想要最有效的方式來存儲並能夠搜索每個用戶的朋友ID數組字段,並列出每個用戶搜索的朋友ID。假設某些時候可能會有一百萬個用戶,其中每個用戶的陣列中都有一百萬個「朋友ID」,我不認爲讓他們分開逗號會很高效,任何解決方案?它可以存儲在一個blob中並逐位搜索? (比如每人一點,所以一個1k的blob可以存儲多達1024個朋友組合)我認爲另一個表是最好的解決方案。這是一個多對多的關係,我爲用戶朋友建立了一個單獨的表:usrfrnd_tbl,列中有UserFriendID(唯一鍵),UserID,FriendID在我應用Jquery自動填充到朋友的註冊表格字段中:當訪客類型名稱現有用戶訪問此輸入字段,首先,腳本搜索名稱存在,完成它(如果存在),添加逗號。用戶可以輸入第二,第三...現有的用戶名到這個字段,每次腳本都會自動完成。現在我想創建一個php文件,它將搜索這些用戶名的id,創建id的數組,將它添加到db表中的「usrfrnd_tbl」新用戶「FriendID」字段中。問題:1.如何做到這一點?現在,在提交註冊表之後,如何獲取已編寫名稱的id的數組,並將它提交給usr_table的「friends」字段?我只需要書面姓名和全名。我不需要價值。我可以如何從jquery代碼中刪除它?
HTML
<form action="index.php" method="post">
<input class="std" type="text" name="friends" id="friends"/>
<input type="submit" name="submit">
</form>
jQuery的
$(function() {
function split(val) {
return val.split(/,\s*/);
}
function extractLast(term) {
return split(term ).pop();
}
$("#friends")
// don't navigate away from the field on tab when selecting an item
.bind("keydown", function(event) {
if (event.keyCode === $.ui.keyCode.TAB &&
$(this).data("autocomplete").menu.active) {
event.preventDefault();
}
})
.autocomplete({
source: function(request, response) {
$.getJSON("search.php", {
term: extractLast(request.term)
}, response);
},
search: function() {
// custom minLength
var term = extractLast(this.value);
if (term.length < 2) {
return false;
}
},
focus: function() {
// prevent value inserted on focus
return false;
},
select: function(event, ui) {
var terms = split(this.value);
// remove the current input
terms.pop();
// add the selected item
terms.push(ui.item.value);
// add placeholder to get the comma-and-space at the end
terms.push("");
this.value = terms.join(", ");
return false;
}
});
});
的search.php
$db = new mysqli('localhost', 'user' ,'pass', 'db') or die(mysqli_errno());
$q = strtolower($_GET["term"]);
if (!$q) return;
$query = $db->query("select id, fullname from usr_table where fullname like '$q%'") or die(mysqli_errno());
$results = array();
while ($row = mysqli_fetch_array($query)) {$results[] = array ("id" => $row[0] , "label" => $row[1], "value" => $row[1]);}
echo json_encode($results);
我更新了問題。請再讀一遍 – 2011-06-16 21:33:49
請幫忙。你可以加我到你的Skype名單,我想和你聊天。請:tural.teyyuboglu – 2011-06-16 21:41:26