我想实现一个" save"功能,允许我的用户保存我从数据库中呈现给他们的特定条目。例如,如果他们看到他们喜欢的东西,他们可以按下" save"按钮,它将保存到"书签"页。
这是我的代码:
<?php
// Get all the data from the example table
$result = mysql_query("SELECT * FROM table WHERE item <> 0 ORDER BY id")
or die(mysql_error());
// keeps getting the next row until there are no more to get
$i = 10;
while ($i > 0) {
$i--;
$row = mysql_fetch_array( $result );
if ($row['id'] != "" ) {
?>
<!-- Some content in this div-->
<div class="content">
<img src="<?php echo $row['logo']; ?>"/>
<?php echo $row['id']; ?>
</div>
<!-- This div will have the save icon that users can press -->
<div class="save">
<img src="images/saveIcon.png" />
</div>
<?php }} ?>
<div class="bookmarked">
Every single div that is labled as "content" that has been saved, will be displayed here.
</div>
问题:如何实现一项功能,允许用户将SQL(动态创建的内容)中的特定ID添加到cookie变量中,以便以后可以再现。
答案 0 :(得分:1)
如果我已正确理解您的问题,您需要一个标记相关DIV的按钮,并将此关系存储到Cookie中。
首先,我会将条目的id作为类添加到DIV中。然后你就可以通过javascript轻松获取id(进一步的实现)。
要通过php设置收藏夹,您应该添加一个新的PHP脚本的链接。此脚本通过setcookie function in PHP设置Cookie。
在您的bookmarked-DIV中,您将使用与上面相同的while循环,但使用Cookie中的值检查ID。您可以使用$_COOKIE
访问Cookie。只显示包含在Cookie中的项目。
这是一种可行的实施方式。
答案 1 :(得分:0)
您可能希望使用PHP将其存储在会话中而不是使用Javascript。
您只需将ID推送到会话变量即可实现此目的:
<?php
session_start();
if(isset($_GET['id']) && is_numeric($_GET['id'])){
$_SESSION['bookmarks'][] = intval($_GET['id']);
}
然后使用AJAX,您可以使用要添加书签的实体ID来点击此脚本,并将其保存到会话中。