Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/92: Рейтинг темы: голосов - 92, средняя оценка - 4.57
3 / 3 / 3
Регистрация: 15.12.2011
Сообщений: 160
1

Форма редактирования данных mysql

23.12.2011, 19:44. Показов 19240. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день, гуру!
Помогите, пожалуйста, поэтапно создать форму для редактирования данных из таблицы.

Итак.
Есть таблица:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
CREATE TABLE `NewTable` (
`nomer`  INT(11) NOT NULL AUTO_INCREMENT ,
`time`  TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
`gotovnost`  VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`firma`  VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`adress`  VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`imya`  VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`tel`  VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`ves`  VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`kuda`  VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`oplata`  VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`primechaniya`  VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`prinyal`  VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
`kurier`  VARCHAR(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL ,
PRIMARY KEY (`nomer`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_bin
AUTO_INCREMENT=3
ROW_FORMAT=COMPACT
;
нужно создать форму для редактирования записей, содержащихся в ней.
Поля `nomer`,`time` редактировать не нужно.
Будьте так добры и терпеливы

Добавлено через 4 минуты
Ковырял следующий код. Или я запутался, или он где-то кривой чуток. Больше склоняюсь к первому
Может поможете его подогнать?
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
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
<?
 
/* Соединяемся с базой данных */
$hostname = "localhost"; // название/путь сервера, с MySQL
$username = "root"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = ""; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "test_base"; // название базы данных
 
/* Таблица MySQL, в которой хранятся данные */
$table = "test_table";
 
/* Создаем соединение */
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
 
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die (mysql_error());
 
/* Если была нажата кнопка редактирования, вносим изменения */
if(@$submit_edit) {
$query = "UPDATE $table SET name='$test_name', email='$test_mail', theme='$test_theme', message='$test_mess' WHERE id='$update'";
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die (mysql_error());
}
 
/* Заносим в переменную $res всю базу данных */
$query = "SELECT * FROM $table";
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
$res = mysql_query($query) or die(mysql_error());
/* Узнаем количество записей в базе данных */
$row = mysql_num_rows($res);
 
/* Выводим данные из таблицы */
echo ("
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
 
<head>
 
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\" />
 
    <title>Редактирование и обновление данных</title>
 
<style type=\"text/css\">
<!--
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 400px; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 250px; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 250px; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 20px; text-align: right; margin-right: 5px; float: right; }
-->
</style>
 
</head>
 
<body>
 
<h3>Редактирование и обновление данных в таблице MySQL</h3>
");
 
/* Цикл вывода данных из базы конкретных полей */
while ($row = mysql_fetch_array($res)) {
    echo "<form action=\"update_data.php\" method=\"post\" name=\"edit_form\">\n";
    echo "<input type=\"hidden\" name=\"update\" value=\"".$row["id"]."\" />\n";
    echo "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">\n";
    echo "<tr>\n";
    echo "<td colspan=\"2\" style=\"border-bottom:solid 1px #CCCCCC;\"><b><i><div id=\"num\">#".$row["id"]."</div>".$row['data']."</b></i></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Имя пользователя:</td><td><input type=\"text\" value=\"".$row['name']."\" name=\"test_name\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>E-Mail пользователя:</td><td><input type=\"text\" value=\"".$row['email']."\" name=\"test_mail\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Тема сообщения:</td><td><input type=\"text\" value=\"".$row['theme']."\" name=\"test_theme\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Сообщение:</td><td><textarea name=\"test_mess\">".$row['message']."</textarea></td>\n";
    echo "</tr><tr>\n";
    echo "<td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"submit_edit\" class=\"buttons\" value=\"Сохранить изменения\" /></td>\n";
    echo "</tr></table></form>\n\n";
}
 
/* Закрываем соединение */
mysql_close();
 
/* Выводим ссылку возврата */
echo ("<div style=\"text-align: center; margin-top: 10px;\"><a href=\"index.html\">Вернуться назад</a></div>");
 
?>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2011, 19:44
Ответы с готовыми решениями:

Форма редактирования данных mysql (кодировка)
Подскажите куда добавить правильную кодировку. Потому что при выводе кодировка нормальная, а вот...

Php форма редактирования данных mysql
при нажатии сохранить, выдаёт ошибку Notice: Undefined index: id in C:\xampp\htdocs\gg\edit.php on...

MySQL-PHP скрипт редактирования
Добрый день, вот такая проблема- написал я скрипт что бы в MySQL заносились данные ip, text, data. ...

Вывод таблицы из MySql с возможностью редактирования...
Подскажите пожалуйста, как можно осуществить вывод таблицы из базы, так чтобы потом можно было ее...

12
Исследователь
196 / 175 / 13
Регистрация: 30.10.2011
Сообщений: 605
23.12.2011, 23:39 2
Если я не ошибаюсь, то это очень распостраненная ошибка: для использования переменных, переданных методом POST необходимо использовать суперглобальный массив $_POST[]

Для примера:
PHP
1
2
3
4
5
6
/* Если была нажата кнопка редактирования, вносим изменения */
if(@$_POST['submit_edit']) {
$query = "UPDATE $table SET name='{$_POST['test_name']}', email='{$_POST['test_mail']}'...";
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die (mysql_error());
}
P. S. Не забывай обрабатывать внешние данные
1
3 / 3 / 3
Регистрация: 15.12.2011
Сообщений: 160
26.12.2011, 15:13  [ТС] 3
Спасибо за подсказку.
Если я правильно понял то нужно сделать вот так:
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
<?
 
/* Соединяемся с базой данных */
$hostname = "192.168.1.160"; // название/путь сервера, с MySQL
$username = "root"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = "753951"; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "dimex"; // название базы данных
 
/* Таблица MySQL, в которой хранятся данные */
$table = "zakazy";
 
 
/* Создаем соединение */
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
 
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die (mysql_error());
  mysql_query("SET NAMES 'cp1251'");
mysql_query("SET CHARACTER SET 'cp1251'");
/* Если была нажата кнопка редактирования, вносим изменения */
if(@$_POST['submit_edit']) {
$query = "UPDATE $table SET gotovnost='{$_POST['test_gotovnost']}' WHERE id='$update'";//Здесь пока указал только одно поле которое хочу редактироват. Потом добавлю остальные, которые будут нужны.
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die (mysql_error());
}
 
/* Заносим в переменную $res всю базу данных */
$query = "SELECT * FROM $table";
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
$res = mysql_query($query) or die(mysql_error());
/* Узнаем количество записей в базе данных */
$row = mysql_num_rows($res);
 
/* Выводим данные из таблицы */
echo ("
А дальше поидее должна следовать ХТМЛ форма... Но вот как ее связать с БД, не пойму.
Тоесть, как вот это переделать не пойму:
HTML5
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
<body>
 
<h3>Редактирование и обновление данных в таблице MySQL</h3>
");
 
/* Цикл вывода данных из базы конкретных полей */
while ($row = mysql_fetch_array($res)) {
    echo "<form action=\"update_data.php\" method=\"post\" name=\"edit_form\">\n";
    echo "<input type=\"hidden\" name=\"update\" value=\"".$row["nomer"]."\" />\n";
    echo "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">\n";
    echo "<tr>\n";
    echo "<td colspan=\"2\" style=\"border-bottom:solid 1px #CCCCCC;\"><b><i><div nomer=\"num\">#".$row["nomer"]."</div>".$row['data']."</b></i></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Имя пользователя:</td><td><input type=\"text\" value=\"".$row['gotovnost']."\" name=\"test_gotovnost\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>E-Mail пользователя:</td><td><input type=\"text\" value=\"".$row['email']."\" name=\"test_mail\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Тема сообщения:</td><td><input type=\"text\" value=\"".$row['theme']."\" name=\"test_theme\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Сообщение:</td><td><textarea name=\"test_mess\">".$row['message']."</textarea></td>\n";
    echo "</tr><tr>\n";
    echo "<td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"submit_edit\" class=\"buttons\" value=\"Сохранить изменения\" /></td>\n";
    echo "</tr></table></form>\n\n";
}
 
/* Закрываем соединение */
mysql_close();
 
/* Выводим ссылку возврата */
echo ("<div style=\"text-align: center; margin-top: 10px;\"><a href=\"index.html\">Вернуться назад</a></div>");
 
?>
Добавлено через 1 час 11 минут
Похоже нужно с ноля начинать. что-то тут напутано)

Добавлено через 30 минут
=========================================
Пока вышел на вот такой вариант.
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
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
<?
 
/* Соединяемся с базой данных */
$hostname = "192.168.1.160"; // название/путь сервера, с MySQL
$username = "root"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = "753951"; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "dimex"; // название базы данных
 
/* Таблица MySQL, в которой хранятся данные */
$table = "zakazy";
 
/* Создаем соединение */
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
 
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die (mysql_error());
 
/* Если была нажата кнопка редактирования, вносим изменения */
if(@$_POST['submit_edit']) {
$query = "UPDATE $table SET gotovnost='{$_POST['test_gotovnost']}' WHERE id='$update'";
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die (mysql_error());
}
 
/* Заносим в переменную $res всю базу данных */
$query = "SELECT * FROM $table";
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
$res = mysql_query($query) or die(mysql_error());
/* Узнаем количество записей в базе данных */
$row = mysql_num_rows($res);
 
/* Выводим данные из таблицы */
echo ("
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
 
<head>
 
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\" />
 
    <title>Редактирование и обновление данных</title>
 
<style type=\"text/css\">
<!--
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 400px; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 250px; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 250px; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 20px; text-align: right; margin-right: 5px; float: right; }
-->
</style>
 
</head>
 
<body>
 
<h3>Редактирование и обновление данных в таблице MySQL</h3>
");
 
/* Цикл вывода данных из базы конкретных полей */
while ($row = mysql_fetch_array($res)) {
    echo "<form action=\"update_data.php\" method=\"post\" name=\"edit_form\">\n";
    echo "<input type=\"hidden\" name=\"update\" value=\"".$row["nomer"]."\" />\n";
    echo "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">\n";
    echo "<tr>\n";
    echo "<td colspan=\"2\" style=\"border-bottom:solid 1px #CCCCCC;\"><b><i><div id=\"num\">#".$row["nomer"]."</div>".$row['data']."</b></i></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Имя пользователя:</td><td><input type=\"text\" value=\"".$row['gotovnost']."\" name=\"test_gotovnost\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>E-Mail пользователя:</td><td><input type=\"text\" value=\"".$row['email']."\" name=\"test_mail\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Тема сообщения:</td><td><input type=\"text\" value=\"".$row['theme']."\" name=\"test_theme\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Сообщение:</td><td><textarea name=\"test_mess\">".$row['message']."</textarea></td>\n";
    echo "</tr><tr>\n";
    echo "<td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"submit_edit\" class=\"buttons\" value=\"Сохранить изменения\" /></td>\n";
    echo "</tr></table></form>\n\n";
}
 
/* Закрываем соединение */
mysql_close();
 
/* Выводим ссылку возврата */
echo ("<div style=\"text-align: center; margin-top: 10px;\"><a href=\"index.html\">Вернуться назад</a></div>");
 
?>
Форма, отображается. Исходные данные внесены в поля. Но после редактирования и нажатия кнопки на сохранине, выдает следующее "п»їUnknown column 'id' in 'where clause'"
Помогите пожалуйста.

П.С. Пока только бьюсь над возможностью изменения одного поля "gotovnost" остальное допишу потом.
Спасибо.

Добавлено через 23 минуты
Все. Разобрался. Кому надо - пользуйтесь
Мне только еще кодировку подогнать надо будет. а так. обновляет.
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
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
<?
 
/* Соединяемся с базой данных */
$hostname = "192.168.1.160"; // название/путь сервера, с MySQL
$username = "root"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = "753951"; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "dimex"; // название базы данных
 
/* Таблица MySQL, в которой хранятся данные */
$table = "zakazy";
 
/* Создаем соединение */
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
 
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die (mysql_error());
 
/* Если была нажата кнопка редактирования, вносим изменения */
if(@$_POST['submit_edit']) {
$query = "UPDATE $table SET gotovnost='{$_POST['test_gotovnost']}' WHERE nomer='{$_POST['update']}'";
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die (mysql_error());
}
 
/* Заносим в переменную $res всю базу данных */
$query = "SELECT * FROM $table";
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
$res = mysql_query($query) or die(mysql_error());
/* Узнаем количество записей в базе данных */
$row = mysql_num_rows($res);
 
/* Выводим данные из таблицы */
echo ("
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
 
<head>
 
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\" />
 
    <title>Редактирование и обновление данных</title>
 
<style type=\"text/css\">
<!--
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 400px; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 250px; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 250px; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 20px; text-align: right; margin-right: 5px; float: right; }
-->
</style>
 
</head>
 
<body>
 
<h3>Редактирование и обновление данных в таблице MySQL</h3>
");
 
/* Цикл вывода данных из базы конкретных полей */
while ($row = mysql_fetch_array($res)) {
    echo "<form action=\"update_data.php\" method=\"post\" name=\"edit_form\">\n";
    echo "<input type=\"hidden\" name=\"update\" value=\"".$row["nomer"]."\" />\n";
    echo "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">\n";
    echo "<tr>\n";
    echo "<td colspan=\"2\" style=\"border-bottom:solid 1px #CCCCCC;\"><b><i><div id=\"num\">#".$row["nomer"]."</div>".$row['data']."</b></i></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Имя пользователя:</td><td><input type=\"text\" value=\"".$row['gotovnost']."\" name=\"test_gotovnost\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>E-Mail пользователя:</td><td><input type=\"text\" value=\"".$row['email']."\" name=\"test_mail\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Тема сообщения:</td><td><input type=\"text\" value=\"".$row['theme']."\" name=\"test_theme\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Сообщение:</td><td><textarea name=\"test_mess\">".$row['message']."</textarea></td>\n";
    echo "</tr><tr>\n";
    echo "<td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"submit_edit\" class=\"buttons\" value=\"Сохранить изменения\" /></td>\n";
    echo "</tr></table></form>\n\n";
}
 
/* Закрываем соединение */
mysql_close();
 
/* Выводим ссылку возврата */
echo ("<div style=\"text-align: center; margin-top: 10px;\"><a href=\"index.html\">Вернуться назад</a></div>");
 
?>
0
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 5
03.05.2012, 14:42 4
разобрался с кодировкой? то тожэ такая проблема! подскажи чего там не так?
0
3 / 3 / 3
Регистрация: 15.12.2011
Сообщений: 160
03.05.2012, 15:02  [ТС] 5
Распиши что у тебя и как. Постараюсь помочь.
0
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 5
03.05.2012, 15:38 6
в бд utf-8, в файлах тожэ, а выводит кракозябры типо win1251!
0
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
03.05.2012, 15:40 7
Цитата Сообщение от Taimur Посмотреть сообщение
в бд utf-8, в файлах тожэ, а выводит кракозябры типо win1251!
первый запрос в базу делаешь ?
SQL
1
SET NAMES utf8
0
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 5
03.05.2012, 16:03 8
я всегда ставлю так <?php header('Content-type: text/html; charset=utf-8')?>
но в форме что то не так!
0
2432 / 2282 / 594
Регистрация: 27.05.2011
Сообщений: 7,801
03.05.2012, 16:05 9
Цитата Сообщение от Taimur Посмотреть сообщение
я всегда ставлю так <?php header('Content-type: text/html; charset=utf-8')?>
но в форме что то не так!
причем тут хидер , я написал что нужно отправить через mysql_query() в первую очередь прежде чем выбирать данные какието , или кракозябры будут
1
0 / 0 / 0
Регистрация: 03.05.2012
Сообщений: 5
03.05.2012, 16:07 10
Цитата Сообщение от crautcher Посмотреть сообщение
причем тут хидер , я написал что нужно отправить через mysql_query() в первую очередь прежде чем выбирать данные какието , или кракозябры будут
Спасибо, что то затупил)! забыл про него!
0
3 / 3 / 3
Регистрация: 15.12.2011
Сообщений: 160
03.05.2012, 17:17  [ТС] 11
Ну, собственно, тебе все верно написали)
1
3 / 1 / 1
Регистрация: 01.10.2014
Сообщений: 12
01.10.2014, 13:02 12
Подскажите куда добавить правильную кодировку.
Потому что при выводе кодировка нормальная, а вот когда изменяю запись кривая
вот код
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
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
94
95
<?
 
/* Соединяемся с базой данных */
$hostname = "localhost"; // название/путь сервера, с MySQL
$username = "blagodiy_vybory"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = "1qaz2wsx"; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "blagodiy_vybory"; // название базы данных
 
/* Таблица MySQL, в которой хранятся данные */
$table = "domians";
 
/* Создаем соединение */
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
 
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die (mysql_error());
 
/* Если была нажата кнопка редактирования, вносим изменения */
if(@$_POST['submit_edit']) {
$query = "UPDATE $table SET name='{$_POST['name']}' WHERE id='{$_POST['update']}'";
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die (mysql_error());
}
 
/* Заносим в переменную $res всю базу данных */
$query = "SELECT * FROM $table";
 
@mysql_query ("set character_set_results='utf8'");
@mysql_query ("set character_set_results='utf8'");
@mysql_query ("set collation_connection='utf8_general_ci'");
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
$res = mysql_query($query) or die(mysql_error());
/* Узнаем количество записей в базе данных */
$row = mysql_num_rows($res);
 
/* Выводим данные из таблицы */
echo ("
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
 
<head>
 
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf8\" />
 
    <title>Редактирование и обновление данных</title>
 
<style type=\"text/css\">
<!--
body { font: 12px Georgia; color: #666; }
h3 { font-size: 16px; text-align: center; }
table { width: 400px; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 250px; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 250px; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 20px; text-align: right; margin-right: 5px; float: right; }
-->
</style>
 
</head>
 
<body>
 
<h3>Редактирование и обновление данных в таблице MySQL</h3>
");
 
/* Цикл вывода данных из базы конкретных полей */
while ($row = mysql_fetch_array($res)) {
    echo "<form action=\"edit.php\" method=\"post\" name=\"edit_form\">\n";
    echo "<input type=\"hidden\" name=\"update\" value=\"".$row["id"]."\" />\n";
    echo "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">\n";
    echo "<tr>\n";
    echo "<td colspan=\"2\" style=\"border-bottom:solid 1px #CCCCCC;\"><b><i><div id=\"num\">#".$row["id"]."</div>".$row['data']."</b></i></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Им'я:</td><td><input type=\"text\" value=\"".$row['name']."\" name=\"name\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Місто</td><td><input type=\"text\" value=\"".$row['gor']."\" name=\"gor\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Адреса:</td><td><input type=\"text\" value=\"".$row['comm']."\" name=\"comm\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Номер телефона:</td><td><input type=\"text\" value=\"".$row['reg']."\" name=\"reg\" /></td>\n";
    echo "</tr><tr>\n";
    echo "<td>Додаток:</td><td><textarea name=\"dot\">".$row['dot']."</textarea></td>\n";
    echo "</tr><tr>\n";
    echo "<td colspan=\"2\" align=\"center\"><input type=\"submit\" name=\"submit_edit\" class=\"buttons\" value=\"Сохранить изменения\" /></td>\n";
    echo "</tr></table></form>\n\n";
}
 
/* Закрываем соединение */
mysql_close();
 
/* Выводим ссылку возврата */
echo ("<div style=\"text-align: center; margin-top: 10px;\"><a href=\"show.php\">Вернуться назад</a></div>");
 
?>
Добавлено через 14 минут
А так же не понимаю, редактируется только name
Остальные поля не редактируются.
0
5 / 5 / 5
Регистрация: 13.11.2014
Сообщений: 325
09.02.2015, 11:39 13
san_virtuoz,
Цитата Сообщение от san_virtuoz Посмотреть сообщение
А так же не понимаю, редактируется только name
Остальные поля не редактируются.
на 20 строке ты делаешь update тока на name. допиши нужные поля в update.

Цитата Сообщение от san_virtuoz Посмотреть сообщение
Подскажите куда добавить правильную кодировку.
Потому что при выводе кодировка нормальная, а вот когда изменяю запись кривая
на самый вверх кода
<?PHP header("Content-Type: text/html; charset=utf-8");?>

и убери 28-30 сртоки
0
09.02.2015, 11:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2015, 11:39
Помогаю со студенческими работами здесь

Не открывается ajax окно для редактирования mysql
Здравствуйте! Есть таблица workers . При нажатии на кнопку &quot;редактировать&quot; нужно чтобы открывалось...

Вывод из БД MySQL поочереди,с возможностью редактирования html разметки.
вот код БД(db.sql): CREATE TABLE shop( id INT PRIMARY KEY AUTO_INCREMENT NOT NULL, category...

Форма + MySQL
Такая задача! Есть некая форма с 5 текстовыми полями, 2 селектами и 2 чекбоксам. Нужно типы полей...

Форма + mysql
Привет! Помогите как написать запрос в MySQL, если есть несколько переменных по которым требуеться...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru