PHP de konumu çektirirken kategorisinin yanlış gelme sıkıntısı
Bir sorguda takıldım.
Amacım o verinin bilgisini ve o verinin kategorisine ait tüm bilgileri tek bir sorguda almak.
Kullanılabilir bir kodum var ama işlev hatalı. Hata, aynı konuyu Bir sorguda takıldım.
Amacım o verinin bilgisini ve o verinin kategorisine ait tüm bilgileri tek bir sorguda almak.
Kullanılabilir bir kodum var ama işlev hatalı. Hata kaç tane kategori varsa o kadar kategori sayısınca aynı veriyi
döndürmek
Benim hatam: https://prnt.sc/OzPLaGHFMGP5
Verilerimi sakladığım tablom: https://prnt.sc/PEqSq2mM5NKM
Kategorilerimi tuttuğum tablom: https://prnt.sc/WK7n8kAGoUWD
verilerimi çekmek için kodum: İşte verilerimi sayfaya çekmek için kodum:
if (!isset($_GET['url']) || boş($_GET['url'])){
başlık('Konum:404.php');
}
$datas = $db->prepare('SELECT * FROM post WHERE url = ?');
$datas->execute([
$_GET['url']
]);
$veri = $veri->getir(PDO::FETCH_ASSOC);
if (!$veri){
başlık('Konum:404.php');
çıkış;
}
veri kategorisini çektiğim kodum:
<?php $categories = $db->query('Kategorileri SEÇ.*, COUNT(posts.id) as totalCategory FROM kategorileri
LEFT JOIN gönderileri ON FIND_IN_SET(categories.id, posts.category_id)
GROUP BY Category.id DESC')->fetchAll(PDO::FETCH_ASSOC); ?>
<?php foreach ($kategori olarak $kategori): ?>
<div class="konteyner mt-4">
<div class="row">
<div class="col-md-12">
<div class="kart mb-3">
<div class="kart başlığı">
<i class="bi-folder"></i> Kategori: <a href="<?= 'category/' .seo($data['url']) ?>"><?=$category[ ' kategori_adı']?></a>
<a class="Date"><?=$data['date']?> <i class="bi-clock"></i></a>
</div>
<div class="kart gövdesi">
<?=htmlspecialchars_decode($veri['içerik'])?>
</div>
</div>
</div>
</div>
<?php endforeach; ?>
Peki sorgumda yanlış olan ne, ne önerirsiniz?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (2)
Merhabalar abi. Çok teşekkür ederim uğraştığın için. Overstackflow'da açtığım tagda halletiler olayı
https://stackoverflow.com/questions/72408832/trouble-getting-a-category-when-including-a-topic-in-a-page-in-php/72410649#72410649
Buyur arkadaşım kod yazdım işini görür
iki farklı tablodaki tüm sutunları pdo ile birleştirip verileri yazdırabilirsin php 8 destekler
Sql Tablo
CREATE TABLE `kategori` (
`kategori_id` int UNSIGNED NOT NULL,
`kategori_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`kategori_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
INSERT INTO `kategori` (`kategori_id`, `kategori_title`, `kategori_url`) VALUES
(1, 'Eğitim', 'egitim');
CREATE TABLE `post` (
`post_id` int UNSIGNED NOT NULL,
`post_title` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`post_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`post_kategori` int NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
INSERT INTO `post` (`post_id`, `post_title`, `post_url`, `post_kategori`) VALUES
(1, 'Pdo eğitimi', 'pdo-egitimi', 1);
ALTER TABLE `kategori`
ADD PRIMARY KEY (`kategori_id`);
ALTER TABLE `post`
ADD PRIMARY KEY (`post_id`);
ALTER TABLE `kategori`
MODIFY `kategori_id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
ALTER TABLE `post`
MODIFY `post_id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
Php Pdo iki Farklı Tablodan Sutun verilerini listemele
$stmt = $pdo->query("SELECT * FROM post INNER JOIN kategori ON post.post_id = kategori.kategori_id LIMIT 0,1");
while ($row = $stmt->fetch()) {
$row["post_title"]
$row["post_kategori"];
$row["kategori_title"];
$row["kategori_url"];