Я делаю приложение и нуждаюсь в обновлении только одной строки в моей базе данных. Как я создаю приложение, он обновляет все мои строки в базе данных. Может ли кто-нибудь посмотреть в моем сценарии и рассказать мне, как я могу обновить одну строку?Нужно обновить одну строку в базе данных
Я знаю, что нужно сделать что-то с идентификаторами, но я не знаю, как ..
Вот скрипт для страницы, где пользователи могут изменять данные из базы данных. Таким образом, каждая запись будет обновляться.
<section>
<?php
$sql = "SELECT naam, plaats.plaats, type.type, status FROM devices, type, plaats, status
WHERE devices.type_id = type.type_id
AND plaats.plaats_id = devices.plaats_id
AND status.status_id = devices.status_id
AND plaats.plaats ='benedenverdieping'";
$result = $con->query($sql);
if ($result->num_rows > 0) {
echo '<table><tr><td>Naam</td><td>Plaats</td><td>Type</td><td>Status</td><td>open/dicht</td><td>Submit</td></tr>';
while($row = $result->fetch_assoc()) {
echo '<tr>';
echo '<td>' .$row['naam']. '</td>';
echo '<td>' .$row['plaats']. '</td>';
echo '<td>' .$row['type']. '</td>';
echo '<td>' .$row['status']. '</td>';
echo '<td>';?>
<form action="opendicht.php" method="post">
<select name="opendicht">
<option name="open" value="1">open</option>
<option name="dicht" value="2">dicht</option>
</select>
<?php '</td>';
echo '<td>'?>
<input type="submit" value="Doorvoeren" name="submit">
</form>
<?php '</td>';
}
echo '</table>';
}
?>
</section>
Вот сценарий, который выполняет ввод пользователей. Из-за запроса sql он не будет работать только для одной записи. Способ, которым он работает прямо сейчас, - это запрос, обновляющий каждую запись с помощью status_id 1 или 2. В базе данных 1 означает open, а 2 означает закрытие. Я не могу найти способ разрешить запрос обновлять только одну строку данных.
<?php
session_start();
$naam = $_SESSION['username'];
echo $naam;
include '../dbconnect.php';
date_default_timezone_set("Europe/Amsterdam");
$t=time();
$aanpassing = date("d-m-y h:i",$t);
$sel_device_id = ("SELECT device_id FROM devices");
$run_device_id = mysqli_query($con, $sel_device_id);
if(isset($_POST['submit']))
{ // Fetching variables of the form which travels in URL
$opendicht = $_POST['opendicht'];
if($opendicht =='1')
{
//UPDATE devices SET status_id = $opendicht, username = (SELECT user_id FROM users WHERE username = '$naam'), timestamp = '$timestamp' WHERE status_id = '2'
mysqli_query($con,"UPDATE devices SET status_id = $opendicht, username = '$naam', tijd = '$aanpassing' WHERE status_id = 2");
}
else
{
mysqli_query($con,"UPDATE devices SET status_id = $opendicht, username = '$naam', tijd = '$aanpassing' WHERE status_id = 1");
}
}
else{
echo "er is iets fout gegaan";
}
mysqli_close($con); // Closing Connection with Server
header("refresh:0;url=index.php");
?>
введите идентификатор таблицы устройств в первый скрипт и используйте значение как скрытое поле в своей форме. Затем во втором скрипте вы можете обновить на основе id –
Не могли бы вы рассказать мне, как я мог это сделать? Не удается найти способ извлечения device_id –