最初我有一个 mysql 视频表,它在一个简单的 html 表中显示给用户。他们可以$video_list
通过查询选择一个或多个复选框 ( ) 来标记删除(实际上并不删除,而是更新记录)
//store all video names in array
foreach ($video_list as $element) {
$deleteNames[] = $db->quote($element);
}
//create nice comma separated list for query
$deleteNames = implode(',', $deleteNames);
// query used
$query_delete_video = sprintf('UPDATE `videos` SET deleted_datetime=NOW() WHERE `video_name` IN (%s)', $deleteNames);
现在的问题是这个 html 表现在也有图像,而不仅仅是视频。这些图像位于一个名为images
. 用户可以同时选择多个视频或图像或仅视频或仅图像全部删除。
因此,现在该列表$deleteNames
可能包含视频和图像名称。
仅对图像的查询如下所示:
$query_delete_image = sprintf('UPDATE `images` SET deleted_datetime=NOW() WHERE `image_name` IN (%s)', $deleteNames);
相同的东西只是在不同的表和不同的列名中。我能想到有这两个查询的唯一方法是我$deleteNames
可能通过解析扩展名或其他东西来分离成图像和视频。
然后我可以为每个表运行查询。有没有更好的方法来解决这个问题,也许在一个查询中?