タイトルが誤解を招く場合は申し訳ありませんが、これ以上のものは思いつきませんでした。
まず、禁止リストと証明の 2 つのテーブルがあります。私の問題では、禁止リストは多かれ少なかれ無関係ですが、証拠はあります。
Table: proof
proofid - primary key
banid - foreign key (links to banlist)
proof - stores the link which acts as the proof
type - stores the type of the proof (image, demo, ...)
また、管理者が禁止に関する詳細を提供し、証拠をリンクできるようにするフォームもあります。禁止には複数の証拠がある可能性があるため、2 つのフォーム フィールドの新しいインスタンスを作成するリンクを実装します (おそらく jQuery 経由)。フォームは次のとおりです。
<p>Proof (if no proof is available, enter N/A):</p><input type="textfield" name="proof" style="border: solid 1px #<?php echo $pbg?>"/>
<select name="prooftype" style="border: 1px solid #<?php echo $ptbg ?>" />
<option value="TZAC">TZAC</option>
<option value="UAC">UAC</option>
<option value="ESL Wire">ESL Wire</option>
<option value="GV">GV</option>
<option value="PB Bans">PB Bans</option>
<option value="Demo">Demo</option>
<option value="League">League</option>
<option value="Image">Image</option>
<option value="Stream">Stream</option>
<option value="Other">Other</option>
</select>
問題、または問題ではない可能性があるのは、データの複数のインスタンスをプルーフ テーブルに挿入する (そして最終的には更新する) 方法です。上記のうち4つがあった場合、4つすべてを異なる値でテーブルに挿入する方法がわかりません。
textfield と select の両方の ID を id="proof1"/id="type1", id="proof2"/id="type2", id="proof3"/id="type3 に設定するのは理にかなっていますか?などを配列に格納し、配列をループして、現在選択されている textfield/select?
最後に、管理者が禁止を編集できるようにすると、禁止には 4 種類の証拠があり、選択した禁止のテーブルの証拠を更新する必要があるという点で、同様の問題に直面します。
現在、次のクエリがあります。
$query2 = "UPDATE proof SET proof = '$proof', type = '$type' WHERE banid = $id";
ただし、それはすべての行を同じbanidで上書きしますが、プルーフの行に固有の行のみを更新したいと思います。各テキストフィールド/選択ボックスの横に隠しフィールドを作成すると、プルーフIDを保存してからUPDATE SQLコマンドを変更することで機能します... WHERE proofid = $_POST['...']
か? 繰り返しますが、各インスタンスをループするには何らかのタイプの配列が必要になると思います。
この画像はフォームの一部を示しており、色はフォーム フィールド間のリンクを表しています。そこから、4 つの証明例をそれぞれ取得し、それに応じて挿入または更新する必要があることがわかります。
部分が不明確である場合はお詫び申し上げます。おそらく、私が個人的にレンガの壁に直面していることがわかります。おそらく、それを理解する必要があるのは私だけでしょう。追加するために、私は投稿の質問に答えたかもしれませんが、配列の使用を改善するための考えやアイデアをお願いします.
私はあなたが与えることができる助けや指示に感謝します,
ジョン。