我正在尝试将带有图像的标签保存到我的服务器。
我正确保存所有内容,图片和图片标题。
现在我正在尝试保存标题中的标签,我有一种方法,但我不确定。
在上传图像时,我应该在标题文本中搜索“#”的前缀,并单独保存每个标签,并为“Hashtag”表中的每个不同主题标签创建一个新行吗?
这似乎是我猜的最基本的方式,但如果有例如20个主题标签不会做20个查询?现在我不会这样做20多个查询上传1张图片会是一个非常好的主意......
现在我正在为我的服务器使用MYSQL和PHP,我想我可以在我的PHP文件中进行搜索,但这与前一个想法的结果相同......
所以现在我在想这是否可行:只需保存所有内容,但是当我点击我的应用程序中的主题标签时,我会搜索所选hastag的每个图像的所有标题并返回该ppost?!
不确定,但是如果有人可以给我那些意见或推荐会很棒!
一切顺利。
答案 0 :(得分:0)
您可以通过任意键将图像作为多部分数据和数组或主题标签作为参数发送给您,例如:
"hashtags" : ["first", "second"]
答案 1 :(得分:0)
您可以实现这样的数据库结构:
Table images
- image_id (primary key)
- filename
- caption
Table hashtags
- hashtag (primary key)
Table images_hashtags
- image_id (foreign key on images.image_id)
- hashtag (foreign key on hashtags.hashtag)
在上传过程中,使用正则表达式查找标题中的所有主题标签并将其放入数组中。
然后,只用一个查询将所有这些保存在hashtags表中(使用REPLACE,INSERT IGNORE或ON DUPLICATE KEY);如果hashtag已存在,则无法再次插入。
然后,使用单个查询始终在images_hashtags表中插入关系image-hashtag。
这是一种多余的方法,但您可以更灵活地检索数据。如果用户可以更改标题,则必须在更新期间清除某些行。在我看来,最好在服务器端发送干净标题并管理主题标签逻辑。