Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP обновление данных в таблице / 10 сообщений из 10, страница 1 из 1
09.08.2013, 15:11
    #38361066
kolotov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP обновление данных в таблице
Здравствуйте,
нужна помощь. Есть таблица полученная из БД, в таблице есть поля для редактирования напротив строки есть кнопка по нажатию на которую должно обновиться, но я не знаю как перенести в запрос id той строки которую хочу обновить.

Код: 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.
$query = "SELECT * FROM [graf] WHERE date_z = '$date1'";

$version = mssql_query($query);


while($row = mssql_fetch_array($version))
{

$id = $row['id'];
if ($row['busy'] == '1')
( $color_table = "bgcolor='#FF0000'");
elseif ($row['busy'] == '0')
($color_table = "bgcolor='#00FF00'");

if ($row['phone'] == '')
( $editbox_phone = "<input type='text' id='Editbox3' name='vvod_phone_".$id."' value=''>");
elseif ($row['phone'] !== '')
($editbox_phone = "");

if ($row['client'] == '')
( $editbox_client = "<input type='text' id='Editbox4' name='vvod_client_".$id."' value=''>");
elseif ($row['client'] !== '')
($editbox_client = "");


if ($row['phone'] == '' || $row['client'] == '')
{
$id = $row['id'];
( $but_ok = "<input type='submit' id='Button_ok_".$id."' name='button_ok_".$id."' value='OK'>");

}
elseif ($row['client'] !== '' && $row['phone'] !== '')
($but_ok = "");





echo "<table cellspacing='0' border='1'>";

echo "<td width='120' ".$color_table." >";
echo $row['fio'];
echo "</td>";


echo "<td width='120' ".$color_table." align='center'>";
echo $row['date_z'];
echo "</td> ";


echo "<td width='120'  ".$color_table.">";
echo $row['time_z'];
echo "</td> ";


echo "<td width='120' ".$color_table.">";
echo $row['phone'];
echo $editbox_phone;
echo "</td> ";


echo "<td width='120' ".$color_table.">";
echo $row['client'];
echo $editbox_client;
echo "</td> ";

echo "<td width='2' align='center'>";
echo "<input type='text' id='Editbox5' name='vvod_id' value='".$row['id']."'>";
echo $but_ok;
echo "</td> ";



echo "</tr>";



};

}



if(isset($_POST["button_ok_".$_POST['vvod_id']]))
{

$phone = ($_POST["vvod_phone_".$_POST['vvod_id']]);
$client = ($_POST["vvod_client_".$_POST['vvod_id']]);
...
Рейтинг: 0 / 0
09.08.2013, 15:21
    #38361089
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP обновление данных в таблице
kolotovя не знаю как перенести в запрос id той строки которую хочу обновитьОтправить вместе с формой на сервер id строки скрытым полем, например. На сервере взять данные из POST/GET и использовать.
...
Рейтинг: 0 / 0
09.08.2013, 16:04
    #38361214
kolotov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP обновление данных в таблице
vklekolotovя не знаю как перенести в запрос id той строки которую хочу обновитьОтправить вместе с формой на сервер id строки скрытым полем, например. На сервере взять данные из POST/GET и использовать.
Есть какой нибудь пример, как передать значения выбранной строки?
...
Рейтинг: 0 / 0
09.08.2013, 16:30
    #38361268
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP обновление данных в таблице
kolotovvkleпропущено...
Отправить вместе с формой на сервер id строки скрытым полем, например. На сервере взять данные из POST/GET и использовать.
Есть какой нибудь пример, как передать значения выбранной строки?
Вам про <input type="hidden"> говорили :)
...
Рейтинг: 0 / 0
09.08.2013, 16:52
    #38361304
kolotov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP обновление данных в таблице
Програмёр,

Я про hidden понял, что поле будет скрыто, но может я его как то не так использую.
Попробую объяснить проблему свою еще раз со скриншотом:
есть 3 строки в таблице, если вношу изменения в последнюю строку и нажимаю кнопку submit , то данные обновляются, если же я заношу изменения в первую строчку, то ничего не происходит. Как сделать так, чтобы данные занесенные в первую строку обновились в бд?
...
Рейтинг: 0 / 0
09.08.2013, 17:03
    #38361329
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP обновление данных в таблице
kolotov,

я по рисунку не умею определять причину проблемы :). Вы бы код чтоли выложили...
...
Рейтинг: 0 / 0
09.08.2013, 17:05
    #38361332
kolotov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP обновление данных в таблице
Я как понял проблема в этом, что сюда подставляются данные последней строки, подскажите как правильно этот сегмент с _POST сделать?

Код: php
1.
2.
3.
4.
5.
6.
7.
if(isset($_POST["button_ok_".$_POST['vvod_id']]))
{

$phone = ($_POST["vvod_phone_".$_POST['vvod_id']]);
$client = ($_POST["vvod_client_".$_POST['vvod_id']]);

}
...
Рейтинг: 0 / 0
09.08.2013, 18:09
    #38361446
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP обновление данных в таблице
kolotovЯ как понял проблема в этом, что сюда подставляются данные последней строки, подскажите как правильно этот сегмент с _POST сделать?

Код: php
1.
2.
3.
4.
5.
6.
7.
if(isset($_POST["button_ok_".$_POST['vvod_id']]))
{

$phone = ($_POST["vvod_phone_".$_POST['vvod_id']]);
$client = ($_POST["vvod_client_".$_POST['vvod_id']]);

}



Ладно... Придётся воспользоваться своим даром телепатии. Я прав, вы всю таблицу запихнули в одну форму (все строки)? Вот в этом вся сложность. Намного легче и удобнее, это использовать блочную вёрстку вместо табличной и каждую строку оборачивать в отдельную form (табличная вёрстка этого не позволяет делать).
...
Рейтинг: 0 / 0
09.08.2013, 18:34
    #38361489
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP обновление данных в таблице
ПрограмёрЯ прав, вы всю таблицу запихнули в одну форму (все строки)? Вот в этом вся сложность.Да не особо сложнее получается. Без скрытых полей тоже можно обойтись. Допустим, есть запись с ID=79. Тогда имена передаваемым полям можно присвоить такого вида: "phone_79", "client_79". Для записи с ID=95 поля будут "phone_95", "client_95" и т.п.
В скрипте приема данных пройтись в цикле по принятому POST, из ключей массива после explode() получать имя поля и ID записи.
...
Рейтинг: 0 / 0
14.08.2013, 18:04
    #38366628
deblogger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PHP обновление данных в таблице
Никто не запрещает так и назвать ID79. id="ID79"

---

авторif ($row['phone'] == '')
( $editbox_phone = "<input type='text' id='Editbox3' name='vvod_phone_".$id."' value=''>");

Говнокод. Неудивительно что глючит.

Удивительно другое, зачем придумывают всякую фигню. Придумывать же ничего не надо. В бд таблица, на странице таблица, берешь все оттуда, кладешь сюда, потом обратно и готово.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP обновление данных в таблице / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]