Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: связвть форму с php

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: помогите
Валерий Б.
Отправлено: 09 Ноября, 2010 - 18:48:37
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




здравствуйте, добрые люди) у меня такая проблемма:
есть html-форма:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <FORM action = "process.php" method = POST>
  2. Выберите параметр сортировки:
  3. <SELECT NAME = 'tx' SIZE = '1'>
  4. <OPTION VALUE = 'pr_pr' SELECTED> Предел прочности </OPTION>
  5. <OPTION VALUE = 'pr_tek'> Предел текучести </OPTION>
  6. <OPTION VALUE = 'ot_r'> Относительное расширение </OPTION>
  7. <OPTION VALUE = 'ud_vz'> Ударная вязкость </OPTION>
  8. <OPTION VALUE = 'tm_li'> Температура ликвидуса </OPTION>
  9. <OPTION VALUE = 'tm_so'> Температура солидуса </OPTION>
  10. </SELECT>
  11. <BR> <BR>
  12. Выберите тип сортировки: <BR>
  13. <INPUT type=radio name="sort" value="up">
  14. По возрастанию <br>
  15.   <INPUT type=radio name="sort" value="down">
  16. По убыванию<br><br>
  17. <INPUT type = submit value = "Сортировать">
  18. <INPUT type = reset value = "Очистить">
  19. </FORM>
  20.  

в process.php надо сделать так, чтобы при выборе параметра из выплывающего списка и отметки по какому типу сортировать( возрастанию или убыванию) выполнялась своя функция сортировки, вот она: function priceCMP1 ($a, $b) {return $a[1]- $b[1];}. таких однотипных функций 6 по возрастанию и 6 по убыванию. сам массив считывается из файла.
попытался написать условие при котором вызывалась бы та или иная функция для первых двух элементов выплывающего списка и ничего не заработало, просто сортирует массив по той функции priceCmp, которая прописывается последняя, и условие не работает.
CODE (htmlphp):
скопировать код в буфер обмена
  1. $t_x=null;
  2. $sortirovka=null;
  3.     if (isset ($_POST ['pr_pr'] )) {$t_x='pr_pr';}    
  4.     if (isset ($_POST ['pr_tek'] )) {$t_x='pr_tek';}    
  5.     if (isset ($_GET ['up'])) {$sortirovka=($_GET ['up']);}          
  6.     if (($t_x='pr_pr') and ($sortirovka='up')) {usort ($array, 'priceCmp1') ;}
  7.     if (($t_x='pr_tek') and ($sortirovka='up')) {usort ($array, 'priceCmp2') ;}
  8.  

помогите/подскажите пожалуйста как можно это все нормально реализовать. в моей php-шной записи видимо косяк на косяке...(((
надеюсь описал свою проблемму понятно.
 
 Top
DlTA
Отправлено: 09 Ноября, 2010 - 19:25:57
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




может Вам поможет данная инфа
 
 Top
OrmaJever Модератор
Отправлено: 09 Ноября, 2010 - 20:38:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




во-первых это условие не верно.
PHP:
скопировать код в буфер обмена
  1. if (isset ($_POST ['pr_pr'] )) {$t_x='pr_pr';}
  2.  if (isset ($_POST ['pr_tek'] )) {$t_x='pr_tek';}

У вас нету елемента с именем pr_pr и pr_tek - это значения
Должно быть примерно так
PHP:
скопировать код в буфер обмена
  1. if (isset ($_POST ['tx'] )) $t_x=$_POST ['tx'];
  2.  

Во вторых вся форма передаётся через пост и откуда взялось $_GET ['up'] не понятно.
PHP:
скопировать код в буфер обмена
  1. if (isset ($_GET ['up'])) {$sortirovka=($_GET ['up']);}

Должно быть так как и в первом.
PHP:
скопировать код в буфер обмена
  1. if (isset ($_POST['sort'])) $sortirovka=$_GET ['sort'];


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
DlTA
Отправлено: 09 Ноября, 2010 - 21:50:06
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




OrmaJever пишет:
$sortirovka=$_GET ['sort'];

 
 Top
Валерий Б.
Отправлено: 10 Ноября, 2010 - 02:23:10
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




а как тогда он выберет сортировать по убыванию или возрастанию?если использовать
CODE (htmlphp):
скопировать код в буфер обмена
  1. if (isset ($_POST['sort'])) $sortirovka=$_GET ['sort'];

не возвратит же по какому именно типу сортировать... или ошибаюсь?
 
 Top
OrmaJever Модератор
Отправлено: 10 Ноября, 2010 - 13:02:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




Валерий Б. я ошибся $_GET нужно изменить на $_POST
DlTA же подправил.
Валерий Б. пишет:
не возвратит же по какому именно типу сортировать

если вы нажимаете первую кнопку то в $_POST['sort'] будет up, если вторую то down ну а в скрипте уже проверять значение и сортировать)


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Валерий Б.
Отправлено: 10 Ноября, 2010 - 16:04:54
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Нояб. 2010  


Помог: 0 раз(а)




все понял, спасибо большое всем!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB