Всем привет. Я начинающий разработчик. По мере увеличения сложности и объемности практики, возникает вопрос, как правильно подключать все элементы проекта? У меня возникает путаница постоянно. Вот пример сегодняшнего проекта (проект объявления), да простит меня авито, я просто тренируюсь и не более)). Суть дела, вот мой индексный файл:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900,900i" rel="stylesheet">
<link rel="stylesheet" href="css/style.css?v=3">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<title>Avito</title>
</head>
<body>
<header>
<?php include 'pages/header.php'; ?>
</header>
<div class="top_content">
<?php
if (isset($_GET['add'])) {
include 'pages/add_ad.php';
} else {
include 'pages/top_content.php';
}
?>
</div>
<footer>
</footer>
</body>
</html>
Вот файл top_content
<?php
include './connectdb.php';
if ($_POST['city'][0] >= '1') {
$city = $_POST['city'][0];
$query = "SELECT * FROM transport LEFT JOIN cities ON transport.city = cities.id WHERE cities.id = $city";
}
else {
$query = "SELECT * FROM transport LEFT JOIN cities ON transport.city = cities.id";
}
$result = mysqli_query($link, $query);
for ($data = []; $row = mysqli_fetch_assoc($result); $data[] = $row);
$content = '';
foreach ($data as $elem) {
$content .= "<div class=\"top_content_block\">";
$content .= "<div class=\"top_content_block_img\">
<img src=\".$elem[link_img]\" alt=\"\">
</div>";
$content .= "<div class=\"top_content_block_info\">";
$content .= "<a href=\"\"><h3 class=\"top_content_block_info_link\">$elem[make] $elem[model], $elem[year]</h3></a>";
$content .= "<div class=\"top_content_block_info_price\">
<span class=\"top_content_block_info_price_span\">$elem[price] р.</span>
</div>";
$content .= "<span class=\"top_content_block_info_drive\">$elem[drive]</span>";
$content .= "<span class=\"top_content_block_info_city\">$elem[city]</span>";
$content .= "</div>";
$content .= "</div>";
}
echo $content;
?>
А вот файл с добавлением нового объявления add_ad.
<?php
include './connectdb.php';
?>
<div class="new_add">
<form action="" method="POST">
<h2 class="new_ad_header">Создание нового объявления</h2>
<h4>Выберете категорию</h4>
<div class="new_ad_transport_wrap">
<select class="new_ad_transport" name="add_category[]">
<option value="0">Весь транспорт</option>
<?php
$query = "SELECT * FROM categories";
$result = mysqli_query($link, $query);
for ($data = []; $row = mysqli_fetch_assoc($result); $data[] = $row);
$contentCategory = '';
foreach ($data as $elem) {
$contentCategory .= "<option value=\"$elem[id]\" class=\"\">$elem[name]</option>";
}
echo $contentCategory;
?>
</select>
</div>
<h4>Выберете город</h4>
<div class="new_ad_city_wrap">
<select class="new_ad_city" name="add_city[]">
<option value="0">Любой город</option>
<?php
$query = "SELECT * FROM cities";
$result = mysqli_query($link, $query);
for ($data = []; $row = mysqli_fetch_assoc($result); $data[] = $row);
$contentCity = '';
foreach ($data as $elem) {
if ($elem['id'] == $_POST['city'][0]) {
$selected = 'selected';
} else {
$selected = '';
}
$contentCity .= "<option $selected value=\"$elem[id]\">$elem[city]</option>";
}
echo $contentCity;
?>
</select>
</div>
<input class="new_ad_submit" type="submit">
</form>
</div>
И на этом у меня ступор. Я не знаю как правильно организовать подключение файлов и элементов. Просто не понимаю этого. Фреймворки и ООП я еще не изучал. Объясните пожалуйста, кому не сложно, как это все нужно делать грамотно? С хедером и футером все ясно, подключил и забыл. Но как выводить топ контент я не понимаю просто. Не создавать же для каждого элемента проекта новую страницу с футером и хедером. Это глупо же наверное. Объясните пожалуйста.