我正在创建用户最喜欢的项目列表。
用户有一个输入字段,当他按“搜索”时,它会在<div class="item-data"></div>
中显示一个列表。此列表将显示与输入的关键字匹配的项目。
如果用户找到某个项目,则可以将其添加到列表中。我已经弄清楚了这一点,你可以在下面的代码中看到它。
我唯一能想到的是:
如何将added_items
列表中的所选项目保存到php变量中,以将它们保存到mysql表中。
的index.php
<div class="search_engine">
<ul id="added_items" class="list-inline">
<li>12 (itemid)</li>
</ul>
<div class="form">
<input type="text" class="form-control" id="item" name="item" placeholder="Enter item">
</div>
<button type="submit" class="send_button" id="get_item" >Search</button>
<div class="item-data"></div>
</div>
ajax.php
<?php
$keywords = mysqli_real_escape_string($db,trim($_POST['item']));
$query = mysqli_query($db, "SELECT * FROM items WHERE item = '{$keywords}' ORDER BY item ASC");
if (mysqli_num_rows($query) === 0){
echo "<h3>No items found</h3>";
} else {
echo "<h3>Items (".mysqli_num_rows($query).")</h3>";
echo '<ul id="items_list">';
while($row = mysqli_fetch_array($query)){
echo '<a id="'.$row['itemid'].'" href="#"> '.$row['item'].'</a></li>';
}
echo "</ul>";
}
?>
的jquery.js
<script>
function searching_for_items(){
$('#item').keypress(function(e){
if(e.which == 13){//Enter key pressed
$('#get_item').click();//Trigger search button click event
}
});
$('#get_item').on('click',function(){
var name = $('#item').val();
if(name != ''){
$.post('ajax.php', {item: name}, function(data){
$('.item-data').html(data);
});
}
});
// e.preventDefault();
}
$(document).ajaxComplete(function(){
$("#items_list").children('li').click(function() {
var rssId = $(this).children('a').attr('id');
$("#added_items").append("<li>" + rssId + "</li>");
});
});
</script>
希望有人明白我想做什么,并提前感谢你的帮助。
答案 0 :(得分:0)
您可以创建所选项目的数组
var items = [];
items.push(rssId);
稍后使用ajax发送此数组,并将其放入数据库
$.ajax({
type: "POST",
data: {items:items},
url: "save_items.php",
success: function(data){
$('#result').html(data);
}
});