我正在做一个项目,我使用数据库来存储一些书籍信息。第一步,我将数据库中的所有图书 ID 放入一个数组中,并使用该数组创建一个图像列表。这是我从数组 $book_list 生成变量 $previous_index 和 $next_index 的程序,其中 $book_list 存储整个数据库中书籍的所有 ID:
while($row = mysqli_fetch_array($sql)) {
$current_index = find_array_index($current_id,$book_list);
$next_index = $current_index + 1;
$previous_index = $current_index - 1;
// previous key / returns false if result found at first key
if ($previous_index >= 0) {
$previous_id = $book_list[$previous_index];
}
else {
$previous_id = 'Null';
}
// previous key / returns false if result found at first key
if ($next_index <= sizeof($book_list)) {
$next_id = $g_list[$next_index];
}
else {
$next_id = 'Null';
}
当用户点击图片列表时,他们会被引导到另一个页面,比如详情页,里面会显示这本书的所有细节,比如价格、作者……而且,我还设计了两个按钮,上一本书和下一本书,这样用户就可以移动到下一本书而无需返回主列表。我尝试使用序列化方法将数组 $book_list 传递给详细信息页面:
// pass global array between pages
$global_array = urlencode(serialize($book_list));
$link = 'book_detail.php?id=' . $current_id . '&array=' . $global_array ;
并在详细页面中获取数组的内容:
print_r(unserialize(urldecode(stripslashes($_GET['array']))));
但是,它在 print_r 函数中没有显示任何内容。
我的程序有问题吗?是否有另一种方法可以满足我的要求,而无需在几个 php 页面之间传递数组?
如果有人能给我提示,不胜感激。