1

<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 データを配列に出力し、そのデータをクエリに処理する必要がありますか? もちろん、私もしばらくの間フォームを修正する必要があると思います。

4

1 に答える 1