Вывод последнего id с определенным шаблоном
Добрый день, помогите, пожалуйста, проблема заключается в следующем. На сайт прикрепил соц кнопки поделиться, нужно сделать чтобы при нажатии на поделиться заголовок, картинка и текста брались из последней добавленной новости. Так как они постоянно будут добавляться я ничего лучше не придумал как выводить через getResourceField, а в id подставлять значение из сниппета который будет искать max id с шаблоном 2. Помогите, пожалуйста сниппет написать.
Комментарии: 9
Думаю, что не ошибусь, если скажу, что такая просьба должна заканчиваться словами:
«И сколько такая работа будет стоить?»
«И сколько такая работа будет стоить?»
Нашел вот такой запрос:
<?php
$stmt = $modx->query("SELECT MAX(id) FROM {$modx->getTableName('modResource')}");
$maxId = (integer) $stmt->fetch(PDO::FETCH_COLUMN);
$stmt->closeCursor();
?>
Кто может подсказать как его исправить, чтобы он работал как нужно?
Ну как-то так
$q = $modx->newQuery('modResource');
$q->select('id,pagetitle');
$q->where(array('deleted'=>0,'published'=>1,'template'=>2));
$q->sortby('id','DESC');
$q->limit(1);
if ($q->prepare() && $q->stmt->execute()) {
$res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
}
print_r($res);
Спасибо огромное, но выводит вот таким образом «Array ( [0] => Array ( [id] => 13 ) )», подскажите, пожалуйста, как нужно подправить чтобы выводился только id?
Если допустим выборку( $q->where(array('deleted'=>0,'published'=>1,'template'=>2)); ) делать не по нескольким параметрам, а только по template?
Если допустим выборку( $q->where(array('deleted'=>0,'published'=>1,'template'=>2)); ) делать не по нескольким параметрам, а только по template?
Так это уже и есть последняя новость. Можно брать заголовок (pagetitle) и любое другое поле.
Для одной записи нужно использовать fetch.
Для одной записи нужно использовать fetch.
if ($q->prepare() && $q->stmt->execute()) {
$res = $q->stmt->fetch(PDO::FETCH_ASSOC); //
}
Я имею ввиду как выводить не массивом, с fetch он все равно выводит массивом «Array ( [id] => 13 )». Я хочу использовать один только этот сниппет и подставлять его в сниппет getResourceField в &id
Выбираете только id, потом
$q->stmt->fetch(PDO::FETCH_COLUMN);
Я человеку подсказал, как вывести последнюю новость. А он хочет взять только id и подставить в другой сниппет, чтобы вывести эту же новость. Тут человек должен сам разобраться.
Спасибо большое, но я вывел немножко по другому
print_r($res['id']);
print_r($res['id']);
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.