php在字符串中找到一些文本(如果它在那里)

pat*_*ick 0 php mysql string

我有一个MYSQL照片库数据库; 每行包含一个字段,其中包含该库中包含的图像列表,例如:

1,5,134,13,5

这些是照片的ID.相同的image_id可以包含在其他画廊中.

当我删除照片时,我需要从包含它的图库中删除相应的ID.在PHP中执行此操作的最佳方法是什么?

我想把EXPLODEing字段放到一个数组中,删除值然后IMPLODE返回并更新数据库,但我很确定有更好的方法吗?

谢谢,帕特里克

感谢Galen和所有人.

我是一个新手,对标准化不太了解(=任何事情).如果我理解正确,你建议有2个表:1表示有关照片的所有信息(例如,image_id,名称,标题等),另一张表只有一张使用该照片的画廊列表,例如:

gallery_id | image_id 
     1          3  
     1          7  
     1          5  
     2          3  
     2          8  
Run Code Online (Sandbox Code Playgroud)

所以通过从这个表中删除WHERE image_id = 3,我会从两个画廊中删除该照片.但是,在这种情况下,我会管理照片的顺序吗?有一个字符串允许我有一个有序的照片列表.

Gal*_*len 10

这就是您规范表格的确切原因.然后你可以运行查询

delete from images where image_id=5;
delete from imageXgallery where image_id=5;
Run Code Online (Sandbox Code Playgroud)

图像表包含所有图像信息.imageXgallery表只包含图像到图库引用.

我建议您阅读规范化并更新表格.

编辑:要允许图像排序order,请在imageXgallery表中添加一个字段.从表中检索图像时,您可以按该列进行排序.