我正在尝试更新 3 个相同 product_id 的图像。我有一个不同的 product_table 和 Product_images 表。product_images 表有 5 个字段;image_id、product_id、名称、图像、排序。我正在尝试更新任何特定 product_id 的图像。我之前面临的问题是它为所有三个“图像”设置了相同的“图像”,这就是我添加“ord”文件的原因,它解决了这个问题。现在我有一个新问题。我无法理解在哪里编写更新图像的查询。如果我将它写在 for 循环中,那么它会运行 'Update Query' 6 次,如果我将它写在 for 循环之外,则它无法找到 $ord[] 变量。请告诉解决这个问题的方法。下面给出的是我正在处理的代码部分。
/*
* ------------------- IMAGE-QUERY Test 002 --------------------
*/
if (isset ( $_FILES ['files'] ) || ($_FILES ["files"] ["type"] == "image/jpeg"))
{
$i = 1;
/*
* ----------------------- Taking Current Order_id ------------------------
*/
// $order_sql= "select MAX(ord) from product_images";
$order_sql = "SELECT ord from product_images where product_id=$id";
$order_sql_run = mysql_query ( $order_sql );
echo mysql_error ();
for($i = 1; $i <= $order_fetch = mysql_fetch_array ( $order_sql_run ); $i ++)
// while ($order_fetch= mysql_fetch_array($order_sql_run))
{)
echo 'ID ' . $order_id [$i] = $order_fetch [(ord)];
}
/*
* ----------------------- Taking Current Order_id ------------------------
*/
foreach ( $_FILES ['files'] ['tmp_name'] as $key => $tmp_name ) {
// echo $tmp_name."<br>";
// echo 'number<br>';
echo $image_name = $_FILES ["files"] ["name"] [$key];
$random_name = rand () . $_FILES ["files"] ["name"] [$key];
$folder = "upload/products/" . $random_name;
move_uploaded_file ( $_FILES ["files"] ["tmp_name"] [$key], "upload/products/" . $random_name );
echo '<br>';
echo $sql = "update product_images set name= '$random_name',images= '$folder' where product_id=$id andord=$order_id[$i]";
if ($query_run = mysql_query ( $sql )) {
echo '<br>';
echo 'Done';
}
else {
echo mysql_error ();
}
// $i=$i+1;
}
}
/*-------------------
IMAGE-QUERY Test 002
--------------------*/