@twohundrediq

Правильный ли код?

Приветствую, начал понемногу изучать php, решил сделать псевдо блог в котором сделал вывод статей из базы данных, подсчет этих статей, подсчет страниц. Делал этот блог по старой статье с Хабра, но брал от туда логику и последовательность кода. В основном все делал сам. Кому не лень, оцените пожалуйста и укажите на ошибки, чтобы в дальнейшем на них не натыкаться. Спасибо.

<?php

	include 'db.php';
	$lim = 5;

		// Отображаем колличество записей в таблице и количество страниц
	$query = $connect->query('SELECT COUNT(*) as count FROM blog');		// Создаем запрос к базе
	$query->setFetchMode(PDO::FETCH_ASSOC);		// Извлекаем строки
	$arr = $query->fetch();		// Помещаем в массив
	$counter = $arr['count'];
	echo "Количество записей: " . $counter . "<br>";
	$pages = $counter / $lim;
	echo "Количество страниц: " . $pages;	
			
	class Short
	{
		public function result($stmt) {						// Функция отображающая записи бд
			while($array = $stmt->fetch()) {
				echo "<section>
		 			<h2>{$array['title']}</h2>
		 			{$array['content']}
		 			<p class=\"date\">{$array['date']}</p>
		 			</section>";
			}					
		}

		public function main_result($connect, $lim) {		// Функция создающая запрос и отображающая записи бд
			$stmt = $connect->prepare("SELECT * FROM blog ORDER BY date DESC LIMIT :lim");
			$stmt->bindParam(':lim', $lim);
			$stmt->execute();
			$this->result($stmt);
		}
	}

	$short = new Short();

	if (isset($_GET['page'])) {
		$page = (int) $_GET['page'];
	//	$page = 1;
		if ($page > 0 && $page <= $pages) {
			// Считаем с какой статьи показывать контент
			$start = $page * $lim - $lim;

				// Подготавливаем запрос и выполняем его
			$sql = "SELECT * FROM blog ORDER BY date DESC LIMIT :start, :lim";
			$stmt = $connect->prepare($sql);
			$stmt->bindParam(':start', $start);	
			$stmt->bindParam(':lim', $lim);
			$stmt->execute();

				// Выводим статьи
			$short->result($stmt);
						
		} else {
			$short->main_result($connect, $lim);
		}
	} else {
		$short->main_result($connect, $lim);
	}
				
		echo '<a href="index.php?page='.($page-1).'">← туда</a>';
		echo '<a href="index.php?page='.($page+1).'"> туда →</a>';
				
?>
  • Вопрос задан
  • 168 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
28 мар. 2024, в 20:46
150000 руб./за проект
28 мар. 2024, в 20:37
50000 руб./за проект
28 мар. 2024, в 20:34
1500 руб./за проект