Приветствую!
Есть рабочая форма обновления данных
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
| <?
/* Соединяемся с базой данных */
$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 character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
/* Если была нажата кнопка редактирования, вносим изменения */
if(@$_POST['submit_edit']) {
$query = "UPDATE $table SET gotovnost='{$_POST['test_gotovnost']}', firma='{$_POST['test_firma']}', adress='{$_POST['test_adress']}', imya='{$_POST['test_imya']}', tel='{$_POST['test_tel']}', ves='{$_POST['test_ves']}', kuda='{$_POST['test_kuda']}', oplata='{$_POST['test_oplata']}', primechaniya='{$_POST['test_primechaniya']}', prinyal='{$_POST['test_prinyal']}', kurier='{$_POST['test_kurier']}' 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: 80%; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 99%; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 99%; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 50%; 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 width=\"20%\" colspan=\"2\" style=\"border-bottom:solid 1px #CCCCCC;\"><b><i><div nomer=\"num\">Номер заказа: ".$row["nomer"]."</div></b></i></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Готовность заказа:</td><td><input type=\"text\" value=\"".$row['gotovnost']."\" name=\"test_gotovnost\" /></td>\n";
echo "</tr><tr>\n";
//echo "<td width=\"20%\" >Фирма:</td><td>'<input type=\"text\" value=\"".$row['firma']."\" name=\"test_firma\" /></td>\n";
echo "<td width=\"20%\" >Фирма:</td><td><input type=\"text\" value=\"".htmlspecialchars($row['firma'])."\" name=\"test_firma\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Адресс:</td><td><input type=\"text\" value=\"".$row['adress']."\" name=\"test_adress\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Имя:</td><td><input type=\"text\" value=\"".$row['imya']."\" name=\"test_imya\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Телефон:</td><td><input type=\"text\" value=\"".$row['tel']."\" name=\"test_tel\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Вес:</td><td><input type=\"text\" value=\"".$row['ves']."\" name=\"test_ves\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Куда:</td><td><input type=\"text\" value=\"".$row['kuda']."\" name=\"test_kuda\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Оплата:</td><td><input type=\"text\" value=\"".$row['oplata']."\" name=\"test_oplata\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Примечания:</td><td><input type=\"text\" value=\"".$row['primechaniya']."\" name=\"test_primechaniya\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Принял:</td><td><input type=\"text\" value=\"".$row['prinyal']."\" name=\"test_prinyal\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Курьер:</td><td><input type=\"text\" value=\"".$row['kurier']."\" name=\"test_kurier\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" colspan=\"2\" align=\"center\">
<input type=\"submit\" name=\"submit_edit\" class=\"buttons\" value=\"Сохранить изменения\" />
<input type=\"button\" name=\"nazad\" class=\"buttons\" value=\"На главную\" onclick=\"self.location.href='http://192.168.1.21';\"/>
</td>\n";
echo "</tr></table></form>\n\n";
}
/* Закрываем соединение */
mysql_close();
?> |
|
Хочу прикрутить к этому делу постраничный вывод данных.
Немножко истории.
До этого делал страничку вывода данных из бд. Без особых проблем прикрутил постраничный вывод данных при помощи след. примера
=ПРИМЕР=
Тоже хотел провернуть с формой редактирования. Запутался.
Добавлено через 2 минуты
PHP |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| // Переменная хранит число сообщений выводимых на станице
$num = 25;
// Извлекаем из URL текущую страницу
$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result = mysql_query("SELECT COUNT(*) FROM таблица");
$posts = mysql_result($result, 0);
// Находим общее число страниц
$total = intval(($posts - 1) / $num) + 1;
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная к какого номера
// следует выводить сообщения
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
$result = mysql_query("SELECT * FROM таблица LIMIT $start, $num");
// В цикле переносим результаты запроса в массив $postrow
while ( $postrow[] = mysql_fetch_array($result)) |
|
Переделал.
тртью часть тоже прикрутил вроде верно
PHP |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| // Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href= ./страничка.пхп?page=1><<</a>
<a href= ./страничка.пхп?page='. ($page - 1) .'><</a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' <a href= ./страничка.пхп?page='. ($page + 1) .'>></a>
<a href= ./страничка.пхп?page=' .$total. '>>></a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = ' <a href= ./страничка.пхп?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href= ./страничка.пхп?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 2 <= $total) $page2right = ' | <a href= ./страничка.пхп?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href= ./страничка.пхп?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод меню
echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage; |
|
Добавлено через 6 минут
в форме редактирования все
заменил на
все кроеме этой строчки
PHP |
1
| echo "<input type=\"hidden\" name=\"update\" value=\"".$row["nomer"]."\" />\n"; |
|
Если сменить в ней - бьет ошибку.
Мне кажется где-напутал в подпиливании вот этого участка примера
PHP |
1
2
3
4
5
6
7
8
9
| echo "<table>";
for($i = 0; $i < $num; $i++)
{
echo "<tr>
<td>".$postrow[$i]['name']."</td>
<td>".$postrow[$i]['time']."</td></tr>
<tr><td colspan=\"2\">".$postrow[$i]['text']."</td></tr>";
}
echo "</table>"; |
|
А вообще. Как можно реализовать алгоритм таким, что бы сначала можно было найти нужный заказ, а потом его отредактировать?
Добавлено через 1 минуту
Щас начну по новой и через пару минут скину код на этапе "пробки"
Добавлено через 10 минут
Итак код вышел следующим
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
| <?
/* Соединяемся с базой данных */
$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 character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
// Переменная хранит число сообщений выводимых на станице
$num = 3;
// Извлекаем из URL текущую страницу
$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result = mysql_query("SELECT COUNT(*) FROM zakazy");
$posts = mysql_result($result, 0);
// Находим общее число страниц
$total = intval(($posts - 1) / $num) + 1;
// Определяем начало сообщений для текущей страницы
$page = intval($page);
// Если значение $page меньше единицы или отрицательно
// переходим на первую страницу
// А если слишком большое, то переходим на последнюю
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// Вычисляем начиная к какого номера
// следует выводить сообщения
$start = $page * $num - $num;
// Выбираем $num сообщений начиная с номера $start
$result = mysql_query("SELECT * FROM zakazy LIMIT $start, $num");
// В цикле переносим результаты запроса в массив $postrow
while ( $postrow[] = mysql_fetch_array($result))
/* Если была нажата кнопка редактирования, вносим изменения */
if(@$_POST['submit_edit']) {
$query = "UPDATE $table SET gotovnost='{$_POST['test_gotovnost']}', firma='{$_POST['test_firma']}', adress='{$_POST['test_adress']}', imya='{$_POST['test_imya']}', tel='{$_POST['test_tel']}', ves='{$_POST['test_ves']}', kuda='{$_POST['test_kuda']}', oplata='{$_POST['test_oplata']}', primechaniya='{$_POST['test_primechaniya']}', prinyal='{$_POST['test_prinyal']}', kurier='{$_POST['test_kurier']}' 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: 80%; border-collapse: collapse; margin: 5px auto; background: #E6E6E6; }
td { padding: 3px; vertical-align: middle; }
input { width: 99%; border: solid 1px #CCC; color: #FF6666; }
textarea { width: 99%; height: 100px; border: solid 1px #CCC; color: #FF6666; }
.buttons { width: auto; border: double 1px #666; background: #D6D6D6; color: #000; }
#num { width: 50%; text-align: right; margin-right: 5px; float: right; }
-->
</style>
</head>
<body>
<h3>Редактирование и обновление данных в таблице MySQL</h3>
");
/* Цикл вывода данных из базы конкретных полей */
for($i = 0; $i < $num; $i++) {
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=\"".$postrow[$i]["nomer"]."\" />\n";
echo "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">\n";
echo "<tr>\n";
echo "<td width=\"20%\" colspan=\"2\" style=\"border-bottom:solid 1px #CCCCCC;\"><b><i><div nomer=\"num\">Номер заказа: ".$postrow[$i]["nomer"]."</div></b></i></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Готовность заказа:</td><td><input type=\"text\" value=\"".$postrow[$i]['gotovnost']."\" name=\"test_gotovnost\" /></td>\n";
echo "</tr><tr>\n";
//echo "<td width=\"20%\" >Фирма:</td><td>'<input type=\"text\" value=\"".$row['firma']."\" name=\"test_firma\" /></td>\n";
echo "<td width=\"20%\" >Фирма:</td><td><input type=\"text\" value=\"".htmlspecialchars($postrow[$i]['firma'])."\" name=\"test_firma\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Адресс:</td><td><input type=\"text\" value=\"".$postrow[$i]['adress']."\" name=\"test_adress\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Имя:</td><td><input type=\"text\" value=\"".$postrow[$i]['imya']."\" name=\"test_imya\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Телефон:</td><td><input type=\"text\" value=\"".$postrow[$i]['tel']."\" name=\"test_tel\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Вес:</td><td><input type=\"text\" value=\"".$postrow[$i]['ves']."\" name=\"test_ves\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Куда:</td><td><input type=\"text\" value=\"".$postrow[$i]['kuda']."\" name=\"test_kuda\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Оплата:</td><td><input type=\"text\" value=\"".$postrow[$i]['oplata']."\" name=\"test_oplata\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Примечания:</td><td><input type=\"text\" value=\"".$postrow[$i]['primechaniya']."\" name=\"test_primechaniya\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Принял:</td><td><input type=\"text\" value=\"".$postrow[$i]['prinyal']."\" name=\"test_prinyal\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" >Курьер:</td><td><input type=\"text\" value=\"".$postrow[$i]['kurier']."\" name=\"test_kurier\" /></td>\n";
echo "</tr><tr>\n";
echo "<td width=\"20%\" colspan=\"2\" align=\"center\">
<input type=\"submit\" name=\"submit_edit\" class=\"buttons\" value=\"Сохранить изменения\" />
<input type=\"button\" name=\"nazad\" class=\"buttons\" value=\"На главную\" onclick=\"self.location.href='http://192.168.1.21';\"/>
</td>\n";
echo "</tr></table></form>\n\n";
}
}
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href= ./update_data.php?page=1><<</a>
<a href= ./update_data.php?page='. ($page - 1) .'><</a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' <a href= ./update_data.php?page='. ($page + 1) .'>></a>
<a href= ./update_data.php?page=' .$total. '>>></a>';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = ' <a href= ./update_data.php?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href= ./update_data.php?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 2 <= $total) $page2right = ' | <a href= ./update_data.php?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href= ./update_data.php?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод меню
echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;
/* Закрываем соединение */
mysql_close();
/* Выводим ссылку возврата */
//echo ("<div style=\"text-align: center; margin-top: 10px;\"><a href=\"index.html\">Вернуться назад</a></div>");
?> |
|
Запнулся при добалении вот этой строчки
PHP |
1
| for($i = 0; $i < $num; $i++) |
|
куда ее и как
Добавлено через 1 час 37 минут
очень прошу помощи. голова кипит уже!