2016-02-29 33 views
0

我正在創建一個用戶最喜歡的項目列表。從ajaxcomplete到php變量

用戶有一個輸入字段,當他按'搜索'時,它將顯示一個列表<div class="item-data"></div>。該列表將顯示與輸入的關鍵字匹配的項目。

如果用戶找到一個項目,它可以添加到列表中。我弄清楚了這一點,你可以在我的代碼中看到它。

我唯一不知道的是: 如何將選中的項目保存到mysql表格中,這些項目在added_items列表中,保存到一個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

使用'SELECT * FROM項目WHERE項目LIKE'%keywords%'ORDER BY item ASC' –

+0

that does not解決我的問題 – EyemansDome

+0

這就是爲什麼它的評論... –

回答

0

您可以創建已選定項目

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

,後來與一個ajax郵寄這個數組的數組,並把它放在一個數據庫

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

感謝拉蒙,這項工作,但它會中斷,當用戶選擇多個項目。它只顯示被點擊的項目。如何更改它,以便每次點擊都添加到數組中。 – EyemansDome

+0

將var items []不包含在點擊函數中。這將重置陣列 –

+0

但是把它放在功能 –