Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Набор выподающих списоков + PHP  (Прочитано 13090 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« : 05-02-2004 17:44 » 

Дано: форма с неопределённым количеством этих самых выподающих меню допустим от 10-200.
Вопрос как в php скрипт выполняющийся по нажатию кнопки "Отправить" передать массив только тех менюшек состояние которых было изменено. Или же так с помощью JS формировать/дополнять некий массив по событию OnChange и потом его отправить в php скрипт.
P.S.: в JS что называется "Полнейший Нулище"
Записан

Странно всё это....
Skubent
Гость
« Ответ #1 : 05-02-2004 18:18 » 

Код:
<script>
function Change(param)
{
 document.ups.value+="!";
 document.ups.value+=param;
 document.ups.value+="!";
}
</script>
<form action=primer.php method=post>
<input type=hidden value="" name=ups>
<input type=submit value="Отправить">
</form>
На приемнике, тобишь в primer.php обрабатываешь $HTTP_POST_VARS['ups'] как захочешь...
« Последнее редактирование: 23-11-2007 21:43 от Алексей1153++ » Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #2 : 05-02-2004 19:33 » 

Skubent, Спасибо!
Возник еще один вопрос на засыпку, как в ups добавлять массивы вида (id, field, value, old_value).
Поясню делаю web интерфейс к БД mysql . как в JS передать набор параметров я понял. Меня интересует следующие расшифровка вот этого:
 document.ups.value+="!";
 document.ups.value+=param;
 document.ups.value+="!";
и как передать в usp.value это id, field, value, old_value кучей ввиде массива с целью последующей обработке в циклах php while или foreach.
Записан

Странно всё это....
Skubent
Гость
« Ответ #3 : 05-02-2004 20:58 » 

LogRus, так... Давай задачу целиком Улыбаюсь)
а в примере функция Change генерит в поле value строку с произвольными данными, обрамленными восклицательными знаками - то есть в приемнике ты ее как хошь, так и обрабатывай.
Далее, если сделать так
Код:
<input type=text name=mas['id']>
<input type=text name=mas['field']>
<input type=text name=mas['value']>
<input type=text name=mas['old_value']>
то на приемнике мы получим массив mas с индексами id, filed, value и old_value
Многомерные тож поддерживаются...
« Последнее редактирование: 23-11-2007 21:44 от Алексей1153++ » Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #4 : 05-02-2004 22:00 » 

Skubent, задачу целиком дать неполучится она в голове и то дастаточно расплывчата. Но эту конкретную проблему хочу свести к следующему.
<input type=hidden name=mas[]>
mas массив содежжащий в себе если не еще набор массиво т.е. он дву мерный, то хотя бы набор строк. А не одну длинную строку. Можно конечно одной строкой но тогда код не красивый будет.
с чекбоксами было проще им указываешь имя всем checkbox[] и в php обрабатываешь массив в котором только те чекбоксы в которых стоят галки а вот с выподающим списком затык вышел.
Записан

Странно всё это....
Skubent
Гость
« Ответ #5 : 05-02-2004 22:41 » 

LogRus, тогда хоть кусок кода скинь того, в котором затык... Не совсе мпонятно, где тут что не так ? Улыбаюсь
Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #6 : 06-02-2004 00:33 » 

попробую проще объяснить код выложить не получится больно он кривой.
Выложу свденную к минимуму задачу
Вот форма и скрпт:
Код:
<script language="JavaScript" type="text/JavaScript">
<!--
function Change_Combo(selObj, value)| //v3.0
  document.main_form.combobox_all[].value +=  new Array (selObj.options[selObj.selectedIndex].value,value);
}
//-->
</script>

<form name="main_form" method="post" action="edit_zadanie_script.php">
<input type=hidden value="" name="combobox_all[]">
<select name="Receive_box[]" onChange="Change_Combo(this,"SomeString")">
<option selected value="0" >0</option>
<option value="1" >1</option>
<option value="2" >2</option>
<option value="3" >3</option>
<option value="4" >4</option>
<option value="5" >5</option>
<option value="6" >6</option>
</select>
<input type="submit" name="Submit" value="Применить изменения">
</form>
код скрипта php
Код:
<?PHP 
   foreach($combobox_all as $value)
   {
print "Value".$value[0]." Sometext = ".$value[1]." <BR>\n";
   }
?>
это в общем должно работать.
« Последнее редактирование: 23-11-2007 21:45 от Алексей1153++ » Записан

Странно всё это....
Skubent
Гость
« Ответ #7 : 06-02-2004 08:40 » 

LogRus, вообще-то у тебя еще на стадии работы JS ошибки должны быть, не поддерживает он такое дело. Один input может быть элементом массива, но не массивом.

А чем тебе строка не нравится ? На приемнике делаешь
$t = explode("!", $ups);
и получаешь в $t все, значения...
Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #8 : 08-02-2004 07:44 » 

Skubent, незнаю вредный я просто. Отлично Хочу по модному. А массивом input  может быть. Я говорил, что с чекбоксами этот номер прошел на ура в php передался массив только отмеченных галочек. Ладно придется действительно explode применить наверное.
Записан

Странно всё это....
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #9 : 08-02-2004 12:24 » 

Skubent, усё Шеф парсер написан. Работает, как часики. Ага
Осталось немного до завершения дела. Оформить нормально, прикрутить аутентификацию, и порезать основную форму на кусочки для разных подразделений. Или думаю перековырять её, что и сделать уневерсальной. Большенство из этого переложу на брата. Отлично
Записан

Странно всё это....
Skubent
Гость
« Ответ #10 : 08-02-2004 14:07 » 

LogRus, угу, 10 чекбоксов если - то да, а если один только ?
Записан
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #11 : 08-02-2004 15:36 » new

Skubent, У меня их не один а по одному на запись в базе. Вот весь скрипт удаления отмеченных запесей из базы.
Код:
<?PHP 
include('library.php');
  $time = date("Y-m-d H:i:s");
  connect_db();

 if (sizeof($checkbox) > 0 )
   foreach($checkbox as $value)
   {
     if (mysql_query("DELETE FROM main WHERE ID = $value"))
   echo " ID = <b>". $value. "</b> удалено.<BR>\n";
  else
   echo "Удаление для ID = <b>". $value. "</b> не прошло.<BR>\n";
   }
?>
« Последнее редактирование: 23-11-2007 21:46 от Алексей1153++ » Записан

Странно всё это....
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines