<options>
while ループから複数の更新クエリを実行しようとしています。この機能を使用して画像の位置 ID を割り当て、Web サイトのさまざまな位置に配置できるようにしています。単一のイメージで機能していますが、それは各イメージを手動で更新する必要があることを意味します。
私の現在の状況では、while ループ内でフォームを実行しています。次に、送信ボタンがデータをプロセス ファイルに投稿し、保存します。それはうまくいきます。ただし、各画像のみ個別に。
単一の送信ボタンですべての画像位置を更新できるようにしたい。
私の現在のコードでは、while ループ内でフォームを実行することが問題だと思います。私が正しければ、単一のクエリで複数のフォームのデータを使用することはできません。今、私はこの助けを求めてこのリクエストを書いていますが、それはビジネスロジックのエラーであることに気付きました.
状況/コードに行きましょう:
現在、次のように機能します。
オプション > ボタン
オプション > ボタン
各更新ボタンは、記事 ID を持つファイル 'photoPositions.php' に移動し、挿入クエリを実行します。
私はこの状況が欲しい:
オプション
オプション
更新ボタン
結果: ワンクリックですべての画像を更新します。
photoPositions.php の Insertquery は次のようになります。
$insertQuery = ("UPDATE images SET posId = '".$_POST['posid']."' WHERE id = '".$_POST['imgid']."'");
mysql_query($insertQuery) or die(mysql_error());
(私mysql_
は廃止予定であることを知っています。後でそれに取り組みます)
私の現在の編集記事のコードは次のようになります。
<?php
echo 'Images:<br>';
echo '<table width="100%" cellspacing="3">';
$get_photo = "SELECT * FROM images WHERE artId = ".$_GET['id']." ORDER BY posId ASC";
$result = mysql_query($get_photo) or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo '<td align="left">
<a href="../photos/'.$row['name'].'" target="_blank">
<img src="../photos/'.$row['name'].'" width=200>
</a>';
?>
<form name="imagePosition" method="post" action="photoPositions.php?id=<?php echo $_GET['id'];?>">
<input type="hidden" name="imgid" id="imgid" value="<?php echo $row['id'];?>">
<select name="posid" id="posid">
<?php
echo '<option value="1"';
if($row['posId'] == 1)
{
echo ' selected';
}
echo '>Article</option>';
echo '<option value="2"';
if($row['posId'] == 2)
{
echo ' selected';
}
echo '>Sidebar</option>';
echo '<option value="4"';
if($row['posId'] == 4)
{
echo ' selected';
}
echo '>Offline</option>';
?>
</select>
<input type="submit" name="POSITION CHANGE" value="POSITION CHANGE">
</form>
<?php
}
echo '</table>' . "\r\n";
?>
画像の位置は、別のフォームを使用した大きな編集画面の一部です。各画像を手動で行うのではなく、編集記事全体の 1 つの更新プロセスに photopositions の更新を統合しようとしています。
すべての imgid データの posid データを配列に出力し、そのデータをクエリに処理する必要がありますか? もちろん、私もしばらくの間フォームを修正する必要があると思います。