Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 07.02.2020
Сообщений: 15

Редактирование данных в таблице (PHP)

08.02.2020, 17:24. Показов 1379. Ответов 4

Студворк — интернет-сервис помощи студентам
Возникла проблема в коде, не могу найти в чём ошибка. Необходимо отредактировать данные из одной строки, а вместо этого редактируется все имеющиеся строки. Помогите, пожалуйста, разобраться в этом.

Файл Edit.php:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
require ('connect.php');
if (isset($_GET['user_id'])){
    $user_id = $_GET['user_id'];
    $query = mysqli_query($link, "SELECT * FROM users WHERE user_id = $user_id");
    $x = array();
    $x = mysqli_fetch_assoc($query);
} 
 
$firstname = trim($_POST['firstname']);
$name = trim($_POST['name']);
$lastname = trim($_POST['lastname']);
$login = trim($_POST['login']);
 
$error = ''; 
if(isset($_POST['edit'])){
    if (empty($firstname)) $error .= "<p class='error'>Введите фамилию</p><br>";
    if (empty($name)) $error .= "<p class='error'>Введите имя</p><br>";
    if (empty($lastname)) $error .= "<p class='error'>Введите отчество</p><br>";
    if (empty($login)) $error .= "<p class='error'>Введите Логин</p><br>";
 
    if (empty($error)){
       $sql = mysqli_query($link, "UPDATE users SET firstname ='$firstname', name ='$name', lastname ='$lastname', login = '$login'");
    }else{
        echo "Извините, данные не добавлены.<br>Причина: ".$error;
    }    
}
?>
 
<h1><div CLASS ="center">Редактирование пользователя<div/></h1>
<a href="users.php">Список пользователей</a><br></center>
<div class="center"><br>
<form action="" method="post">
        <input type="text" placeholder="Введите фамилию" value="<?=$x['firstname']?>" name="firstname"><br>
        <input type="text" placeholder="Введите имя" value="<?=$x['name']?>" name="name"><br>
        <input type="text" placeholder="Введите отчество" value="<?=$x['lastname']?>" name="lastname"><br>
        <input type="text" placeholder="Логин" value="<?=$x['login']?>" name="login"><br>
    <div class = "center">  
    <button><input type="hidden" name="edit">Сохранить изменения</button>
    </form>
    </div>

Файл users.php:


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php 
require 'connect.php';
$query = mysqli_query($link, "SELECT * FROM users");
$users = array();
 
//цикл записи данных их базы в массив
while($row = mysqli_fetch_assoc($query)){
    $users[] = $row;
}
 
echo "<pre>";
//print_r($users);
echo "</pre>";
//print_r($_POST);
 
if (isset($_GET['user_id'])){
    $user_id = $_GET['user_id'];
    $query = mysqli_query($link, "SELECT firstname, name, lastname FROM users WHERE user_id = $user_id");
    $x = array();
    $x = mysqli_fetch_assoc($query);
 
    echo "Вы собиратесь удалить пользователя" .$x['firstname'] ." ".$x['name']." ".$x['lastname'];
    echo "<a href='?del&user_id=".$_GET['user_id']."'>Да</a>";
    if(isset($_GET['del'])){
        $user_id = $_GET['user_id'];
 
        $query = mysqli_query($link, "DELETE FROM users WHERE user_id = $user_id");
    }
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Список пользователей</title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
    <br><center><a href="index.php">Главная</a></center><br>
 
    <table border="3" cellpadding="10">
        <tr align="center">
        <th>№</th>
        <th>ФИО</th>
        <th>Логин</th> 
        <th>Действие</th>
    </tr>
    <?php
$i = 1;
foreach ($users as $user){
    echo "<tr>";
    echo "<td>".$i."</td>";
    echo "<td>".$user['firstname']." ".$user['name']." ".$user['lastname']."</td>";
    echo "<td>".$user['login']."</td>";
    echo "<td>";
    echo "<a href='?user_id=".$user['user_id']."' name='del'>X</a> | <a href='edit.php?user_id=".$user['user_id']."'>Редактировать</a>";
    echo "</td>";
    echo "</tr>";
$i++;
}
    ?>
    </table>
</body>
</html>
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.02.2020, 17:24
Ответы с готовыми решениями:

Редактирование Данных в таблице mysql php
Вот реализовал Вывод таблицы с данными читателей библиотеки , нужно возле каждого читателя вывести кнопку редактировать (это я...

Редактирование данных в таблице
Не понимаю, как исправить код так: 1)Чтобы значения countshop при редактировании не были равны 0, а оставалось прежнее заданное значение ...

Редактирование данных PHP
Помогите сделать редактирование данных найденных //поиск и вывод осуществляется так,затем из найденных данных необходимо...

4
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
08.02.2020, 18:54
В UPDATE запросе должно быть WHERE
0
0 / 0 / 0
Регистрация: 07.02.2020
Сообщений: 15
08.02.2020, 19:15  [ТС]
Извиняюсь, а как это должно выглядеть?
0
0 / 0 / 0
Регистрация: 07.02.2020
Сообщений: 15
09.02.2020, 08:52  [ТС]
Jodah, помогите разобраться, как должен выглядеть код?
0
30 / 19 / 11
Регистрация: 05.12.2016
Сообщений: 114
10.02.2020, 11:24
Лучший ответ Сообщение было отмечено paternoster как решение

Решение

В файле Edit.php в строке 23 в конструкцию UPDATE нужно добавить WHERE user_id = $user_id
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.02.2020, 11:24
Помогаю со студенческими работами здесь

Редактирование данных в таблице
Добрый день, уважаемые форумчане! Есть 2 таблицы (назовем их table_a и table_b) со следующей структурой: doc_id|param_id|value ...

Редактирование данных в таблице
На странице редактирования данных на label не отображаются русские буквы(смотрите скрины ниже). А данные не изменяются. Таблица Client: ...

Редактирование данных в таблице
Имеется 2 таблицы: sptar и spval Связь spval.CODVAL=sptar.CODVAL SQl-запрос: ADOQuery1.SQL.Text:='SELECT sptar.TEXT,...

Редактирование данных в таблице
Есть таблица с записями (список сотрудников). Как в jsp сделать так, чтобы можно было выделить сотрудника нажать кнопку редактировать и на...

Редактирование данных в таблице БД MySql
Здравствуйте, скажите кто-нибудь в чем ошибка?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru