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

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

08.02.2020, 17:24. Показов 1394. Ответов 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
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
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
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru