@vladimir328

Как предавать только те поля, которые изменены?

На странице записи есть форма, которая уже заполнена данными записи. Мне нужно, чтобы в стоку, которую нужно изменить, записывали новое значение, и потом оно отправлялось запросом в бд и изменялось. Мне нужно записывать в запрос все значения записи, или можно сделать так, чтобы записывались только измененные?
$request = mysqli_query($link, "SELECT * FROM Products WHERE id={$_GET['id']}");
    $result;
    for ($data = []; $row = mysqli_fetch_assoc($request); $data[] = $row);
    foreach ($data as $item) {
        $result .= '<p>' . $item['id'] . '<?p>';

        $result .= '<p><input name="title" type="text" value="' . $item['title'] . '"><?p>';

        $result .= '<p><input name="price" type="numbers" value="' . $item['price'] . '"><?p>';

        $result .= '<p><textarea name="description">' . $item['description'] . '</textarea><?p>';

        $result .= '<p><input name="category" type="text" value="' . $item['category'] . '"><?p>';

        if($item['img'] == ''){
            $result .= "<p>Нет картинки</p>";
        }
        else{
            $result .= "<p><img width='100px' height='100px' src=\"" . $item['img'] . "\" alt=\"\" /><br>";
        }
        
        $result .= '<input id="image" type="file" name="image">
        </p><input type="hidden" name="MAX_FILE_SIZE" value="1000000"></p>';
        
         if($item['published']){
            $result .= '<input id="publish" value="1" name="publish" checked type="checkbox">';
        }
        else{
            $result .= '<input id="publish" value="1" name="publish"  type="checkbox">';
        }

        $result .= '<p><input type="submit" value="Изменить"></p>';
    }
    echo $result;
  • Вопрос задан
  • 164 просмотра
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Передавайте все поля. От того, что вы измените значение поля в БД на то же самое значение, ничего не изменится.
Ответ написан
Комментировать
@kisaa
https://www.w3schools.com/sql/sql_update.asp

Только измененные. Главное - указать критерий (WHERE), иначе все записи в таблице поменяются.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы