Как получить заголовок и ссылку на предыдущий и следующий пост в php - PullRequest
0 голосов
/ 19 февраля 2019

Я новичок в PHP и изучаю, разрабатывая небольшой блог CRUD.Теперь моя задача - как получить заголовок и ссылку на предыдущую и следующую запись в блоге после того, как пользователь откроет статью.Это сделано для того, чтобы легко перейти к следующему и предыдущему сообщению, не нажимая кнопку «Назад», чтобы выбрать следующую статью.

На изображении ниже показано, как я пишу. введите описание изображения здесь

Я попытался выполнить запрос к базе данных и использовать> чем id или меньше чем id для ссылки на следующую и предыдущие статьи, которые не работали.

 <?php
    $previous = "SELECT * FROM posts WHERE `posts`.`id` < $id";
    $next = "SELECT * FROM posts WHERE `posts`.`id` > $id";                      
    echo "<li><a href='{{url('post.php/' . $previous)}}'> Previous</a></li>";
    echo "<li><a href='{{url('post.php/' . $next)}}'> Next</a></li>";
?>    

Я действительно хотел, чтобы предыдущая и следующая ссылки на следующую и предыдущую статьи отображались с их названиями.

1 Ответ

0 голосов
/ 19 февраля 2019
/**
 * Rows per page
 */
$limit = 1;

// Find out how many items are in the table
$total = $db->get_total_count('cat_id', 'category', array('show_home_page' => 1, 'type_id' => 5, 'status' => 1));


// How many pages will there be
$pages = ceil($total / $limit);

// What page are we currently on?
$page = min($pages, filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT, array(
    'options' => array(
        'default'   => 1,
        'min_range' => 1,
    ),
)));

// Calculate the offset for the query
$offset = ($page - 1)  * $limit;

// Some information to display to the user
$start = $offset + 1;
$end = min(($offset + $limit), $total);

// The "back" link
$prevlink = ($page > 1) ? '<a href="#prev" class="program_nav" data-id="'.($page - 1).'" title="Back"><i class="fa fa-chevron-left"></i></a>' : '<a href="#prev" class="disabled" title="Back"><i class="fa fa-chevron-left"></i></a>';

// The "forward" link
$nextlink = ($page < $pages) ? '<a href="#next" class="program_nav" data-id="'.($page + 1).'" title="Next"><i class="fa fa-chevron-right"></i></a>' : '<a href="#next" class="disabled" title="Next"><i class="fa fa-chevron-right"></i></a>';


$total_query = 'SELECT COUNT(cat_id) FROM category WHERE show_home_page = 1 AND type_id = 5 AND status = 1';

$query = 'SELECT c.name, c.url FROM category as c WHERE c.show_home_page = 1 AND c.type_id = 5 AND c.status = 1 ORDER BY c.order ASC';

$programs = $db->get_table_custom($total_query, $query, true, $limit, $page);
...