VeraCrypt uygulamasını önermiştim.
konuda denediğinizi yazmışsınız pardon dikkatimden kaçmış.
COUNT(posts.id)
yapma inner joinle tabloları bağla
sonra kategori id ni get ile aldığından where kısmında kategori id lerini
$kat_id= $datas[0]["id"]
buna bağlı eşitle. böylece iki tablodan sadece post ta tuttugun kategori no ile get ile gelen kategorisi eşit olanları eşleyip sadece onu çekersin.
umarım kısıtlı bilgimle yardımcı olabilmişimdir.
$categories = $db->query('SELECT posts INNER JOIN categories
WHERE categories.id = $kat_id)
ORDER BY posts.id DESC')->fetchAll(PDO::FETCH_ASSOC);
şu şekilde html kodu araya alabilirsin.
<?php
foreach ($sorgu as $deg) { ?>
<div class="kutu">
<div class="icerik">
<a href="#"> <img src="<?=$deg['kapakresmi'];?>" alt="">
<p><?=$deg["konu"];?></p>
</a>
</div>
</div>
<?php }; ?>
select kodunun ordan name="category_id[]"
den köşeli parantezi sil.
name="category_id"
yap. ordaki köşeli parantez çoklu seçim için (dizi yapmak için) lazımdı.
birde daha önce dediğim gibi yap yine çünkü çoklu seçime ihtiyacın yokmuş onun için implode ye de gerek yok;
$category_id = isset($_POST['category_id']) ? $_POST['category_id'] : null;
$str = str_ireplace (' ', '', $str);
sen kategori seçimini tekil mi yoksa multiple (çoklu seçimli) mi yaptırıyorsun onu anlamadım?
sanırım tek kategori seçsende yinede tüm kategorileri dahil edip çoklu ekliyor, doğru mu?
<select>
kodlarının olduğu kısmı name=""
alanını da paylaşır mısın?
konunu da düzenler misin? koddan önceki açıklamanı üçlü tırnağın üstüne al bir satır boşluk at. üç tırnaktan sonra php yaz alt satıra kodunu al.
daha okunaklı durur.
select count(*) from drinks as Ticecekler, select count(*) from salads as Tsalatalar
şöyle dener misin?
Sen burda implode ile kategori id'lerini birleştiriyorsun
$category_id = isset($_POST['category_id']) && is_array($_POST['category_id']) ? implode(',', $_POST['category_id']) : null;
implode' yi kaldırıp dene.
$category_id = isset($_POST['category_id']) ? $_POST['category_id'] : null;
@ynscnr55,
şu yazımın yanlış:
<?=(isset($pageTitle) ? $pageTitle : '<?php echo $ayarcek["ayar_title"];?>')?>
php kodunu başlatmışken (if-else nin kısa yazımını) else kısmında tek tırnaklı tekrar php eco yazılmaz ondan diğer sayfalarda başlığın kod olarak görünüyor.
şöyle dene:
<?= isset($pageTitle) ? $pageTitle : $ayarcek["ayar_title"];?>
Daha önce senin soruna benzer bir şeyi bende sormuştum. Ama bilgimin eksikliğinden tamamlayamadım.
Başlığı takipteyim, bende nasıl olacağını öğrenmek isterim.