Deutsch

Недвижимость 02.05.2024

02.05.24 12:34
Недвижимость 02.05.2024
 
uscheswoi_82 коренной житель
uscheswoi_82
Последний раз изменено 02.05.24 16:06 (uscheswoi_82)

Всем привет!

Примерно с 2008 года моя мечта была сделать веб портал по недвижимости. Раньше я делал этот портал на ASP NET 2.0, а потом на ASP NET 3.5. Я попытаюсь сделать веб портал по недвижимости на PHP7. Короче погнали!

В ASP NET уже есть готовые компоненты. Начнём с пагинатора. У меня был уже некий опыт, я в начале 2000х гг. помогал сестре создать один проект в Казахстане. Мне сестра в Алматы подарила книгу по PHP, и я занимался пагинатором. Чтобы получить количество страниц, нужно количество записей в БД разделить на количество записей в странице + остаток. Так-же я буду в именах переменных использовать венгерскую нотацию см. https://ru.wikipedia.org/wiki/Венг�%..., где $str_ - для строк, $int_ - для чисел, $arr_ - для массивов, $obj_ - для объектов (ООП). В 2000х гг. я делал так:

$int_pages = $int_records_count / $int_records_per_page; // Получаем количество страниц
// Если в количестве записей поделёно на количество записей на странице есть остаток то + 1 страница
if($int_records_count % $int_records_per_page > 0) $int_pages++;


Давайте именно так и сделаем:

// Функция генерирует пагинатор, и отображает в браузере
// $str_url - указывается url или имя файла
// int_records_count - количество найденых записей из БД
// $int_records_per_page - количество записей на одной странице
// $int_sel - какая страница выделина
function paginator_show($str_url, $int_records_count, $int_records_per_page, $int_sel) {
  $int_pages = $int_records_count / $int_records_per_page; // Получаем количество страниц
  // Если в количестве записей поделёно на количество записей на странице есть остаток то + 1 страница
  if($int_records_count % $int_records_per_page > 0) $int_pages++;  

  // Рисуем количество страниц
  for($int_i=1; $int_i<$int_pages; $int_i++) {
   // Если текущая выделеная страница
   if($int_i == $int_sel)
     echo '<b>[ ' . $int_i . ' ]</b> '; // То рисуем скобки [ ]
   else 
     echo '<a href=' . $str_url . '?page=' . $int_i . '>' . $int_i . '</a> '; // Иначе добавляем страницу
  }
}


Для тестирования:

if(isset($_GET['page']))
  $int_select_page = $_GET['page'];
else 
  $int_select_page = 1;


paginator_show('paginator.php', 100, 10, $int_select_page);


Результат работы нашего кода:



Если я кому-то отвечаю, это не значит что я ему симпатизирую, каждый остаётся при своём мнение Дневник тяжелобольного инвалида
 

Перейти на