Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля
20.06.2011, 11:42
Эдик

Зарегистрирован:
2011-06-20
Сообщений: 15

Здравствуйте, помогите реализовать список категорий при добавлении товара, что бы товар падал в ту категории которую выбрали в списке, может тема такая сущевствует (я не нашел), дайте ссылку, либо покажите пример,и в разработчике найти не мог, страничку бы тоже не помешало бы подсказать, спасибо.
21.06.2011, 13:35
Константин
Константин

Зарегистрирован:
2010-07-20
Сообщений: 210

1. Генерируете альтернативную форму добавления/изменения, в неё вставляете (примерно такой) код:

Код:
<select name='subdivision'><option value='0'>— Выберите —</option>".listQuery("SELECT Subdivision_ID, Subdivision_Name FROM Subdivision WHERE Subdivision_ID IN (92,93,94,96,299,97,99,265) AND Checked=1","<optgroup label='\$data[Subdivision_Name]'>\n\".listQuery(\"SELECT Subdivision_ID, Subdivision_Name FROM Subdivision WHERE Parent_Sub_ID=\$data[Subdivision_ID] AND Checked=1\",\"<option value='\\\$data[Subdivision_ID]' \\\".(\\\"\\\$data[Subdivision_ID]\\\"==\\\"$subdivision\\\"?\\\"selected\\\":\\\"\\\").\\\">   \\\$data[Subdivision_Name]</option>\n\").\"</optgroup>")."</select>


выводятся категории и подкатегории в соответствии с заданными Subdivision_ID

2. В условие добавления:

Код:
$cclass=$db->get_var("SELECT Sub_Class_ID FROM Sub_Class WHERE Subdivision_ID=$subdivision");
if ($subdivision&&$cclass) { $cc=$cclass; $sub=$subdivision; }


Теперь товар будет попадать в выбранную категорию при добавлении. При изменении товара то же самое, только добавляем:

Код:
$db->query("UPDATE Message$classID SET Subdivision_ID=$sub, Sub_Class_ID=$cc WHERE Message_ID = $message");


в условие изменения.

orlovkn
22.06.2011, 11:20
Эдик

Зарегистрирован:
2011-06-20
Сообщений: 15

Сделал, список отображается,Выявил я всего 2 категории с ихними под категориями, но у подкатегорий у всех название как у главной категории, тоесть вот скрин,
Изображение
то есть он выводит \$data[Subdivision_Name] Первого запроса в базу а не второго, как исправить?

Код:
<select name='subdivision'><option value='0'>— Выберите —</option>".listQuery("SELECT Subdivision_ID, Subdivision_Name FROM Subdivision WHERE Subdivision_ID IN (57,81) AND Checked=1","<optgroup label='\$data[Subdivision_Name]'>\n\".listQuery(\"SELECT Subdivision_ID, Subdivision_Name FROM Subdivision WHERE Parent_Sub_ID=\$data[Subdivision_ID] AND Checked=1\",\"<option value='\$data[Subdivision_ID]' \".(\"\$data[Subdivision_ID]\"==\"$subdivision\"?\"selected\":\"\").\">   \$data[Subdivision_Name]</option>\n\").\"</optgroup>")."</select>



Проблема решена.
22.06.2011, 21:37
Константин
Константин

Зарегистрирован:
2010-07-20
Сообщений: 210

Цитата:
Проблема решена.

гуд

orlovkn
198 196 2011-06-22 21:37:46 11378
Описание проекта