The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Передача пары ключ=значение из одной html страницы в другую "
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"Передача пары ключ=значение из одной html страницы в другую "  
Сообщение от vova (??) on 25-Май-07, 14:34 
Всем привет. Подскажите пожалуйста как реализовать такую вещь:
Есть хтмлка (test1.html), в ней php скрипт который выводит результат поиска в MySQL базе. Нужно одно из полученных значений передать в другую хтмлку (test2.html) и соответственно php скрипту в ней. Как сие реализовать ?
Наверно коряво задал вопрос, но честно говоря понятней сформулировать не смог.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Передача пары ключ=значение из одной html страницы в другую "  
Сообщение от mirya email on 25-Май-07, 15:25 
>Наверно коряво задал вопрос, но честно говоря понятней сформулировать не смог.

Действительно, коряво. Опишите лучше, что пользователь получает на экране / в браузере, какие действия предпринимает, и как на это дожна среагировать система. Также не помешали бы куски скриптов под это дело

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Передача пары ключ=значение из одной html страницы в другую "  
Сообщение от vova (??) on 28-Май-07, 12:43 
>>Наверно коряво задал вопрос, но честно говоря понятней сформулировать не смог.
>
>Действительно, коряво. Опишите лучше, что пользователь получает на экране / в браузере,
>какие действия предпринимает, и как на это дожна среагировать система. Также
>не помешали бы куски скриптов под это дело

пользователь получает результат поиска по базе. таблицу. одно поле этой таблицы - статус (типа: груз доставлен, в пути, на таможне и т.д.) нужно реализовать из этой таблицы возможность смены статуса (текстовое поле). У меня идея только одна. Делать статус гиперссылкой при нажатии на которую открывается новое окно с формой через которую можно изменит статус. Возможно есть другой путь ?
Вот код:
<?php
    error_reporting( E_ERROR );
    $familia = $_POST['textfield2'];
    $filial = $_POST['textfield'];
    $link = mysql_connect("10.2.2.64", "user1", "user1") or die("Could not connect : " . mysql_error());
  mysql_select_db("zayavka") or die("Could not select database");
  $query = "SELECT filial.filial,filial.familia,filial.ima,filial.otch,filial.dolzh,rko.num,rko.rp,rko.address,rko.phone,rko.cisco,rko.date,usa.id,usa.status,dkp.status FROM filial LEFT JOIN rko ON filial.id=rko.id LEFT JOIN usa ON rko.id=usa.id LEFT JOIN dkp ON usa.id=dkp.id WHERE filial.filial='$filial' OR filial.familia='$familia';";
  $result = mysql_query($query) or die("Query failed : " . mysql_error());
print "<table border=\"1\" width=\"100%\" class=\"style1\">\n";
print "<tr>";
print "<td align=\"center\">Филиал</td>";
print "<td align=\"center\">Фамилия</td>";
print "<td align=\"center\">Имя</td>";
print "<td align=\"center\">Отчество</td>";
print "<td align=\"center\">Должность</td>";
print "<td align=\"center\">Номер </td>";
print "<td align=\"center\">Решение </td>";
print "<td align=\"center\">Адрес РКО</td>";
print "<td align=\"center\">Телефон в РКО</td>";
print "<td align=\"center\">Приобретение маршрутизатора</td>";
print "<td align=\"center\">Дата подачи заявки</td>";
print "<td align=\"center\">Статус заявки в управлении</td>";
print "\t<tr>\n";

while ($line = mysql_fetch_array($result,MYSQL_NUM)) {
        print "\t<tr>\n";
        print "\t\t<td>$line[0]</td>\n";
        print "\t\t<td>$line[1]</td>\n";
        print "\t\t<td>$line[2]</td>\n";
        print "\t\t<td>$line[3]</td>\n";
        print "\t\t<td>$line[4]</td>\n";
        print "\t\t<td>$line[5]</td>\n";
        print "\t\t<td>$line[6]</td>\n";
        print "\t\t<td>$line[7]</td>\n";
        print "\t\t<td>$line[8]</td>\n";
        print "\t\t<td>$line[9]</td>\n";
// $line[10] содердит id таблицы управление
        print "\t\t<td><a href=\"change_status_usa.html\" target=\"_new\">$line[11]</a></td>\n";
        print "\t\t<td>$line[12]</td>\n";
      }
print "\t</tr>\n";
print "</table>\n";
mysql_free_result($result);
?>

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Передача пары ключ=значение из одной html страницы в другую "  
Сообщение от andy email(??) on 29-Май-07, 06:22 
1. в HTTP есть такой статус ответа - 204 No Content. При переходе по ссылке change_status_usa.html?object_id=xxx&set_status=yyy (ну или как там будет код передаваться) сервер должен изменить статус в базе и вернуть "HTTP/1.1 204 No Content\n\n". Браузер, получив этот код, не будет обновлять содержимое окна. Естественно, за обновление элемента интерфейса в этом случае должна отвечать клиентская сторона (кусок JavaScript`а)

2. AJAX. Еще симпатичнее в данном случае, появляется возможность нормальной обработки и визуализации прогресса операции и ошибок

3. Редирект. Допустим, список находится по адресу http://host.ru/list.html
При смене статуса посылаем change_status_usa.html?object_id=xxx&set_status=yyy, change_status_usa.html меняет статус в базе и возвращает "Location: http://host.ru/list.html\n\n". Минус - перезагрузка страницы list.html

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Передача пары ключ=значение из одной html страницы в другую "  
Сообщение от vova (??) on 29-Май-07, 10:14 
>1. в HTTP есть такой статус ответа - 204 No Content. При
>переходе по ссылке change_status_usa.html?object_id=xxx&set_status=yyy (ну или как там будет код передаваться)
>сервер должен изменить статус в базе и вернуть "HTTP/1.1 204 No
>Content\n\n". Браузер, получив этот код, не будет обновлять содержимое окна. Естественно,
>за обновление элемента интерфейса в этом случае должна отвечать клиентская сторона
>(кусок JavaScript`а)
>
>2. AJAX. Еще симпатичнее в данном случае, появляется возможность нормальной обработки и
>визуализации прогресса операции и ошибок
>
>3. Редирект. Допустим, список находится по адресу http://host.ru/list.html
>При смене статуса посылаем change_status_usa.html?object_id=xxx&set_status=yyy, change_status_usa.html меняет статус в базе и возвращает
>"Location: http://host.ru/list.html\n\n". Минус - перезагрузка страницы list.html


Еще вопрос. А как получить передаваемый в URL параметр, в данном случае object_id=xxx, в PHP скрипте чтобы дальше использовать его в UPDATE ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Передача пары ключ=значение из одной html страницы в другую "  
Сообщение от andy email(??) on 29-Май-07, 10:21 
что-то вроде $_GET['object_id'] кажется. Точно не помню, ибо php не занимаюсь вообще, не нравится он мне
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Передача пары ключ=значение из одной html страницы в другую "  
Сообщение от vova (??) on 29-Май-07, 10:25 
>что-то вроде $_GET['object_id'] кажется. Точно не помню, ибо php не занимаюсь вообще,
>не нравится он мне

$_POST['object_id'] такая конструкция, но что то не работает.
а почему не нравиться ? не флейма ради спрашиваю, просто интересует мнение знающих людей.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Передача пары ключ=значение из одной html страницы в другую "  
Сообщение от andy email(??) on 29-Май-07, 11:08 
$_POST не работает, потому-что параметр передается методом GET: http://qwe.ru/script.html?get_param1=1&get_param2=3
в $_POST хранятся параметры, переданные именно методом POST ( т.е. в теле запроса, а не в УРЛе после вопросика)

ПХП не нравится  по нескольким причинам:
во-первых, - куча стандартных функций на каждый чих, сваленных в одну груду. Все эти mysql_..., array_....
во-вторых, - постоянные проблемы с безопасностью. Мне не нравится, что безопасностью занимаются незнакомые мне ребята, а не я сам
в-третьих, -  мне очень нравится перл. :) Очень стройный и красивый язык, если учиться ему не по корявым скриптам, а по perldoc

На пхп проще начать, но это как бейсик и Си - на бейсике писать просто, но 100% получится лажа, если программа длиннее двух экранов. Хотя видел очень приятный код на пхп, читал книжку про пхп5, в принципе, возможности понравились. Но я свое уже давно выбрал и нисколько не жалею. Короче, дело вкуса на самом деле

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Передача пары ключ=значение из одной html страницы в другую "  
Сообщение от vova (??) on 29-Май-07, 12:04 
>$_POST не работает, потому-что параметр передается методом GET: http://qwe.ru/script.html?get_param1=1&get_param2=3
>в $_POST хранятся параметры, переданные именно методом POST ( т.е. в теле
>запроса, а не в УРЛе после вопросика)
>
>ПХП не нравится  по нескольким причинам:
>во-первых, - куча стандартных функций на каждый чих, сваленных в одну груду.
>Все эти mysql_..., array_....
>во-вторых, - постоянные проблемы с безопасностью. Мне не нравится, что безопасностью занимаются
>незнакомые мне ребята, а не я сам
>в-третьих, -  мне очень нравится перл. :) Очень стройный и красивый
>язык, если учиться ему не по корявым скриптам, а по perldoc
>
>
>На пхп проще начать, но это как бейсик и Си - на
>бейсике писать просто, но 100% получится лажа, если программа длиннее двух
>экранов. Хотя видел очень приятный код на пхп, читал книжку про
>пхп5, в принципе, возможности понравились. Но я свое уже давно выбрал
>и нисколько не жалею. Короче, дело вкуса на самом деле


Понятно. Еще раз спасибо за советы :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Передача пары ключ=значение из одной html страницы в другую "  
Сообщение от vova (??) on 30-Май-07, 14:49 
Изменение статуса сделал, правда пока с отдельном окне с формой. попзже попробую сделать как рекомендовали. Сейчас возник вопрос организации поиска. Нужно сделать поиск по нескольким критериям, например по фамалии, по должности и по статуса.
Какие мысли:
форма с тремя полями и кнопка submit
при нажатии в базу посылается соответствующим образом составленный select. Одна загвоздка. Мне нужно сделать так, чтобы если заполнены все 3 поля формы, поиск работал по всем троим, если 2 то по двум, если только одно то по одному. Как такой select сделать ?
Если делаю так:
WHERE filial.familia LIKE '$familia' AND filial.dolzhnost LIKE '$dolzhnost' AND filial.status LIKE '$status'
то ищет только в случае если все три поля верно заполнены, если делать так:
WHERE filial.familia LIKE '$familia' OR filial.dolzhnost LIKE '$dolzhnost' OR filial.status LIKE '$status'
то находит по любому полю.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "searching"  
Сообщение от mirya email on 30-Май-07, 16:08 
>нужно сделать так, чтобы если заполнены все 3 поля формы, поиск
>работал по всем троим, если 2 то по двум, если только
>одно то по одному. Как такой select сделать ?

лучше проверить пустоту полей в скрипте, и на основе формировать SQL-запрос (динамически). Иначе рискуете заморочить голову SQL-серверу - он а) потратит время на разбор сложных выражений, к-рые сводятся к константам и б) может не сообразить использовать индексы там, где в "приведенном" запросе смог бы их использовать

>WHERE filial.familia LIKE '$familia' AND filial.dolzhnost LIKE '$dolzhnost' AND filial.status LIKE '$status'

0) Советую подумать над поиском. LIKE 'something' не оптимизируется. Если большие таблицы - будет полное сканирование. Либо искать по префиксу (LIKE 'something%', не забывать заэкранировать something), либо некое полнотекстовое решение, типа MySQL::FULLTEXT, Sphinx, etc.)

1) могу предположить, что потенциальный SQL-injection. Проверте значение директивы magic_quotes_gpc. В любом случае ее лучше отключить и экранировать самому, либо через prepared statements, т.к. оно не работает для многобайтніх кодировок (UTF-?)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "searching"  
Сообщение от vova (??) on 31-Май-07, 14:22 
>>нужно сделать так, чтобы если заполнены все 3 поля формы, поиск
>>работал по всем троим, если 2 то по двум, если только
>>одно то по одному. Как такой select сделать ?
>
>лучше проверить пустоту полей в скрипте, и на основе формировать SQL-запрос (динамически).
>Иначе рискуете заморочить голову SQL-серверу - он а) потратит время на
>разбор сложных выражений, к-рые сводятся к константам и б) может не
>сообразить использовать индексы там, где в "приведенном" запросе смог бы их
>использовать
>
>>WHERE filial.familia LIKE '$familia' AND filial.dolzhnost LIKE '$dolzhnost' AND filial.status LIKE '$status'
>
>0) Советую подумать над поиском. LIKE 'something' не оптимизируется. Если большие таблицы
>- будет полное сканирование. Либо искать по префиксу (LIKE 'something%', не
>забывать заэкранировать something), либо некое полнотекстовое решение, типа MySQL::FULLTEXT, Sphinx, etc.)
>
>
>1) могу предположить, что потенциальный SQL-injection. Проверте значение директивы magic_quotes_gpc. В любом
>случае ее лучше отключить и экранировать самому, либо через prepared statements,
>т.к. оно не работает для многобайтніх кодировок (UTF-?)

Большое спасибо :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Передача пары ключ=значение из одной html страницы в другую "  
Сообщение от andy email(??) on 29-Май-07, 06:30 
> Делать статус гиперссылкой при нажатии на которую открывается новое окно с формой через которую можно изменит статус

упс.. пропустил. А не удобней ли будет написать немного яваскрипта? Допустим, рядом со статусом стоит маленькая симпатичная картинка "изменить", при щелчке по которой рядом появляется блок со списком статусов, оформленных в виде ссылок. При щелчке по статусу блок исчезает и происходит одно из вышеописанных действий

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Передача пары ключ=значение из одной html страницы в другую "  
Сообщение от vova (??) on 29-Май-07, 07:40 
>> Делать статус гиперссылкой при нажатии на которую открывается новое окно с формой через которую можно изменит статус
>
>упс.. пропустил. А не удобней ли будет написать немного яваскрипта? Допустим, рядом
>со статусом стоит маленькая симпатичная картинка "изменить", при щелчке по которой
>рядом появляется блок со списком статусов, оформленных в виде ссылок. При
>щелчке по статусу блок исчезает и происходит одно из вышеописанных действий
>

Большое спасибо за советы :)
Буду пробовать.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру