我试图为我的网站创建一个小的“书签”功能。用户可以单击“.bookmarkButton”,它将执行以下脚本:
<!--Add To Bookmarks-->
$(".bookmarkButton").click(function() {
var pid=$(this).closest('div').attr('id');
$('#noBookmark').hide();
$.post('bookmarks/addBookmark.php', 'rid=' + pid, function (addBookmark) {
$("#bookmarkResults").add(addBookmark);
});
});
这是“addBookmark.php”的代码:
<?php
session_start();
if (isset($_SESSION['ridArray']) && count($_SESSION['ridArray'] > 0)){
addBookmark();
} else if (isset($_POST['rid']) && !isset($_SESSION['ridArray'])) {
$_SESSION['ridArray'] = array();
addBookmark();
}
function addBookmark() {
if (is_array($_SESSION['ridArray']) && isset($_SESSION['ridArray']) && isset( $_POST['rid']) ) {
array_push($_SESSION['ridArray'], $_POST['rid']); //push the id value from post to the session array
//$_SESSION['ridArrayClean'] = array_unique($_SESSION['ridArray']); //remove duplicates
print_r($_SESSION['ridArray']);
foreach($_SESSION['ridArray'] as $x) {
// Get all the data from the "example" table
$result = mysql_query("SELECT * FROM example WHERE id = $x")
or die(mysql_error());
$row = mysql_fetch_array( $result );
echo $row['productname'];
}}}
?>
该变量$_SESSION['ridArray']
保存具有已累积的所有 id 的数组。
我的问题是该脚本仅在为一项添加书签时才有效。当有多个产品加入书签时,我只会得到最后加入书签的产品名称,而不是我加入书签的所有东西。
因此,例如,在单击这样的书签按钮类后,而不是获取多个产品 ID:数组中的 0,1,2,3。我只得到最后点击的那个,即 6。
我已经研究了一段时间了,我似乎看不出我做错了什么。