-1
私のデータベースに行があり、それにvalue
という列があります。私は値をaan(英語:on)またはuit(英語:off)に更新するページを作っています。PHP submitを選択しないでください
ただし、送信時にaan
またはuit
の代わりに1
が値の列にあります。
行のIDが1であるため、1がありますが、何がうまくいかないのか、それがaan
またはuit
を送信していない理由がわかりません。
どうなりますか?
あなたの代わりにそのように選択の名前を変更しないのはなぜ<?php
$stmt = $dbConnection->prepare('SELECT * FROM settings ORDER BY id ASC');
$stmt->execute();
$result = $stmt->get_result();
if(mysqli_num_rows($result) > 0) {
?>
<form method="POST" action="">
<table>
<tr>
<th>Naam</th>
<th>Laatst gewijzigd</th>
<th>Waarde</th>
</tr>
<?php
while ($row = $result->fetch_assoc()) {
if(isset($_POST["opslaan"])) {
$id = $row["id"];
$stmt = $dbConnection->prepare('UPDATE settings SET value = ? WHERE id = ?');
$stmt->bind_param('ss', $id, $id);
$stmt->execute();
}
?>
<tr>
<td><?php echo $row["code"]; ?></td>
<td><?php echo $row["updated"]; ?></td>
<td><select name="<?php echo $row["id"]; ?>"><option value="aan"<?php if($row["value"] == "aan") {echo ' selected';} ?>>Aan</option><option value="uit"<?php if($row["value"] == "uit") {echo ' selected';} ?>>Uit</option></select></td>
</tr>
<?php } ?>
</table>
<input type="submit" value="Opslaan" name="opslaan">
</form>
<?php
} else {
echo "<p>Er zijn nog geen instellingen.</p>";
}
}
?>
Caあなたはもう少し説明しますか?私はあなたの提案を試みましたが、うまくいかないようです。 –
問題は、Selectの名前が数値であることです。この場合、1.私は論理的にアクセスできる文字列に名前を変更することを提案しました。 PHPにvar dumpを追加して、戻ってくるものを見ることができます。私はコードを更新して今すぐ追加します... – Poiz
あなたはそれを試してみることができます....私はちょうどあなたが本当に正しい値であなたのDBの**値**列を更新していないことを見た。あなたは***で明示的にrowIDに1を設定していました。それが理由です。そこで、あなたのDBの** value **カラムを更新するために使用される別の変数$ aanUitを追加しました。今は大丈夫です。 ** if(isset($ _ POST ["opslaan"])){**ブロックを提供したものに変更してください***あなたの選択の名前が "aan_uit"であることを確認してください*** – Poiz