Это index.php тут, структура фильтра и его скрипт.
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- require_once 'connect.php';
- require_once 'function.php';
- ?>
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <select id="flat">
- <option value="">Все</option>
- <?PHP $filterflat = get_filterflat(); ?>
- <?PHP foreach ($filterflat as $post): ?>
- <option value="<?=$post["id"]?>"><?=$post["rooms"]?></option>
- <?PHP endforeach; ?>
- </select>
- <select id="metro">
- <option value="">Все</option>
- <?PHP $filtermetro = get_filtermetro(); ?>
- <?PHP foreach ($filtermetro as $post): ?>
- <option value="<?=$post["id"]?>"><?=$post["name"]?></option>
- <?PHP endforeach; ?>
- </select>
- <?PHP $posts = get_posts(); ?>
- <?PHP foreach ($posts as $post): ?>
- <div id="items">
- <div class="item" data-color="<?=$post["flatid"]?>" data-shape="<?=$post["metroid"]?>">
- <div class="infoFlat">
- <h3><?=$post["titleflat"]?></h3>
- <h3><?=$post["titlemetro"]?></h3>
- <h3><?=$post["price"]?></h3>
- <p class="b1"><?=$post["date"]?></p>
- </div>
- <div class="itemText">
- <p><?=$post["texts"]?></p>
- </div>
- </div>
- </div>
- <?PHP endforeach; ?>
- <script>
- var flat = document.getElementById('flat');
- var metro = document.getElementById('metro');
- var items_el = document.getElementById('items');
- var filter = function() {
- var items = items_el.getElementsByClassName('item');
- for (var i = 0; i < items.length; i++) {
- if ((flat.value == 'all' || flat.value == items[i].dataset.color) &&
- (metro.value == 'all' || metro.value == items[i].dataset.shape)) {
- items[i].style.display = 'block';
- } else {
- items[i].style.display = 'none';
- }
- }
- };
- flat.addEventListener("change", filter);
- metro.addEventListener("change", filter);
- </script>
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
- </body>
- </html>