Форум русской поддержки Joomla!® CMS
08.12.2016, 20:05:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Вывести информацию из таблицы бд

 (Прочитано 640 раз)
0 Пользователей и 1 Гость смотрят эту тему.
xenos
Осваиваюсь на форуме
***

Репутация: +3/-2
Offline Offline

Сообщений: 58


« : 24.03.2015, 18:21:04 »

Всем добрый день. Знатоки подскажите пожалуйста как вывести информацию с ячейки  бд  таблицы Joomla.

Кучу мануалов и примеров пересмотрел но не как не могу вывести инфу с  таблицы.

Нужно вывести title в скрипте компонета

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

Вот есть такое в модели компонета

 $db     =& JFactory::getDBO();
         $query  = "SELECT COUNT(*) FROM #__webplayer_videos WHERE published=1";


Как правильно составить запрос чтоб выбрать из ячейки title информацию

Это скрин какие ячейки имеет эта таблица #__webplayer_videos



Господа помогите разобраться пожалуйста как грамотно создать этот запрос
« Последнее редактирование: 24.03.2015, 18:25:07 от xenos » Записан
motokraft
Живу я здесь
******

Репутация: +72/-13
Offline Offline

Сообщений: 1436


« Ответ #1 : 24.03.2015, 18:49:30 »

здесь ты полюбому не смотрел, а если и смотрел то не понял как сделать...
http://roket.kiev.ua/index.php?option=com_content&view=article&id=36:-joomla&catid=1:articls&Itemid=6

Код:
$db = JFactory::getDBO;
$db->setQuery("SELECT * FROM #__webplayer_videos WHERE published=1");
$result = $db->loadObjectList();
$result_1 = $result[0];
echo $result_1->title;
Записан
xenos
Осваиваюсь на форуме
***

Репутация: +3/-2
Offline Offline

Сообщений: 58


« Ответ #2 : 24.03.2015, 18:57:06 »

Спасибо !  Cheesy  Я был вчера там на сайте что вы дали но, я не понял как его вывести...Все получилось, очень преблагодарен за то что уделили время и помогли...  Cheesy
Записан
xenos
Осваиваюсь на форуме
***

Репутация: +3/-2
Offline Offline

Сообщений: 58


« Ответ #3 : 24.03.2015, 19:04:58 »

Если не тяжело можете еще показать пример чтоб он сортировал по id

А то получается сейчас тайтлы везде одни и те же...
Записан
motokraft
Живу я здесь
******

Репутация: +72/-13
Offline Offline

Сообщений: 1436


« Ответ #4 : 24.03.2015, 19:12:03 »

Если не тяжело можете еще показать пример чтоб он сортировал по id

Код:
SELECT * FROM #__webplayer_videos WHERE id = '1';
если надо что бы несколько параметров были, то.....
Код:
SELECT * FROM #__webplayer_videos WHERE published = '1' AND id = '1';
Записан
xenos
Осваиваюсь на форуме
***

Репутация: +3/-2
Offline Offline

Сообщений: 58


« Ответ #5 : 24.03.2015, 19:25:20 »

Че то пропадает вообще если вывожу так

<?php $db     =& JFactory::getDBO();
$db->setQuery("SELECT * FROM #__webplayer_videos WHERE published=1 AND id = 1 ");
$result = $db->loadObjectList();
$result_1 = $result[0];
echo $result_1->title;

?>
Записан
motokraft
Живу я здесь
******

Репутация: +72/-13
Offline Offline

Сообщений: 1436


« Ответ #6 : 24.03.2015, 19:32:19 »

Че то пропадает вообще если вывожу так

<?php $db     =& JFactory::getDBO();
$db->setQuery("SELECT * FROM #__webplayer_videos WHERE published=1 AND id = 1 ");
$result = $db->loadObjectList();
$result_1 = $result[0];
echo $result_1->title;

?>

возможно что в столбце published находится 0, а не 1

Код:
SELECT * FROM `j3_modules` WHERE `id` = '1' AND `published` = '0';
но все же используй верхние кавычки '
Записан
midav
Живу я здесь
******

Репутация: +113/-1
Offline Offline

Пол: Мужской
Сообщений: 946



« Ответ #7 : 24.03.2015, 21:16:08 »


Код:
SELECT * FROM #__webplayer_videos WHERE published = '1' AND id = '1';

Так он выберет только одну опубликованную запись с id=1 .
Для сортировки надо использовать ORDER BY . И если ему нужен только title , зачем выбирать из таблицы всё ?
Код:
SELECT `title` FROM #__webplayer_videos WHERE published = '1' ORDER BY `id`;
Записан
xenos
Осваиваюсь на форуме
***

Репутация: +3/-2
Offline Offline

Сообщений: 58


« Ответ #8 : 25.03.2015, 12:05:34 »

Так он выберет только одну опубликованную запись с id=1 .
Для сортировки надо использовать ORDER BY . И если ему нужен только title , зачем выбирать из таблицы всё ?
Код:
SELECT `title` FROM #__webplayer_videos WHERE published = '1' ORDER BY `id`;


Оно то работает но, один и тот же тайтл у всех материалов, че то не сортируется
Записан
motokraft
Живу я здесь
******

Репутация: +72/-13
Offline Offline

Сообщений: 1436


« Ответ #9 : 25.03.2015, 12:49:29 »

Оно то работает но, один и тот же тайтл у всех материалов, че то не сортируется

с кажется понял.... После выполнения запроса выводит к примеру 20 результатов (строк), вы хотите вывести все эти строку в таблицу...
так вот сделай так....
Код:
$db = JFactory::getDBO;
$db->setQuery("SELECT * FROM `#__webplayer_videos` WHERE `id` = '1' AND `published` = '0';");
$result = $db->loadObjectList();

foreach ($result as $info) {
echo $info->title.'<br>';
}
таким образом мы выведем 20 title с столбец...
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #10 : 25.03.2015, 13:47:02 »

так вот сделай так....
Код:
$db = JFactory::getDBO;
$db->setQuery("SELECT * FROM `#__webplayer_videos` WHERE `id` = '1' AND `published` = '0';");
$result = $db->loadObjectList();

foreach ($result as $info) {
echo $info->title.'<br>';
}

Напрасно игнорируете умные советы. Если таблица большая такой запрос + цикл отнимет немало времени и ресурсов. Если нужно выбрать только тайтл выбирайте только тайтл. Результат записывайте в массив с помощью $result = $db->loadColumn();
Записан
xenos
Осваиваюсь на форуме
***

Репутация: +3/-2
Offline Offline

Сообщений: 58


« Ответ #11 : 25.03.2015, 13:57:37 »

Делаю так

<?php
$db = JFactory::getDBO();
$db->setQuery("SELECT * FROM `#__webplayer_videos` WHERE `id` = '1' AND `published` = '0';");
$result = $db->loadColumn();

foreach ($result as $info) {   
   echo $info->title.'<br>';
}


?>

Но вместо тайтла пустое место не чего не выводит вообще...
published пробовал ставить и 0 и 1 все ровно глухо
Записан
motokraft
Живу я здесь
******

Репутация: +72/-13
Offline Offline

Сообщений: 1436


« Ответ #12 : 25.03.2015, 14:07:38 »

так а зачем вообще использовать выбор по id выводите те записи в которых стоит `published` = '0'
Записан
xenos
Осваиваюсь на форуме
***

Репутация: +3/-2
Offline Offline

Сообщений: 58


« Ответ #13 : 25.03.2015, 14:22:23 »

по id я имел введу чтоб выводился тот тайтл который предназначечен для того материала, чтоб вываливало просто первый попавшийся тайтл а именно выводило с ячейки тот тайтл который указан для этого материала, просто у меня суть не просто вывести инфу с ячейки title а чтоб выводило тот тайт который прописан для того материала. Наверное я не так выразился самого начала на счет сортировки по id
Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #14 : 25.03.2015, 15:49:40 »

Код
$db = JFactory::getDBO();
$db->setQuery("SELECT title FROM `#__webplayer_videos` WHERE `id`= '1' AND `published` = '0';");
$title = $db->loadResult();
 

и все.
Записан
xenos
Осваиваюсь на форуме
***

Репутация: +3/-2
Offline Offline

Сообщений: 58


« Ответ #15 : 25.03.2015, 16:14:35 »

Код
$db = JFactory::getDBO();
$db->setQuery("SELECT title FROM `#__webplayer_videos` WHERE `id`= '1' AND `published` = '0';");
$title = $db->loadResult();
 

и все.
Не выводит все ровно
вместо тайтла пустота
Записан
xenos
Осваиваюсь на форуме
***

Репутация: +3/-2
Offline Offline

Сообщений: 58


« Ответ #16 : 25.03.2015, 16:21:41 »

этот пашет но выводит один и тот же тайтл на всех материалах компонента

$db = JFactory::getDBO();
$db->setQuery("SELECT * FROM #__webplayer_videos WHERE published=1");
$result = $db->loadObjectList();
$result_1 = $result[0];
echo $result_1->title;
Записан
xenos
Осваиваюсь на форуме
***

Репутация: +3/-2
Offline Offline

Сообщений: 58


« Ответ #17 : 25.03.2015, 17:54:00 »

Господа помогите...
Записан
midav
Живу я здесь
******

Репутация: +113/-1
Offline Offline

Пол: Мужской
Сообщений: 946



« Ответ #18 : 25.03.2015, 22:32:38 »

с кажется понял.... После выполнения запроса выводит к примеру 20 результатов (строк), вы хотите вывести все эти строку в таблицу...
так вот сделай так....
Код:
$db = JFactory::getDBO;
$db->setQuery("SELECT * FROM `#__webplayer_videos` WHERE `id` = '1' AND `published` = '0';");
$result = $db->loadObjectList();

foreach ($result as $info) {
echo $info->title.'<br>';
}
таким образом мы выведем 20 title с столбец...

Это пипец просто ! Таким образом вы выведете один title  , потому что запрос выберет только одну запись !
В его таблице id это уникальный идентификатор . Знаете значение слова уникальный ?

Код:
$db = JFactory::getDbo();

// получаете данные
$list = $db->setQuery("SELECT `title` FROM `#__webplayer_videos` WHERE `published` = '1' ORDER BY `id`;")->loadObjectList();

// и выводете их как вам угодно
foreach($list as $item)
{
echo $item->title.'<br>';
}
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet