从ajaxcomplete到php变量

时间:2016-02-29 11:50:39

标签: php jquery mysql ajax

我正在创建用户最喜欢的项目列表。

用户有一个输入字段,当他按“搜索”时,它会在<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>

希望有人明白我想做什么,并提前感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您可以创建所选项目的数组

var items = [];
items.push(rssId);

稍后使用ajax发送此数组,并将其放入数据库

$.ajax({
   type: "POST",
   data: {items:items},
   url: "save_items.php",
   success: function(data){
     $('#result').html(data);
   }
});