Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как получить все записи из таблицы БД

Как получить все записи из таблицы БД


     Общие вопросы по PHP, Модули, MySQL    3978

вопрос
Добрый день! Подскажите, как получить все записи из таблицы dle_list, там аналог dle_post, только новости другие. Каждая новость с отдельным id, отдельное поле. Т.е. там просто хранятся id и id новости в dle_post. (Подобие закладок в dle_users, но каждая закладка в отдельной записи.)

Запрос:

$row = $db->super_query( "SELECT * FROM dle_list" );


Код:

$list = explode(",", $row['id']);

foreach ( $list as $daten ) {
$fav_list[] = "'" . intval($daten) . "'";
}

$list = implode( ",", $fav_list );

$id = "(" . $list . ")";


Получаем все новости из таблицы:


$sql_select = "SELECT id, autor, date, short_story, full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, rating, vote_num, news_read, flag, editdate, editor, reason, view_edit, tags FROM " . PREFIX . "_post where id in $id";
$sql_count = "SELECT COUNT(*) as count FROM " . PREFIX . "_post where id in {$id}";

$allow_active_news = TRUE;

require (ENGINE_DIR . '/modules/show.short.php');


Но возвращается лишь 1 запись из 15, нужно, чтобы возвращались все 15, через запятую.
Заранее благодарю!

Ответа пока нет


5 комментариев

Ayk
Юзер

Ayk - -


Примерно похожее строение таблицы

ПафНутиЙ
Админ

ПафНутиЙ - -

как то так:
$dle_list = $db->super_query( "SELECT * FROM dle_list LIMIT 0, 10" );
while ($row = $db->get_row($dle_list)) {
    $tpl->set( '{title}', $row['title'] );
}

Каков вопрос - таков и ответ. Просто помните об этом.

Ayk
Юзер

Ayk - -

$tpl->load_template( "reals.tpl" );

$dle_list = $db->super_query( "SELECT * FROM dle_list LIMIT 0, 10" );
while ($row = $db->get_row($dle_list)) {
    $tpl->set( '{id}', $row['id'] );
}

$tpl->compile( 'content' );
$tpl->clear();


весь код получается? Почему-то не получаю запрос id, выходит просто тег {id}

TheImDim
Юзер

TheImDim - -

Нужно использовать query вместо super_query

$row = $db->query( "SELECT * FROM dle_list" );

далее в цикле:

while ($row = $db->get_row($dle_list)) {
    $tpl->set( '{id}', $row['id'] );
}


Но если уж хочеться с super_query, то тогда нужно передать второй параметр как true:

$dle_list = $db->super_query( "SELECT * FROM dle_list LIMIT 0, 10", true );


Тогда функция возратит массив, который используем в цикле:


for( $i = 0; $i < count( $dle_list ); $i++ ) {
    $tpl->set( '{id}', $dle_list[$id] );
}

Ayk
Юзер

Ayk - -

Спасибо!

Похожие вопросы

наверх