Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выпадающий список в SoftTime FrameWork данные из MySQL
 
 автор: RyhoR   (08.09.2011 в 11:00)   письмо автору
 
 

Добрый день. У меня большая проблемма.

Делаю сайт - каталог фирм. После регистрации фирмы пользователь должен в выподающем списке выбрать категорию к которой относится его фирма.

Как сделать с помощью SoftTime FrameWork что-бы список создавался из данных MySQL (таблица с названиями разделов, разделов очень много и могут меняться через админ панель).


$idrazdel = new field_select("idrazdel",
                           "Выбирите раздел *", array("0" => "","1" => "Авто","2" => "Ремонт"),$_REQUEST['idrazdel']);


Ребята, в долгу не останусь...

  Ответить  
 
 автор: cheops   (08.09.2011 в 11:30)   письмо автору
 
   для: RyhoR   (08.09.2011 в 11:00)
 

Нужно больше информации о таблице разделов, какова её структура?

  Ответить  
 
 автор: RyhoR   (08.09.2011 в 11:38)   письмо автору
 
   для: cheops   (08.09.2011 в 11:30)
 

таблица обычная
id_razdel, name_razdel

В базу пойдет только id_razdel

  Ответить  
 
 автор: RyhoR   (08.09.2011 в 11:40)   письмо автору
 
   для: RyhoR   (08.09.2011 в 11:38)
 

Может есть ICQ 110702704

  Ответить  
 
 автор: cheops   (08.09.2011 в 12:08)   письмо автору
 
   для: RyhoR   (08.09.2011 в 11:38)
 

Тогда вместо array("0" => "","1" => "Авто","2" => "Ремонт") просто подставьте массив со значениями из базы данных $arr, массив можно сформировать следующим образом
<?php
  
...
  
$query "SELECT * FROM tbl ORDER BY name_razdel";
  
$ctg mysql_query($query);
  if(!
$ctg)
  {
      throw new 
ExceptionMySQL(mysql_error(), 
                               
$query,
                              
"Ошибка при обращении
                               к каталогу"
);
  }
  if(
mysql_num_rows($ctg)>0)
  {
     while(
$result mysql_fetch_array($ctg))
     {
        
$arr[$result['id_razdel']] = $result['name_razdel'];
     }
  }
  ...
?>

  Ответить  
 
 автор: RyhoR   (08.09.2011 в 12:21)   письмо автору
 
   для: cheops   (08.09.2011 в 12:08)
 

Спасибо все заработало, хотелось бы узнать можно ли реализовать следующее?

<select name="id_razdel">

<OPTGROUP label="Автомобили">
 <option value="1">АЗС, гаражи, стоянки
 <option value="2">Автомобили грузовые, коммерческие, перевозки
</OPTGROUP>

<OPTGROUP label="Аудио-, видео-, фото-, бытовая техника">
 <option value="3">Аудио-, видео-, фототехника
 <option value="4">Бытовая техника
</OPTGROUP>

 </select>


Хотелось бы сделать список с групировкой...
есть 2 таблицы. 1 таблица название разделов(id_razdel, name_razdel). 2 таблица - название подразделов (id_podrazdel, id_razdel, name_podrazdel)

Можно ли такое провернуть?
А то у меня много в списке записей, и пользователям не удобно выбирать разделы....

  Ответить  
 
 автор: cheops   (08.09.2011 в 12:51)   письмо автору
 
   для: RyhoR   (08.09.2011 в 12:21)
 

Нужно именно <OPTGROUP> реализовать? Тогда лучше унаследовать новый элемент управления от field_select, который бы формировал нужную вам структуру. Можно даже передавать названия таблиц через параметры конструктора, так, чтобы класс формировал нужный вам список из его элементов. Тогда останется только включить его объект в форму.

  Ответить  
 
 автор: RyhoR   (08.09.2011 в 12:59)   письмо автору
 
   для: cheops   (08.09.2011 в 12:51)
 

А как это реализовать можно?
Я просто в этом не сильно силен...

  Ответить  
 
 автор: RyhoR   (08.09.2011 в 15:04)   письмо автору
 
   для: cheops   (08.09.2011 в 12:51)
 

Нужно именно <OPTGROUP> реализовать.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования