php - MySQL 表/查询设计 - 一项的倍数,许多评论

标签 php mysql sql

我有一个显示图像的网站,每页最多 30 张。

用户可以对图片发表评论,如果有评论,这些评论或至少前几条评论会显示在图片下方。

我有一个图像引用表链接到我服务器上的一个文件夹。

例如

image_id // image id
user_id // user who added
image_url // ref to image

然后是所有评论的单独表格

comment_id
image_id // link to images table
comm_poster_id // id of user who posted comment

现在,问题是将信息组合在一起的最佳方式是什么?理想情况下一次选择

我真的不能在每张图片下调用 ajax,因为那将是每页 30 次 db 调用,这会杀死它,那么替代/最佳方法是什么?

澄清一下,在 select 中只会有一张图片,但一张图片当然可以有多个评论

希望我已经提供了足够的信息

编辑 澄清一下,问题是将所有这些信息整理在一起以供显示的最佳方式是什么 - 我可以运行一个查询来拉取页面上的所有图像并以某种方式拉取评论吗用于图像(如果存在)。

至于我希望数据看起来如何……我不知道。这是我第一次做这样的事情,所以如果可能的话需要指导。

最佳答案

好吧,我不是 php 专家,但我让您了解了 sql 方面的知识。我可以帮助您使用 php,但这里还有其他人比我更精通它。

我为你启动了这个 sqlFiddle,去看看,你可以修改查询以获得你想要的。

http://sqlfiddle.com/#!2/79ecf/1/0

在 php 方面,在您知道要如何显示数据之前,很难说出您的查询需要是什么样子。我暂时接受了这个:

select *
from images i
inner join comments c on i.image_id=c.image_id;

这是一个非常简单的查询,您最终可能需要向其中添加内容。

我假设您使用的是 mysql,因为大多数使用 php 的人都选择 mysql。据我了解,有两种连接方式,mysqli 和 pdo。 PDO 似乎正在成为首选方法,但我对此一无所知。以下是两者的引用。只是不要使用 mysql_query(),它已被弃用,所以不要费心去学习它的任何部分。

PDO: http://dev.mysql.com/doc/refman/5.6/en/apis-php-pdo-mysql.html
MYSQLI: http://php.net/manual/en/mysqli.query.php

其中任何一个都应该提供足够的教程来向您展示如何查询数据库,然后循环遍历结果以获取数据。然后由您决定如何在您的页面上显示它。

希望这足以为您指明正确的方向。

祝你好运!

关于php - MySQL 表/查询设计 - 一项的倍数,许多评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15461234/

相关文章:

php - 安全措施 - 何时以及如何

mysql - Ruby on Rails,测试表明列不存在,但在架构上

mysql - 我可以使用什么 SQL 查询来选择只有 0 个产品的用户?

mysql - 如何测试 SQL 中每个组中列值的顺序(基于时间戳)?

php - 将值添加到 PHP 中的关联数组

php - 哪些字符应该被转义以替换为 preg_replace

php - sql命令从数量中减去一项

java - 事务注释在 Spring Boot 中与 jpa 不工作

php - 限制分页页数

sql - 整数除法返回 0