Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 16 Ответов
  • 1022 Просмотров
*

golinejj

  • Захожу иногда
  • 50
  • 0 / 0
  • Кто стучит тому открывают!!!
Здравствуйте дорогие Гуру.
Помогите пожалуйста решить дилему.
Есть две таблицы с БД ( #_crowdf_projects) и ( #_categories ), нужно обединить эти две таблицы для выбора с них title. С одной таблицы выбираю без проблем и вывожу на фронт, а вот как выбрать эти данные с двух таблиц ума не приложу, весь нет перерыл, и примеры объединения видел но разобраться так и не хватило ума.
Второй день уже сижу репу мучаю.
Помогите пожалуйста. За ранее спасибо.
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
нужно обединить эти две таблицы для выбора с них title
Я тоже не понял, что именно вы хотите. Можно расписать задачу подробнее?
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

golinejj

  • Захожу иногда
  • 50
  • 0 / 0
  • Кто стучит тому открывают!!!
Я тоже не понял, что именно вы хотите. Можно расписать задачу подробнее?
Делаю так
Код
$query
            ->select(array('title', 'image', 'catid'))
            ->from($db->quoteName('#__crowdf_projects'))
            ->order($db->quoteName('title'). 'DESC');
И вывожу на фронт данные
Код
<?php echo $item->title; ?> Название и <img src="images/crowdfunding/<?php echo $item->image; ?>"/> картинка
Но это только с одной таблицы и только проекты а необходимо еще выбрать категории которые лежат в другой таблице
Код
$query->select($db->quoteName(array('title')));
$query->setQuery('SELECT * FROM s1jho_categories WHERE extension = "com_crowdfunding" ' . $count); категория
Как объединить выбор с этих двух таблиц что бы можно было выбрать : название, картинку, категорию?
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
А как связаны обе таблицы между собой, каким полем?
*

golinejj

  • Захожу иногда
  • 50
  • 0 / 0
  • Кто стучит тому открывают!!!
А как связаны обе таблицы между собой, каким полем?
Сейчас по сути нечего не связано между собой, одна таблица это стандартная таблица Joomla а вторая таблица это таблица компонента. Я пытаюсь вытащить данные из этих дву таблиц в файле helper и вывести в default файл. Но пока только одна выборка стоит , другую таблицу просто не могу прикрутить для выбора, выдает ошибки и нечего не выходит. Но может я неправильно понял ваш вопрос.
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
Если связей не будет, вы не сможете соотнести данные, что к чему относится.
*

golinejj

  • Захожу иногда
  • 50
  • 0 / 0
  • Кто стучит тому открывают!!!
Если связей не будет, вы не сможете соотнести данные, что к чему относится.
Так как я не профи то немного не пойму. Как мне это сделать? Как связать ?
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
Структуру таблиц скиньте, какие поля в компоненте
*

golinejj

  • Захожу иногда
  • 50
  • 0 / 0
  • Кто стучит тому открывают!!!
Структуру таблиц скиньте, какие поля в компоненте
id, title, alias, short_desc, description, image, location_id, goal, funded, funding_type, funding_start, funding_end, funding_days, pitch_video, hits, created
« Последнее редактирование: 04.02.2020, 22:23:26 от golinejj »
*

ProtectYourSite

  • Живу я здесь
  • 2364
  • 137 / 4
  • Безопасность вебсайтов
Наверняка у компонента должна быть таблица связей с материалом или с категорией, в этой таблице только инфа по строкам компонента
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Покажите структуру обоих таблиц, а не состав таблиц каждой и какое поле в какой таблице является связующим (ключем)

Там то все просто, JOIN бла бла ON i.id = ii.id
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

golinejj

  • Захожу иногда
  • 50
  • 0 / 0
  • Кто стучит тому открывают!!!
Картинка 56 #__crowdf_projects а картинка 57 #_categories
« Последнее редактирование: 05.02.2020, 08:17:37 от golinejj »
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
В второй картинке (56) поле catid это id из первой таблицы (57)?
И не очень понимаю ваш вопрос - судя по скринам - первая таблица категория, вторая - объекты.
Вам нужно вывести список объектов с названием категории, куда он относится?
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

fsv

  • Живу я здесь
  • 2781
  • 410 / 2
Если правильно понял, что-то похожее:

Код
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('a.*')
    ->select($db->qn('c.title'))
    ->from($db->qn('#__crowdf_projects', 'a'))
    ->leftJoin($db->qn('#__categories', 'c'). ' ON ' . $db->qn('c.id'). '=' . $db->qn('a.catid'))
    ->where($db->qn('c.extension').'='. $db->q('com_crowdfunding'))
    ->where($db->qn('a.published').'='. $db->q(1))
    ->where($db->qn('c.published').'='. $db->q(1))
    ->order($db->qn('c.title'). ' DESC');
$db->setQuery($query);
$result = $db->loadObjectList();

where - добавить по вкусу
Веб-разработка: заказ. Только новая разработка.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Оффтоп, но не пойму, зачем в прямом запросе столько лишнего кода (где нет условий, получаемых извне)
Просто
Код
select a.title, c.title
from #__crowdf_projects as a
join #__categories as c on c.id = a.catid
where a.published = 1 and c.published  = 1
order by как угодно
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

golinejj

  • Захожу иногда
  • 50
  • 0 / 0
  • Кто стучит тому открывают!!!
Спасибо вам большое, пойду пробовать. Вам плюсики.
*

golinejj

  • Захожу иногда
  • 50
  • 0 / 0
  • Кто стучит тому открывают!!!
Все вывел прекрасно, спасибо вам большое с меня причетается.
Еще такой вопросик.
Пытаюсь вывести все подарки на отдельную страницу , вроде бы как и выводит но что то не то, верней выводит только  tetle и испорченую картинку так как не может определить папку с картинкой а папка каждый рас меняется от каждого залившего картинку то есть - 1 картинка одна папка useк1 и т.д.
Как это можно собрать в кучу.
Делаю следующее:
Выбор из бд -
Код
$query

            ->select(array('a.id AS transaction_id, a.receiver_id, a.reward_state, a.txn_id, a.reward_id,'))
->select(array('b.title AS reward_name, '))
->select(array('c.name'))
            ->from($db->quoteName('#__crowdf_transactions', 'a'))
->leftJoin($db->quoteName('#__crowdf_rewards', 'b'). ' ON a.reward_id = b.id')
            ->leftJoin($db->quoteName('#__users', 'c'). ' ON a.receiver_id = c.id')
            ->order($db->quoteName('title'). 'DESC');
   
$query->setLimit($params->get('count'));


$db -> setQuery($query, 0, $params->get('count'));

$results = $db -> loadObjectList();

return $results;
Выбор картинки -
Код
switch ($layout) {
    case '_:square':
    case '_:thumbnail':
        // Получить папку, в которой сохранены изображения.
        $userId           = $project->getUserId();
        $rewardsImagesUri = CrowdfundingHelper::getImagesFolderUri($userId);

        JHtml::_('crowdfunding.jqueryFancybox');

        $js  = '
jQuery(document).ready(function() {
    jQuery("a.js-rewards-images-gallery").fancybox();
});';
        $doc = JFactory::getDocument();
        $doc->addScriptDeclaration($js);

        break;

    default:
        break;
}
Нечего толком не выходит, что то нагородил не то.
Помогите пожалуйста.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Прописать условие для сохранения данных в БД

Автор semen1707

Ответов: 0
Просмотров: 453
Последний ответ 14.04.2021, 00:59:44
от semen1707
Модель для представления, которое показывает списки данных разных типов

Автор borro

Ответов: 27
Просмотров: 1212
Последний ответ 06.05.2020, 11:57:12
от Septdir
Переменная для вывода ссылки

Автор rubinded

Ответов: 3
Просмотров: 708
Последний ответ 03.03.2020, 08:28:13
от sivers
Редактирование данных в связанных таблицах

Автор NetFix

Ответов: 1
Просмотров: 739
Последний ответ 19.03.2019, 11:07:10
от platonische
Вывод данных из нескольких одинаковых таблиц

Автор Outpost

Ответов: 6
Просмотров: 799
Последний ответ 11.02.2019, 14:42:55
от passer