0

一括アクションを実行しようとしています。私はチェックボックスを持っています、

<input type="checkbox" name="check_id[]" value="1">
<input type="checkbox" name="check_id[]" value="2">
<input type="checkbox" name="check_id[]" value="3">

選択したチェックボックスごとにmysqlテーブルから値を選択し、関数を使用してフェッチした値に基づいてデータを削除したかったのです。私は試した、

for( $i = 0; $i < count( $_POST['check_id'] ); $i++ ) {
  $manufacturers_id = prepare_input($_POST['check_id'][$i]);
  $manufacturer_query = mysql_query("select manufacturers_image from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . (int)$manufacturers_id . "'");
  $manufacturer = mysql_fetch_array($manufacturer_query);

  delete_image(DIR_IMAGES . $manufacturer['manufacturers_image']);
}

問題は、1、2、または 3 のいずれかであると$_POST['check_id']確信しているにもかかわらず、フェッチされた mysql 値がないことです。manufacturers_imagemanufacturers_id

これを達成する正しい方法はありますか?

4

2 に答える 2

1

この行を変更します

$manufacturer = mysql_fetch_array($manufacturer_query);

$manufacturer = mysql_fetch_assoc($manufacturer_query);
于 2012-08-18T12:58:00.960 に答える
0

配列を返しています...使用するwhile()か、最初の画像をフェッチします

delete_image(DIR_IMAGES . $manufacturer[0]['manufacturers_image']);
于 2012-08-18T11:59:48.580 に答える