php - 从ajaxcomplete到php变量

标签 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>

希望有人理解我想做什么,我提前感谢您的帮助。

最佳答案

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

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

然后用 ajax post 发送这个数组,并将其放入数据库

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

关于php - 从ajaxcomplete到php变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35698789/

相关文章:

查询 : To redirect from one page to another page

javascript - JQuery 旋转列表

php - 使用 PDO 准备语句时如何在使用 limit 的同时获取总行数?

mysql - CASE 语句以及如何使用其中的值

php - 如何检查用户是否有权限查看文档

php - JQuery:当用户单击链接时,首先提交表单然后转到链接

php - 如何从任何地方运行 "php phpunit.phar"CLI?

javascript - 使用 AJAX 和 jQuery 完成表单输入

php - 把逗号变成 html 实体?是否可以?

mysql - 与数据源的连接过多