Новости Joomla

Вышли релизы Joomla 6.1 и Joomla 5.4.5: новые возможности и стабильность

Релиз Joomla 6.1.0

Проект Joomla! объявил о доступности Joomla 6.1 [Nyota] — новой минорной версии шестой серии, а также о выпуске релиза исправлений ошибок Joomla 5.4.5. Релиз 6.1 приносит ряд долгожданных функций, повышающих удобство управления контентом и защиту от спама.

👩‍💻 Компонент "CS Афиши" для Joomla.

👩‍💻 Компонент "CS Афиши" для Joomla.

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

В состав пакета расширений входят:
- Компонент "CS Афиши"
- Модуль "Календарь событий"
- Модуль "Предстоящие события"
- Библиотека "ImgResize"

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

Модуль "Календарь событий" отображает предстоящие и прошедшие мероприятие на календаре, с отображением мероприятий на конкретную дату во всплывающем окне.

Модуль "Предстоящие события" показывает список предстоящий событий по порядку их наступления.

P.S. Расширение платное, но плата символическая, чисто для отработки приема платежей. Ключи без ограничения по времени, купившие сейчас - смогут обновляться без ограничений.

Разработчик - участник нашего сообщества Дмитрий Денисов (@codersite).

Страница расширения
Демо

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

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
last_insert_id
« : 06.04.2014, 17:35:17 »
Как использовать last_insert_id()  в Joomla 2.5   ?
Либо в переменную записать полученный id
либо сразу в следующий запрос подставить.
Мой сайт про корабли
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: last_insert_id
« Ответ #1 : 06.04.2014, 18:07:39 »
вопрос довольно странный, видимо это зависит от поставленной задачи)
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: last_insert_id
« Ответ #2 : 07.04.2014, 00:42:19 »
Если используете JTable то после store в поле id будет нужное вам значение
пример:
Код: php
class myTable extends JTable
{
public function __construct( $db )
{
parent::__construct( '#__table_name', 'id', $db );
}
}

$table = new myTable( JFactory::getDbo() );
$table->title = 'lalal';
$table->store();
echo $table->id; //тут и будет наш last_insert_id

Если же хотим через обычный запрос после вставки то:
Код: php
$db = JFactory::getDbo();
$db->setQuery('ЗАПРОС НА ВСТАВКУ')->execute();
echo $db->insertid();//тут и будет наш last_insert_id
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: last_insert_id
« Ответ #3 : 07.04.2014, 08:01:50 »
Ой а у меня запрос н вставку не такой как во втором варианте. Так использовать?

                        
Код: php
$query = $db->getQuery(true);
$query = "INSERT INTO  `#__names`
(`id`, `title`, `user_id`)
VALUES ('', '{$wname}', '{$userid}');";
$db->setQuery( $query );
$db->query();
                        $last_id = $db->insertid();
Мой сайт про корабли
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: last_insert_id
« Ответ #4 : 07.04.2014, 11:35:55 »
Ой а у меня запрос н вставку не такой как во втором варианте. Так использовать?
Да все верно!
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: last_insert_id
« Ответ #5 : 07.04.2014, 14:09:10 »
спасибо за помощь)
Мой сайт про корабли
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: last_insert_id
« Ответ #6 : 07.04.2014, 14:42:47 »
спасибо за помощь)
Кстати вот это:
Код: php
$query = $db->getQuery(true);
$query = "INSERT INTO  `#__names`
(`id`, `title`, `user_id`)
VALUES ('', '{$wname}', '{$userid}');";
Запись неверная!
$query = $db->getQuery(true); - эта строка лишняя! Она нужна если вы запрос будете строить в объектном стиле! Пример:
Код: php
$query = $db->getQuery(true);
$query->insert('#__names( `title`, `user_id`)')->values($db->quote($wname). ', ' . $db->quote($userid));
$db->setQuery( $query )->query();
$last_id = $db->insertid();
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: last_insert_id
« Ответ #7 : 14.04.2014, 17:47:56 »
Огромное спасибо)) У меня эта строка встречается на всех моих сайтах(
А что она делает?
Мой сайт про корабли
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: last_insert_id
« Ответ #9 : 14.04.2014, 18:13:03 »
Огромное спасибо)) У меня эта строка встречается на всех моих сайтах(
Как и сказал Дима эта строка для получения объекта класса JDatabaseQuery! Этот класс служит для того что бы строить запросы в объектном стиле!
тоесть не так как вы написали:
Код: php
query = $db->getQuery(true);
$query = "INSERT INTO  `#__names`
(`id`, `title`, `user_id`)
VALUES ('', '{$wname}', '{$userid}');";

а так как я писал:
Код: php
$query = $db->getQuery(true);
$query->insert('#__names( `title`, `user_id`)')->values($db->quote($wname). ', ' . $db->quote($userid));
*

Mick_20

  • Завсегдатай
  • 1030
  • 13 / 0
  • Что тут писать?
Re: last_insert_id
« Ответ #10 : 14.04.2014, 18:33:10 »
Понятно) А зачем писать в объектном стиле? Защита от инъекций или??
Мой сайт про корабли
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

Beer

  • Завсегдатай
  • 1113
  • 46 / 1
  • БИРУ - БИР!
Re: last_insert_id
« Ответ #12 : 06.01.2020, 01:35:28 »
Использовал как мануал для пересчета записей в БД используя неск. проследовательных запросов создав в корне файл test.php

Код
$db->setQuery('INSERT INTO #__joomgallery_comments ( cmtpic, cmttext, published, approved ) SELECT #__joomgallery.id AS _2, #__joomgallery.hits - #__joomgallery.hits_2 AS _1, 1 AS _4, 1 AS _5 FROM #__joomgallery LEFT JOIN #__joomgallery_comments ON #__joomgallery.id = #__joomgallery_comments.cmtpic WHERE (((#__joomgallery.hits - #__joomgallery.hits_2)>0)) ORDER BY #__joomgallery.hits - #__joomgallery.hits_2 DESC LIMIT 12')->execute();

При обращении к https://сайт.ru/test.php происходит чтение и запись в БД.

Когда я выполняю несколько запросов к БД последний  запрос UPDATE не выполняется.
Но если между запросами ставлю
Код
sleep(1);
Записи в БД добавляются. Это правильное решение?

Куда положить мой файл test.php чтобы к нему сделать доступ через cron?
Если положу на уровень выше - подключение к БД сохранится?
« Последнее редактирование: 06.01.2020, 01:40:18 от Beer »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться