Okie dokie。私が自分自身を正しく説明できるかどうかを見てみましょう。私はそうのように、彼らのグループので、一緒にデータをプルアップされてきた特定の配列を削除するには?
row1 (labeled "claimed") = Item1, Item2, Item3, Item4
row2 (labeled ctype) = Thing1, Thing2, Thing3, Thing4
:
Item1, Thing1
Item2, Thing2...
このコードを使用して:私のデータベースの二つの別々の行では、私は次のようになり、データを持っている
<?php
$select=mysqli_query($connect, "SELECT * FROM `$table_members` WHERE email='$_SESSION[USR_LOGIN]'");
while($row1=mysqli_fetch_assoc($select)) {
$name1=$row1['name'];
$claim = $row1['claimed'];
$type1 = $row1['ctype'];
if ($claim != 'None') {
$type2 = explode(', ', $type1);
$decks = explode(', ', $claim);
echo "<table id=\"memtable\"><tr><th>Name</th><th>Claimed</th><th>Type</th></tr>";
foreach(array_combine($decks, $type2) as $deck => $type3){
echo "<tr><td>";
echo "$name1</td><td>";
echo "$deck</td><td>";
echo "$type3</td><td>";
}
}
}
?>
問題は、メンバーがフォームを送信した後で、そのアイテムに基づいてアイテムとアイテムをデータベースから削除したいということです。たとえば、私はドロップダウンを持っています
-Item1
-Item2...
彼らはItem2を選択してフォームを送信します。今、私は私のデータベースからアイテム2とThing2を削除したい、今の行は次のようになります。
row1 (labeled "claimed") = Item1, Item3, Item4
row2 (labeled ctype) = Thing1, Thing3, Thing4
唯一の特定のインスタンスが削除されるように、私はそれをコーディングする方法を見つけ出すように見えることはできません。 私はそれが次のようなものだと仮定します。
foreach(array_combine($decks, $type2) as $deck => $type3){
$gone = "DELETE FROM `$table_members` WHERE claimed='$deck' AND ctype='$type3'";
mysqli_query($connect, $gone);
}
ETAの:私は解決策を見つけました!誰もが事の同じタイプを探しているために、ここで私がやったことだ:
$remove = $_POST['remove;']
$select1=mysqli_query($connect, "SELECT * FROM `$table_members` WHERE email='$_SESSION[USR_LOGIN]'");
while($row1=mysqli_fetch_assoc($select1)) {
$claim = $row1['claimed'];
$type1 = $row1['ctype'];
}
$type2 = explode(', ', $type1);
$decks = explode(', ', $claim);
for($i=0;$i<count($decks);$i++){
if($decks[$i]===$remove){unset($decks[$i]); unset($type2[$i]);}
}
$decks = implode(', ',$decks);
$type2 = implode(', ',$type2);
$gone = "UPDATE `$table_members` set claimed='$decks', ctype='$type2' where email='$_SESSION[USR_LOGIN]'";
mysqli_query($connect, $gone);
あなたはデータを正規化する必要があります。 –
申し訳ありませんが、私は本当にそれを説明する方法が分かりませんでした。 –