[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: калькулятор
ferias
Честно пытался сам найти решение, но не осилил... sad.gif

Помогите, пожалуйста, или подскажите в каком направлении двигаться?

сабж:

-в PHP сценарий выгружается массив из таблицы MySQl в формате: артикул, код работы, наименование, описание, цена, id;

-у каждого значения id есть чекбокс;

-на основании отмеченных чекбоксов выбираются данные из mysql где id==value checkbox;

-данные сохраняются в переменной $message, при помощи которой выбранный список отправляется письмом;

Собственно, вопрос возник при добавлении калькулятора на страницу (js) - калькулятор считает value отмеченых чекбоксов, а value отмеченных чекбоксов == id, а не цена.

Как его правильно сделать, не могу никак сообразить?
Если чекбоксы на колонке "цена" прилепить, то калькулятор правильно будет считать, но строки из БД будут выбираться по значению цены, а тогда возможны совпадения строк по цене...

redreem
ну так считай не value отмеченных чекбоксов, а цену, к которой этот чекбокс относится.
dr.nomore
Забейте value (id записи) в имя чекбокса. Все равно не отчеканный не придет. value чекбокса вообще-то, ну, в нормальном программировании может быть только трех значений: -1 0 1, или двух true/false если засеренный чек-бокс не поддерживается.

$check = 'input type="checkbox" name="id[' . $row['id'] . ']" ...;

получите типа

<input type="checkbox" name="id[9873]" ...;

В процессинг прилетят зачеканные чекбоксы, что прилетело берете из чего там у вас, например

foreach($_POST['id'] as $id => $checked) {
// теперь в $id значение которое натурально id записи в таблице
// $checked - затычка чтобы получить ключ,
// $checked всегда on. off не приходят на сервер

}


Возвращаясь к агенту (браузеру). Чтобы по-быстрому найти поле с ценой присвойте ему атрибут id тождественным значению атрибута name для чекбокса.

У нас было вот так

Цитата
$check = 'input type="checkbox" name="id[' . $row['id'] . ']" ...;


Разделим

$id_name = '"id[' . $row['id'] . ']"';

$check = 'input type="checkbox" name=' . $id_name . ' ...' ;

$text = 'input type="text" name="price" id=' . $id_name . ' ...' ;


В результате чего ЖС получает коаксиальное поле с ценой вот так

$price = document.getElementById(this.name).value;


Поскольку калькулятор вызывается как я понял по нажатию чек-бокса, а значит this это чекбокс, у которого есть имя, которое в точности совпадает с id поля где цена.

Идея понятна?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.