- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试创建一个按钮,允许用户使用 php 和 jquery (ajax) 收藏某些帖子。我一直在尝试使用 This answer在这里让它全部工作,但我在获取特定于要收藏的帖子的帖子 ID 时遇到了麻烦,而是它总是提供要在页面上加载的最后一个帖子的帖子 ID。这是我的代码,但我怀疑我可能只是在调整它时犯了一个错误。
我有 3 个表;用户、帖子和收藏夹。在用户中我有用户名密码和 id,在帖子中我有 id(和内容),在收藏夹中我有 id、userid 和 postid。查询:
<script>
$(document).ready(function() {
$('.favourite').on('click', null, function() {
var _this = $(this);
var postid = _this.data('$postid');
$.ajax({
type : 'POST',
url : '/add.php',
dataType : 'json',
data : '$postid='+ postid,
complete : function(data) {
if(_this.siblings('.favourite'))
{
_this.html('<img src="add2.png" />');
}
else
{
_this.html('<img src="add1.png />');
}
}
});
});
});
</script>
主要的 PHP(index.php):
<?php
$getposts = mysql_query("SELECT * FROM Posts ORDER BY id DESC") or die(mysql_query());
while ($row = mysql_fetch_assoc($getposts))
{
$id = $row['id'];
$user = $_SESSION['user'];
$findid = mysql_query("select * from Users where username='$user'");
if ($rows = mysql_fetch_assoc($findid));
{
$userid= $rows['id'];
$postid= $id;
}
echo '<a href="#" class="favourite" data-id="' . $postid . '"><img src="add1.png" /></a>';
}
?>
(还有其他代码,与本节无关)
添加.php:
<?php
session_start();
require_once('connect.php');
$userid = $_SESSION['$id'];
$postid = $_SESSION['$postid'];
$query_favorite = "SELECT userid, postid FROM Favourites";
$favorite = mysql_query($query_favorite) or die(mysql_error());
$row_favorite = mysql_fetch_assoc($favorite);
$totalRows_favorite = mysql_num_rows($favorite);
if(in_array($_POST['id'], $row_favorite))
{
$Del="DELETE FROM Favourites WHERE userid='$userid' AND postid='$postid'";
$result = mysql_query($Del);
}
else
{
$Add = "INSERT INTO Favourites (userid, postid) VALUES ('$userid', '$postid')";
$result = mysql_query($Add);
}
?>
在此先感谢您的帮助!
最佳答案
在 main.php 中,您使用的是 data-id="' . $postid . '"
。哪个将 postId 插入到 HTML 中,对吗?
但是在您的 Javascript 中,您正尝试使用
获取此数据元素var postid = _this.data('$postid');
数据:'$postid='+ postid,
代替
var post_id = _this.data('id');
数据:'id='+ post_id,
因为你的数据属性不是data-$postid
,而是data-id
。
add.php
中同样的错误:
$userid = $_SESSION['$id'];
$postid = $_SESSION['$postid'];
没有单引号:
$userid = $_SESSION[$id];
$postid = $_SESSION[$postid];
因为,当你对变量进行单引号时,它就是字符串“$id”,这不在 $_SESSION 中。
并且您必须从随 AJAX 请求发送的 $_POST
数据中获取 $id
(postid)。缺少的代码是:json_decode传入POST并抓取id,然后使用它...
调试提示:
var_dump($_POST);
添加到 add.php
以查看 AJAX 请求发布的数据。 “id”应该是它的一部分。json_decode()
传入$_POST
获取ID关于php - 如何将项目/帖子添加到收藏夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34277879/
UICollectionView单元格我在单个按钮中显示具有喜欢和不喜欢选项的产品,它位于collectionview cell中。每当我滚动UICollectionview单元格“收藏夹”时,它就会
我正在使用 Tridion 2011。我正在寻找一种方法让用户重命名收藏的链接。将组件、文件夹等添加到收藏夹很简单,但有没有办法让用户重命名这些收藏夹链接? 最佳答案 开箱即用,无法以不同于原始项目的
您好,我是一名自学 Flutter 的开发人员,正在编写我的第一个应用程序。我正在 Flutter 中构建一个基本的报价应用程序,它使用 Firebase 进行身份验证,使用 FireStore 作为
如何自动完成在“邮件收藏夹”文件夹中显示公用文件夹日历的过程? 我想通过登录脚本或通过组策略来做到这一点。 我将Microsoft Exchange Server 2007与Windows Serve
我无法让它工作...可能是什么问题? import flickrapi api_key = '1234...' flickr = flickrapi.FlickrAPI(api_key) user =
代码如下: using System; using System.Data; using System.Configuration; using System
我正在考虑将 CouchDB 用于即将推出的网站,但就如何为该网站实现用户评分系统而言,我有点困惑。基本上,每个内容项都可以由给定用户评分。哪种方式在 CouchDB 模型中最有意义?我认为最干燥和最
是否可以为 Internet Explorer 开发一个插件来替代现有的收藏夹功能? 最佳答案 当然,这确实在某种程度上取决于您期望“替换”的含义。您可以开发一个扩展来提供一组新的菜单或某种类型的下拉
我正在尝试在网站上实现收藏夹系统,例如在 stackoverflow.com 上:如果您单击星号图标,则会交换图像以显示它现在是最喜欢的。只是就我而言,被收藏的不是问题而是用户。到目前为止还没有什么大
我是 react-redux 世界的新手,在可视化一段复杂的数据流时遇到了一些困难(我认为)。 假设状态包含一组轨道和一组最喜欢的轨道 ID。用户可以从许多不同的组件中收藏一首轨道,例如音乐播放器、轨
当我单击它并单击列表中的所有项目时,我在列表 View 中有“收藏夹”按钮,我如何使用共享首选项修复此问题,这是我的代码: 在我的stfl状态下: static const likedKey =
我是 iOS 新手。我想在我的应用程序的顶部菜单上放置一个“星标”按钮。有没有办法让 iOS 中内置的星形按钮类似于 UIBarButtonSystemItemAdd 如果没有,我怎样才能得到类似于
到目前为止,我已经尝试使用简单的 php GET 请求和 POST 请求,但似乎没有任何效果。 这是我迄今为止的 Javascript 代码: $(document).ready(function()
这是我的表“用户”的样子: Name Password Favorites Test Test 1 2 3 4 在我的表“数据”中有 Comment ID "Test" 2 我希望用户能够将
我正在开发一个应用程序,我有一个要求。我必须处理自定义单元格上的收藏夹按钮。我正在创建带有单元格图像的自定义按钮,并设置未选择的类型我默认提供的收藏图像,一旦用户单击单元格上的收藏按钮,我正在更改按钮
我还是个初学者,才刚刚开始学扑翼。我关注的是谷歌Codelabs上的“你的第一款颤动应用”,并止步于这一步:https://codelabs.developers.google.com/codelab
我还是个初学者,才刚刚开始学扑翼。我关注的是谷歌Codelabs上的“你的第一款颤动应用”,并止步于这一步:https://codelabs.developers.google.com/codelab
因此,根据我的搜索,这是 iOS/Apple 端长期存在的错误。到目前为止,我还无法确认解决方法,所以想看看我是否能加快速度。 我在 realfavicongenerator 的帮助下在我的网站上合并
你好亲爱的stackoverflow friend 几个月前我问过你一个关于 QuickAccess (Pin/Unpin) 的问题.不幸的是,我们仍然面临这个问题(无法取消固定虚拟对象)。在多次调用
我是一名优秀的程序员,十分优秀!