将具有动态值量的数组插入数据库


insert array with dynamic amount of values to database

我正在尝试将图像信息数组插入我的数据库。该数组由大量图像信息组成,最初我只允许将数组中的 3 张图像输入数据库。图像详细信息进入一个名为 print 的表格,三个图像 url 中的每一个都有自己的一列,以及每个图像的标题、图像的拍摄日期及其位置。所有这些信息都与用户 ID 一起放在一行中。

// Assign images and data to appropriate variables
                    $image_one = $feed['0']['images']['standard_resolution']['url'];
                    $image_one_caption = htmlspecialchars($feed['0']['caption']['text'], ENT_QUOTES);
                    $image_one_date = $feed['0']['created_time'];
                    $image_one_location = $feed['0']['location']['name'];
                    $image_two = $feed['1']['images']['standard_resolution']['url'];
                    $image_two_caption = htmlspecialchars($feed['1']['caption']['text'], ENT_QUOTES);
                    $image_two_date = $feed['1']['created_time'];
                    $image_two_location = $feed['1']['location']['name'];
                    $image_three = $feed['2']['images']['standard_resolution']['url'];
                    $image_three_caption = htmlspecialchars($feed['2']['caption']['text'], ENT_QUOTES);
                    $image_three_date = $feed['2']['created_time'];
                    $image_three_location = $feed['2']['location']['name'];

但是,我现在想这样做,以便输入到表中的打印数量最多可以从 3 到 10 不等。我想知道最好的方法。我可以简单地以上面显示的方式将数组值分配给更多变量,但是这很笨重,而且我觉得不必要的重复。

正在考虑一个foreach循环,但是我不确定如何将每个图像和每个图像伴随数据插入用户打印行的正确列中。

另一种选择是创建一个单独的print_info表并存储用户 id 和print_job号,然后在打印表中纯粹将图像信息放在单独的行中,并带有一个print_job列,以将print_job链接到用户print_info行。 这是解决这个小问题的最佳方法吗?

这个呢:

$numOfImages = 4; //the number you want
for ($i=0; $i < $numOfImages; $i++) {
    $image = $feed[$i]['images']['standard_resolution']['url'];
    $image_caption = htmlspecialchars($feed[$i]['caption']['text'], ENT_QUOTES);
    $image_date = $feed[$i]['created_time'];
    $image_location = $feed[$i]['location']['name'];
    //...operation with $image
}