Добрый день. есть форма. она сохраняет данные в базу данных. необходимо на обычной странице во frontend вывести эти данные в таблицу в зависимости от состояния переменной в базе. Дано Данные в базе данных. Представлены 2 записи для примера: Код (CODE): -- -- БД: `base_main01` -- -- -------------------------------------------------------- -- -- Структура таблицы `jos_subrecords` -- CREATE TABLE `jos_subrecords` ( `id` int(11) NOT NULL auto_increment, `record` int(11) NOT NULL default '0', `element` int(11) NOT NULL default '0', `title` varchar(50) NOT NULL default '', `name` varchar(30) NOT NULL default '', `value` text, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=86 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=86 ; -- -- Дамп данных таблицы `jos_subrecords` -- INSERT INTO `jos_subrecords` VALUES (54, 7, 439, 'Выбрать тип товара', 'choose', 'Товар1 (Tovar1)'); INSERT INTO `jos_subrecords` VALUES (55, 7, 442, 'Размер', 'size', '00'); INSERT INTO `jos_subrecords` VALUES (56, 7, 444, 'Качество', 'quality', 'Q3'); INSERT INTO `jos_subrecords` VALUES (57, 7, 445, 'Количество', 'quantity', '12563'); INSERT INTO `jos_subrecords` VALUES (58, 7, 454, 'Цена за шт.', 'price', '126'); INSERT INTO `jos_subrecords` VALUES (59, 7, 453, 'Валюта', 'currency', 'USD'); INSERT INTO `jos_subrecords` VALUES (60, 7, 450, 'Примечание', 'note', 'снова примечание'); INSERT INTO `jos_subrecords` VALUES (61, 7, 476, 'Активность', 'activity_switch', '1'); INSERT INTO `jos_subrecords` VALUES (62, 8, 439, 'Выбрать тип товара', 'choose', 'Товар2 (Tovar2)'); INSERT INTO `jos_subrecords` VALUES (63, 8, 442, 'Размер', 'size', '30'); INSERT INTO `jos_subrecords` VALUES (64, 8, 444, 'Качество', 'quality', 'Q1'); INSERT INTO `jos_subrecords` VALUES (65, 8, 445, 'Количество', 'quantity', '2356'); INSERT INTO `jos_subrecords` VALUES (66, 8, 454, 'Цена за шт.', 'price', '125'); INSERT INTO `jos_subrecords` VALUES (67, 8, 453, 'Валюта', 'currency', 'USD'); INSERT INTO `jos_subrecords` VALUES (68, 8, 450, 'Примечание', 'note', 'примечание'); INSERT INTO `jos_subrecords` VALUES (69, 8, 476, 'Активность', 'activity_switch', '0'); необходимо, чтобы данные из таблицы `jos_subrecords` с идентификаторами от `element`выводились каждые в свою ячейку таблицы, создавая тем самым список в таблице. Код (html): <table width="100%" border="1" cellspacing="0" cellpadding="5"> <tr> <td>ID</td> <td>Товар</td> <td>Размер</td> <td>Качество</td> <td>Количество</td> <td>Цена за шт.</td> <td>Валюта</td> <td>Примечание</td> </tr> <tr class="класс от css-стиля"> <td>value из jos_subrecords.record</td> <td>value из jos_subrecords.element.439 </td> <td>value из jos_subrecords.element.442</td> <td>value из jos_subrecords.element.444</td> <td>value из jos_subrecords.element.445</td> <td>value из jos_subrecords.element.454</td> <td>value из jos_subrecords.element.453</td> <td>value из jos_subrecords.element.450</td> </tr> </table> причем, чтобы при jos_subrecords.element.476.value=1, у строки таблицы был свой стиль (class1): Код (html): <tr class="class1"> <td>value из jos_subrecords.record</td> <td>value из jos_subrecords.element.439 </td> <td>value из jos_subrecords.element.442</td> <td>value из jos_subrecords.element.444</td> <td>value из jos_subrecords.element.445</td> <td>value из jos_subrecords.element.454</td> <td>value из jos_subrecords.element.453</td> <td>value из jos_subrecords.element.450</td> а при jos_subrecords.element.476.value=0, у строки таблицы был другой стиль (class2): Код (html): <tr class="class2"> <td>value из jos_subrecords.record</td> <td>value из jos_subrecords.element.439 </td> <td>value из jos_subrecords.element.442</td> <td>value из jos_subrecords.element.444</td> <td>value из jos_subrecords.element.445</td> <td>value из jos_subrecords.element.454</td> <td>value из jos_subrecords.element.453</td> <td>value из jos_subrecords.element.450</td> </tr> прощу прощения за синтаксис, но объяснил как смог. ( помогите плиз. совсем голову сломал. заранее спсб.
value from jos_subrecords.element.439 - это как ? что то я не совсем понимаю принцип работы вашей системы.
ну это я так описал. я не знаю синтаксиса. короче говоря. value from jos_subrecords.element.439 значит что в ячейке таблицы должно быть выведено значение "Товар1 (Tovar1)" т.е код такой для записи с record=7 таблицы jos_records будет такой: Код (html): <table width="100%" border="1" cellspacing="0" cellpadding="5"> <tr> <td>ID</td> <td>Товар</td> <td>Размер</td> <td>Качество</td> <td>Количество</td> <td>Цена за шт.</td> <td>Валюта</td> <td>Примечание</td> </tr> <tr class="класс от css-стиля"> <td>7</td> <td>Товар1 (Tovar1)</td> <td>00</td> <td>Q3</td> <td>12563</td> <td>126</td> <td>USD</td> <td>снова примечание</td> </tr> </table> поправил задание. убрал лишнюю таблицу бд
Код (PHP): <?php $id = JRequest::getInt('subrecords',55,'POST'); $db = &JFactory::getDBO(); $query = 'SELECT * FROM #__subrecords WHERE `id` = '.$id; $db->setQuery($query); $rows = $db->loadObject(); ?> <form action="" method="post" name="subrecords"> <tr> <td> Введите ID </td> <td> <input id="id_input" type="text" name="subrecords" size="18" /> </td> <td> <input type="submit" name="Submit" class="button" value="Отправить" /> </td> <tr> </form> <table width="80%" border="1" cellspacing="0" cellpadding="5"> <tr> <?php if (count ($rows)){?> <td>ID</td> <td>Товар</td> <td>Размер</td> <td>Качество</td> <td>Количество</td> <td>Цена за шт.</td> </tr> <tr class=""> <td><?php echo $rows->id;?></td> <td><?php echo $rows->record;?></td> <td><?php echo $rows->element;?></td> <td><?php echo $rows->title;?></td> <td><?php echo $rows->name;?></td> <td><?php echo $rows->value;?></td> <?php }else{echo '<td>А нету</td>';}?> </tr> </table> Внимание. Валидации вводимых значений нет
спсб., но ... вы мне написали код ввода данных. а мне нужно вывод уже имеющих данных из базы во frontend
эммм мне нужно чтобы это автоматом делалось... а не по нажатию кнопки Отправить. типо заходишь на страничку и рисуется автоматом html-таблица с данными из базы. ок разьясню принцип работы. есть таблица в базе jos_subrecords в ней хранятся данные о товаре. у каждого товара есть идентификатор - record и его характеристики, которые хранятся в полях с номерами, указанные в element. т.е если значение element=439, то эта характеристика товара имеет текстовое значение, обозначающее тип товара если element=442, то эта характеристика товара имеет текстовое значение, обозначающее Размер и т.д. всего товар имеет 7 текстовых характеристик. есть еще у товара поле element=442. это идентификатор активности товара. он принимает два значения - 0 или 1. он служит для условия вывода стила для ряда html-таблицы. т.е если 1 (товар активен) - выводится обычная таблица, если 0 (товар неактивен) - выводится такая же таблица, но с другим стилем у ряда (к примеру перечеркнут текст). надеюсь я понятно объяснил. сорри, но я не программер (
Гм. Ну предполагается что пишущий расширение немного знаком с PHP, составлением SQL запросов к БД и выводом таблицы с помощью цикла foreach например. В примере дается применение API Joomla для решения этих вопросов. Писать готовое решение по ТЗ влом. Для вывода всей таблицы уберите форму, уберите условие WHERE из запроса получите всю таблицу $rows = $db->loadObjectList(); и выведите в цикле на страницу, проверяя значение поля element и в зависимости от этой проверки устанавливая стили.
читаю и перевожу со словарем, программировать не умею код рабочий - проверено, можно его вставить в какой ть модуль, позволяющий напрямую php исполнять, но не хочется прыгать чз api джумлы и сделать под ней