Я устал от этого кода. В самом деле. Я вчера работал, чтобы сделать это исправленным, и он просто не работает. Я бы сказал, если кто-то даст им их вклад.Изменить значения базы данных одним нажатием кнопки Отправить PHP
Я нашел старую CMS с некоторыми замечательными функциями. Однако эта CMS работает с 2008 года и по-прежнему работает в MySQL и больше не обновляется. Поэтому я взял несколько сценариев. Один из них может настроить несколько строк базы данных on
и off
всего одним нажатием кнопки отправки.
База данных выглядит следующим образом.
Значение означает, включено или выключено. На голландском - aan
и uit
. Я делаю голландскую CMS, поэтому я создаю ее на голландском языке по большей части, поэтому мой клиент тоже ее понимает.
Код из CMS 2008 выглядит так: http://pastebin.com/EkmB8rFr (Я вставляю его в Pastebin, потому что это грязный код и SO слишком мал для этого).
Итак, моя задача - преобразовать этот код 2008 в код 2016 со всеми исправлениями SQL и всеми. Вот мой результат:
<?php
if(isset($_POST['opslaan'])) {
$stmt = $dbConnection->prepare('SELECT * FROM settings');
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
$id = $_POST[$row["id"]];
$row = $row["id"];
$stmt1 = $dbConnection->prepare('UPDATE settings SET value = ? WHERE id = ?');
$stmt1->bind_param('ss', $id, $id);
$stmt1->execute();
}
//header('Location: index.php?page=instellingen');
} else {
$stmt = $dbConnection->prepare('SELECT * FROM settings ORDER BY id ASC');
$stmt->execute();
$result = $stmt->get_result();
?>
<form method="POST" action="">
<table>
<tr>
<th>Naam</th>
<th>Laatst gewijzigd</th>
<th>Waarde</th>
</tr>
<?php
while ($row = $result->fetch_assoc()) {
?>
<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
}
Этот код просто не работает, как код 2008 года, и я просто не знаю, что происходит. Ошибка в том, что она помещает идентификатор в базу данных, а не значение <select>
.
Результат должен быть таким:
это isthe проблема '$ stmt1-> bind_param ('сс', $ ID, $ ID);' –
@Dagon Понял фиксированной, спасибо за ваш вклад Дагон! –