Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как получить все записи из таблицы БД

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


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

вопрос
Добрый день! Подскажите, как получить все записи из таблицы 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 - 11 сентября 2013 17:03 -


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

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

ПафНутиЙ - 11 сентября 2013 21:30 -

как то так:
$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 - 11 сентября 2013 22:23 -

$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 - 12 сентября 2013 02:33 -

Нужно использовать 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 - 12 сентября 2013 12:08 -

Спасибо!

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх