1

PHPとMySQLで1つの行のみを使用して、複数の値を含む列の正確な値を更新するにはどうすればよいですか?

選択:KPL: "1,2,3,4"

古い値を更新および削除します:KPL: "1,2,3,5"

このようではありません:KPL: "$ _POST [" kpl "]"

これは私の現在のコードで、次のようになっています:KPL: "1,2,3,4,5"

$kpl=$_POST["kpl"];
$today = date("Y-m-d");

$bquery = mysql_query("SELECT kpl FROM table WHERE user='$user' AND date='$today'");
$bresult = mysql_fetch_array($bquery);
$b = $bresult[0];

$data = array();
foreach (explode(",", $b) as $i => $x) {
$data[$i]["kpl"] = $x;
if($data["kpl"] == $id) {
$exact = TRUE;
}
}

foreach ($data as $rivi) {
$kpl2 = $rivi["kpl"];

if(!(empty($kpl))) {
if($elintarvikeonkaytossa == TRUE) {
$b2 = sanitize($b.",".$kpl);
mysql_query("UPDATE table SET kpl='$b2' WHERE user='$user' AND date='$today'") or die(mysql_error());
}
}
}
?>
4

1 に答える 1

0

最初の正規形に準拠していないため、データベースを再設計する必要があります。つまり、1 つのフィールドで複数の値を処理できないため、代わりに CSV または txt を使用します。

簡単に言えば、ずさんな php 置換コードをいじる代わりに、データでテーブルを作成しkpl各番号/ID を別の行に格納する必要があります。

于 2012-09-01T17:47:00.833 に答える