Здравствуйте! Я мало что понимаю в mySQL, но так вышло, что я с ним связался...)) У меня есть фильтр, написанный с помощью JS, мне необходимо с его помощью доставать из бд нужные записи(выбираем первый option из id flat, за тем выбираем второй option из id metro и получаем нужные статьи.) У меня получилось вытаскивать статьи из бд и option`ы тоже. Теперь встал вопрос как объединить option из id flat и id metro , чтобы получить нужные записи? пытался через JOIN и AND, но видимо я ошибся. Вот сам фильтр:
<select id="flat">
<?php $filterflat = get_filterflat(); ?>
<?php foreach ($filterflat as $post): ?>
<option value="<?=$post["rooms"]?>"><?=$post["rooms"]?></option>
<?php endforeach; ?>
</select>
<select id="metro">
<?php $filtermetro = get_filtermetro(); ?>
<?php foreach ($filtermetro as $post): ?>
<option value="<?=$post["station"]?>"><?=$post["station"]?></option>
<?php endforeach; ?>
</select>
<?php $posts = get_posts(); ?>
<?php foreach ($posts as $post): ?>
<div id="items">
<div class="item" data-color="<?=$post["rooms"]?>" data-shape="<?=$post["station"]?>">
<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["text"]?></p>
</div>
</div>
</div>
<?php endforeach; ?>
Вот Function.php
function get_posts() {
global $connection;
$sql = " SELECT * FROM orders_posts ORDER BY rand()";
$result = mysqli_query($connection, $sql);
$posts = mysqli_fetch_all($result, MYSQLI_ASSOC);
return $posts;
}
function get_filterflat() {
global $connection;
$sql = "SELECT * FROM filterflat";
$result = mysqli_query($connection, $sql);
$filterflat = mysqli_fetch_all($result, MYSQLI_ASSOC);
return $filterflat;
}
function get_filtermetro() {
global $connection;
$sql = "SELECT * FROM filtermetro";
$result = mysqli_query($connection, $sql);
$filtermetro = mysqli_fetch_all($result, MYSQLI_ASSOC);
return $filtermetro;
}
function get_allFilters() {
global $connection;
// $sql = "SELECT filterflat.id, filtermetro.stationid, orders_posts.id FROM filterflatINNER JOIN filtermetro ON filterflat.id=filtermetro.stationid";
$sql = "SELECT * FROM filterflat WHERE rooms AND filtermetro WHERE station AND orders_posts WHERE text";
$result = mysqli_query($connection, $sql);
$allfilters = mysqli_fetch_all($result, MYSQLI_ASSOC);
return $allfilters;
}
filterflat - таблица , в которой содержится столбцы id , rooms; filtermetro - таблица , в которой содержится столбцы stationid , station; orders_posts - таблица , в которой содержится столбцы id, titlemetro, titleflat, price, text, date; Первый критерий станции метро. К примеру (БУЛЬВАР РОКОССОВСКОГО или ПРЕОБРАЖЕНСКАЯ ПЛОЩАДЬ) Второй критерий кол.комнат в квартире. К примеру (1-к квартира или 2-к квартира.)
скрипт фильтра
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);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть общий 'login-layout' компонент который роутит другие компоненты :
Подскажите пожалуйста, как можно сделать плавную смену картинки через JsЕсть массив с ссылками на картинки, я его перебираю и каждые несколько...
Как мне, зная ссылку на файл, (например, http://host/filepath/filenamepng) загрузить его в input[file] для отправки на сервер?
Делаю корзину онлайн магазинаВ правом верхнем углу у меня корзина, куда заносятся купленные товары