データベースで複数の行を更新する:あなたはidとSTHの現在の状態を示すステータス(2 =完了、仕事で1 =という名前の別の列という名前の列があると見ることができるようには選択オプション
+------+------+
| id |status|
+------+------+
| 50 | 2 |
+------+------+
| 51 | 0 |
+------+------+
| 52 | 1 |
+------+------+
、
私は選択したオプション入力フィールドで現在のステータスを選択できる小さなGUIを実行しました。ステータスの現在のレコードもあらかじめ選択しています。
:私は、データベース内の各番号に述べたようにfunction generateSelect($name = '', $options = array(), $default = '') {
$html = '<select name="'.$name.'">';
foreach ($options as $option => $value) {
if ($value == $default) {
$html .= '<option value='.$value.' selected="selected">'.$option.'</option>';
} else {
$html .= '<option value='.$value.'>'.$option.'</option>';
}
}
$html .= '</select>';
return $html;
}
は
$statusArray=array("Done" => "2", "In Work" => "1","Open" => "0");
これは、すべてのidのすべての選択オプションフィールドの生成がどのように見えるかで、そのステータスを持つテキストの略
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$strStatus = generateSelect("stat", $statusArray, $row['status']);
echo '<tr><td>' . $row['id']. '</td><td>'.$strStatus.'</td></tr>';
私が今やっていることは、送信ボタンを押すとすべてのステータスレコードが更新されることです。
を、おそらく問題は別のオプションは、単に保存されるだろう
$tmp = getSelected();
$sql = "UPDATE form SET status='$tmp' WHERE *";
で選択された1
function getSelected(){
$value="";
if($_POST['status']=="0")
$value="0";
else if($_POST['status']=="1")
$value="1";
else if($_POST['status']=="2")
$value="2";
else if($_POST['status']=="3")
$value="3";
return $value;
} 2. SQL文を1.getting:私が試してみました何
選択されたフィールドのonchangeメソッドを使用して編集したものでしょうか? 本当に私が得ることができるすべての助けを感謝:)コードを見通すために時間を取るために事前にタイ。迅速な答えとエクストラアップデート@MarioZ
ため
UPDATE
TYまだdoesntの仕事にRLYようですが。 :
が最初に私は私が追加した複数のフィールドを更新することができるようにしたいので、ちょうど$行[「ID」]でうまくいきました^^ /多分あなたはそこに私を助けることができる「[ 『状態を』]」
。$strStatus = generateSelect($row['id']."['status']", $statusArray, $row['status']);
また、これは成功していない人のためにこれを試しました。
$personArray=array("Zivildiener" => "4", "Schmikl" => "3", "Poier" => "2","Dirnböck" => "1","Tom" => "0");
$strPerson = generateSelect($row['id']."['person']", $personArray, $row['person']);
と私はまた、しかし、唯一の状態のために、また、うまく働いたこれを追加しました:/
foreach($_POST as $key => $value) {
$sql = "UPDATE form SET status='$value' WHERE id = $key";
$result = $conn->query($sql); }
は、私は正直に本当にforeachループを理解didntのが、それは何らかの形で働いていた、あなたは多分に必要IDK私が聞いていなかったデータベースにもっと多くの列があることを知っていますが、これにもかかわらず、あなたが与えた最初の答えは完璧に働いていましたが、何らかの時間があれば、あなたの助けに感謝します:)
あなたがしたい場合はそれぞれのIDをステータスとともに投稿する必要がある3行を更新します。あなたが探しているものではありませんか? – MarioZ