Я публикую две переменные: «Поиск» и «Город», к URL «is-arama» < /p>
На URL 'is-arama' я выполняю еще одну операцию по сообщению, используя jquery ajax и показываю результаты на экране. Нет ошибок, но когда я публикую оба вместе, они обрабатывают данные так, как если бы я вообще не разместил никаких переменных, перечисляя все данные без фильтрации.$.ajax({
url: 'fetch_arailan.php', // Bu URL'yi ilanlar verisini çekmek için kullanıyorsunuz
type: 'POST', // POST metodunu kullanıyoruz
data: {
page: page,
sehir: '',
arama: '',
meslekler: '',
sehirler: '',
departmanlar: ''
},success: function(response) {}
< /code>
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$limit = 12;
$page = isset($_POST['page']) ? (int)$_POST['page'] : 1;
$start = ($page - 1) * $limit;
$filterQueryIlan = "";
$filterQueryGunlukIlan = "";
$filterParams = [];
if (!empty($_POST['arama']) && !empty($_POST['sehir'])) {
$arama = '%' . $_POST['arama'] . '%';
$sehir = intval($_POST['sehir']);
/*
$filterQueryIlan .= " AND (firma.sirket_adi LIKE :arama OR departman.baslik LIKE :arama OR ilan.id LIKE :arama) AND ilan.sehir = :sehir";
$filterQueryGunlukIlan .= " AND (kullanici.adsoyad LIKE :arama OR kullanici.telefon LIKE :arama OR gunluk_ilan.id LIKE :arama)";*/
$query = $db->prepare("SELECT ilan.id,ilan.sef,firma.profil_fotografi AS firma_fotografi,firma.sirket_adi AS ad_soyad,departman.baslik AS meslek_baslik,zone.name AS sehir_adi, 'ilan' AS source FROM ilan
JOIN firma ON ilan.firma_id = firma.id
JOIN departman ON ilan.departman = departman.id
JOIN zone ON ilan.sehir = zone.id
WHERE ilan.aktif = 1 AND (firma.sirket_adi LIKE :arama OR departman.baslik LIKE :arama OR ilan.id LIKE :arama) AND ilan.sehir = :sehir
UNION ALL
SELECT gunluk_ilan.id,gunluk_ilan.sef,kullanici.profil_fotografi AS firma_fotografi,kullanici.adsoyad AS ad_soyad,gunluk_meslek.baslik AS meslek_baslik,zone.name AS sehir_adi,'gunluk_ilan' AS source FROM gunluk_ilan
JOIN kullanici ON gunluk_ilan.kullanici_id = kullanici.id
JOIN gunluk_meslek ON gunluk_ilan.meslek = gunluk_meslek.id
JOIN zone ON gunluk_ilan.sehir = zone.id
WHERE gunluk_ilan.aktif = 1 AND (kullanici.adsoyad LIKE :arama OR kullanici.telefon LIKE :arama OR gunluk_ilan.id LIKE :arama) AND gunluk_ilan.sehir = :sehir
ORDER BY id DESC
LIMIT :start, :limit");
$filterParams['arama'] = $arama;
$filterParams['sehir'] = $sehir;
} elseif (!empty($_POST['sehir']) && empty($_POST['arama'])) {
$sehir = intval($_POST['sehir']);
$query = $db->prepare("SELECT ilan.id,ilan.sef,firma.profil_fotografi AS firma_fotografi,firma.sirket_adi AS ad_soyad,departman.baslik AS meslek_baslik,zone.name AS sehir_adi, 'ilan' AS source FROM ilan
JOIN firma ON ilan.firma_id = firma.id
JOIN departman ON ilan.departman = departman.id
JOIN zone ON ilan.sehir = zone.id
WHERE ilan.aktif = 1 AND ilan.sehir = :sehir
UNION ALL
SELECT gunluk_ilan.id,gunluk_ilan.sef,kullanici.profil_fotografi AS firma_fotografi,kullanici.adsoyad AS ad_soyad,gunluk_meslek.baslik AS meslek_baslik,zone.name AS sehir_adi,'gunluk_ilan' AS source FROM gunluk_ilan
JOIN kullanici ON gunluk_ilan.kullanici_id = kullanici.id
JOIN gunluk_meslek ON gunluk_ilan.meslek = gunluk_meslek.id
JOIN zone ON gunluk_ilan.sehir = zone.id
WHERE gunluk_ilan.aktif = 1 AND gunluk_ilan.sehir = :sehir
ORDER BY id DESC
LIMIT :start, :limit");
/*
$filterQueryIlan .= " AND ilan.sehir = :sehir";
$filterQueryGunlukIlan .= " AND gunluk_ilan.sehir = :sehir";*/
$filterParams['sehir'] = $sehir;
} else if (empty($_POST['sehir']) && !empty($_POST['arama'])) {
$arama = '%' . $_POST['arama'] . '%';
/*
$filterQueryIlan .= " AND (firma.sirket_adi LIKE :arama OR departman.baslik LIKE :arama OR ilan.id LIKE :arama)";
$filterQueryGunlukIlan .= " AND (kullanici.adsoyad LIKE :arama OR kullanici.telefon LIKE :arama OR gunluk_ilan.id LIKE :arama)";*/
$query = $db->prepare("SELECT ilan.id,ilan.sef,firma.profil_fotografi AS firma_fotografi,firma.sirket_adi AS ad_soyad,departman.baslik AS meslek_baslik,zone.name AS sehir_adi, 'ilan' AS source FROM ilan
JOIN firma ON ilan.firma_id = firma.id
JOIN departman ON ilan.departman = departman.id
JOIN zone ON ilan.sehir = zone.id
WHERE ilan.aktif = 1 AND (firma.sirket_adi LIKE :arama OR departman.baslik LIKE :arama OR ilan.id LIKE :arama)
UNION ALL
SELECT gunluk_ilan.id,gunluk_ilan.sef,kullanici.profil_fotografi AS firma_fotografi,kullanici.adsoyad AS ad_soyad,gunluk_meslek.baslik AS meslek_baslik,zone.name AS sehir_adi,'gunluk_ilan' AS source FROM gunluk_ilan
JOIN kullanici ON gunluk_ilan.kullanici_id = kullanici.id
JOIN gunluk_meslek ON gunluk_ilan.meslek = gunluk_meslek.id
JOIN zone ON gunluk_ilan.sehir = zone.id
WHERE gunluk_ilan.aktif = 1 AND (kullanici.adsoyad LIKE :arama OR kullanici.telefon LIKE :arama OR gunluk_ilan.id LIKE :arama)
ORDER BY id DESC
LIMIT :start, :limit");
$filterParams['arama'] = $arama;
}
/*
$query = $db->prepare("
SELECT ilan.id, ilan.sef, firma.profil_fotografi AS firma_fotografi, firma.sirket_adi AS ad_soyad, departman.baslik AS meslek_baslik, zone.name AS sehir_adi, 'ilan' AS source
FROM ilan
JOIN firma ON ilan.firma_id = firma.id
JOIN departman ON ilan.departman = departman.id
JOIN zone ON ilan.sehir = zone.id
WHERE ilan.aktif = 1 $filterQueryIlan
UNION ALL
SELECT gunluk_ilan.id, gunluk_ilan.sef, kullanici.profil_fotografi AS firma_fotografi, kullanici.adsoyad AS ad_soyad, gunluk_meslek.baslik AS meslek_baslik, zone.name AS sehir_adi, 'gunluk_ilan' AS source
FROM gunluk_ilan
JOIN kullanici ON gunluk_ilan.kullanici_id = kullanici.id
JOIN gunluk_meslek ON gunluk_ilan.meslek = gunluk_meslek.id
JOIN zone ON gunluk_ilan.sehir = zone.id
WHERE gunluk_ilan.aktif = 1 $filterQueryGunlukIlan
ORDER BY id DESC
LIMIT :start, :limit
");
*/
/*
$query = $db->prepare("
SELECT ilan.id, ilan.sef, firma.profil_fotografi AS firma_fotografi, firma.sirket_adi AS ad_soyad, departman.baslik AS meslek_baslik, zone.name AS sehir_adi, 'ilan' AS source
FROM ilan
JOIN firma ON ilan.firma_id = firma.id
JOIN departman ON ilan.departman = departman.id
JOIN zone ON ilan.sehir = zone.id
WHERE ilan.aktif = 1 $filterQueryIlan
ORDER BY id DESC
LIMIT :start, :limit
");
*/
$query->bindValue(':start', $start, PDO::PARAM_INT);
$query->bindValue(':limit', $limit, PDO::PARAM_INT);
foreach ($filterParams as $param => $value) {
$query->bindValue(':' . $param, $value);
}
$query->execute();
Подробнее здесь: https://stackoverflow.com/questions/797 ... but-when-i
Когда я публикую две переменные «Арама» и «Сехир», фильтрация работает, но когда я публикую две переменные, фильтрация н ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение