Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 15.06.2014
Сообщений: 11

Обновить записи БД через форму

15.06.2014, 18:24. Показов 1076. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток друзья. Не получается почему-то обновить данные, которые вытаскиваю из бд по средствам формы.

Вот код:
PHP/HTML
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>title</title>
    <link rel="stylesheet" href="style.css" type="text/css"  />
</head>
<body>
<center>
<?php
//Хост подключения к БД
 define('PHP_HOST', 'localhost');
 
 //Пользователь
 define('PHP_USER', 'root');
 
 //Пароль
 define('PHP_PASS','11111');
 
 //Базаданных
 define('PHP_DB', 'database');
 
 // Подключение к СУБД
 $link = mysql_connect(PHP_HOST, PHP_USER, PHP_PASS) or die (mysql_error());
 
 // Выбираем базу данных
 mysql_select_db(PHP_DB, $link);
 
 mysql_query ("SET NAMES utf8");
 mysql_query ("set character_set_client='utf8'");
 mysql_query ("set character_set_results='utf8'");
 mysql_query ("set collation_connection='utf8_general_ci'");
 
 if (isset($_POST["edit"])) {
     
    $_POST['id'] = $id;
    $_POST['date'] = $date;
    $_POST['news'] = $news;
    $_POST['comments'] = $comments;
    $_POST['kef'] = $kef;
    $_POST['result'] = $result;
    
    //Редактируем данные
 $update_sql = "UPDATE live SET date='$date', news='$news', comments='$comments', kef='$kef', result='$result' WHERE 
 
id='$id'"; 
 mysql_query($update_sql) or die("Ошибка вставки" . mysql_error()); echo '<p>Запись успешно обновлена!</p>';
 
 }
 
 $sql= "SELECT * FROM live ORDER BY id DESC";
 
 // Скармливаем наш запрос MySQL
 $result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);
 
 // Рисуем табличку
 $table = "<table class=simple-little-table cellspacing=0 align=center>\n";
 
 $table .= "<tr>\n";
 $table .= "<th><center>ID</center></th>\n"; 
 $table .= "<th><center>Время</center></th>\n";
 $table .= "<th><center>Событие</center></th>\n"; 
 $table .= "<th><center>Комментарии</center></th>\n"; 
 $table .= "<th><center>КФ</center></th>\n"; 
 $table .= "<th><center>Результат</center></th>\n";
 $table .= "<th><center>Редактировать</center></th>\n";
 
 $table .= "<form method=post action=edit.php>\n";
 while ($row = mysql_fetch_assoc($result))
 {
 
     $table .= "<tr>\n";
 
     $table .= "<td><input type=text size=2 name=id value=\"$row[id]\"></td>\n";
     $table .= "<td><input type=text size=2 name=date value=\"$row[date]\"></td>\n";
     $table .= "<td><input type=text size=54 name=news value=\"$row[news]\"></td>\n";
     $table .= "<td><input type=text size=18 name=comments value=\"$row[comments]\"></td>\n";
     $table .= "<td><input type=text size=2 name=kef value=\"$row[kef]\"></td>\n";
     $table .= "<td><input type=text size=6 name=result value=\"$row[result]\"></td>\n";
     $table .= "<td><input name=edit type=submit value=Изменить></td>\n";
     
     $table .= "</tr>\n";
     
 }
 $table .= "</form>\n";
 $table .= "</table>\n";
 
 // Выводим заполненую таблицу на экран
 echo $table;
 ?>
 </center>
 </body>
 </html>
В итоге мне выдаёт
Ошибка вставкиYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'match='', prognoz='', kef='', result='' WHERE id=''' at line 1
Подскажите пожалуйста, в чём проблема, понять не могу..
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.06.2014, 18:24
Ответы с готовыми решениями:

Обновить форму и остаться на текущей записи
Подскажите при обновлении данных в форме если выделена зпись например 50 из 50, курсор перепрыгнет на первую, как этого избежать? Обновить...

Закрыть форму редактирования, обновить данные и остаться на текущей записи
Всем привет! Ни как не могу реализовать код правильно. Мне надо, что бы при редактирование записи в форме №2, которая была...

Обновить DataGridView при внесении данных через форму
Добрый день, Есть форма с DataGridView и кнопкой редактировать. По нажатию кнопки появляется форма, которая берет все поля из выделенной...

6
13 / 13 / 10
Регистрация: 17.02.2013
Сообщений: 61
15.06.2014, 18:54
PHP
1
$update_sql = mysql_real_escape_string("UPDATE live SET date='$date', news='$news', comments='$comments', kef='$kef', result='$result' WHERE id='$id'");
Строку обработайте

Добавлено через 8 минут
Ой, то есть вот так
PHP
1
2
3
4
5
6
7
$date = mysql_real_escape_string($date);
$news = mysql_real_escape_string($news);
$comments = mysql_real_escape_string($comments);
$kef = mysql_real_escape_string($kef);
$result = mysql_real_escape_string($result);
 
$update_sql = "UPDATE live SET date='$date', news='$news', comments='$comments', kef='$kef', result='$result' WHERE id='$id'";
1
0 / 0 / 0
Регистрация: 15.06.2014
Сообщений: 11
15.06.2014, 19:49  [ТС]
Ошибка пропала. Запрос выполняется, об этом свидетельствует надпись "Запись успешно обновлена", но данные остаются прежними (которые были).. в чем проблема ?.. подставляю вроде бы переменные из текстбоксов..
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
15.06.2014, 19:51
Цитата Сообщение от Sice Посмотреть сообщение
PHP
1
2
3
4
5
6
$_POST['id'] = $id;
$_POST['date'] = $date;
$_POST['news'] = $news;
$_POST['comments'] = $comments;
$_POST['kef'] = $kef;
$_POST['result'] = $result;
есть подозрения что переменные слева и справа знака = нужно поменять местами
2
0 / 0 / 0
Регистрация: 15.06.2014
Сообщений: 11
15.06.2014, 20:00  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
есть подозрения что переменные слева и справа знака = нужно поменять местами
Ничего не происходит. Тоже самое
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
15.06.2014, 20:03
Цитата Сообщение от Sice Посмотреть сообщение
Ничего не происходит. Тоже самое
Выведите перед mysql_query():
PHP
1
echo "[$update_sql]";
0
0 / 0 / 0
Регистрация: 15.06.2014
Сообщений: 11
15.06.2014, 20:34  [ТС]
Цитата Сообщение от pav1uxa Посмотреть сообщение
Выведите перед mysql_query():
PHP
1
echo "[$update_sql]";
Вот что выдаёт (прежняя запись, которая была в бд)
[UPDATE `live` SET `date`='20:00',`match`='Теннис. Победа Надаля',`prognoz`='Победа 1',`kef`='2.50',`result`='' WHERE `id`='1']

Я сначала в текстбоксах достаю данные из бд, туда их помещаю, в текстбоксе меняю запись, нажимаю изменить, но запись прежняя остаётся, хотя запрос проходит успешно.

Для каждой записи, кнопка отдельна - это правильно сделано ? подскажите пожалуйста, только учусь..)

Добавлено через 20 минут
Сейчас понял, вот что. У меня 4 записи. Редактирование Работает только с первым айди. нажимая кнопки на другие, он везде подставляет id=1. почему ?

Добавлено через 4 минуты
Всё, разобрался. Нужно было форму внутри цикла засунуть. Спасибо всем большое
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.06.2014, 20:34
Помогаю со студенческими работами здесь

Изменение записи через форму
Добрый день! Пытаюсь создать база данных контрагентов с userfrendly интерфейсом (столбцы таблицы: ИНН, КПП, Форма собственности,...

Добавление записи через форму
Здравствуйте. На форме есть кнопка и несколько полей, можно ли сделать так чтобы при нажатии на кнопку данные из этих полей записывались в...

Добавление записи через форму
Помогите разобраться пожалуйста. Если у меня есть таблицы: Клиенты(Код клиента, ФИО, адрес), Товары(Код товара, Название товара) и таблица...

Удаление записи через форму
Здравствуйте! Подскажите, пожалуйста, у меня есть форма, через которую я фильтрую данные в подформе, таким образом, что у меня остаётся...

как удалить записи через форму?
Всем доброго времени суток! Сделала специальную форму для добавления/удаления записей в таблицу. Добавлять то я их добавляю, а вот удалять...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru