PHP ile içerik listeletmek
9
●175
- 18-03-2019, 12:28:33Öncelikle tablonu şu şekilde düşünelim.fatihsyn adlı üyeden alıntı: mesajı görüntüle
yazi_id
yazi_baslik
yazi_sef_baslik
Örnek bir konu girilmesi gerekirse.
id = 1
Başlık = Php Dersleri
Sef başlık = php-dersleri
$baslik = $_GET['sef_baslik']; $sorgu = $db->prepare("SELECT * FROM yazilar WHERE yazi_sef_baslik=:baslik"); $sorgu->execute(array(':baslik' => $baslik)); if($sorgu->rowCount()){ $row = $sorgu->fetch(PDO::FETCH_ASSOC); echo $row["yazi_baslik"]. " Yazısına hoşgeldiniz"; }else{ echo "Böyle bir konu yok"; }Şeklinde gösterebilirsiniz.
ÖNERİ : Bir yazıyı sadece sef linke göre kontrol ettirip çekmeyin bence. Hem seflink hem de id kontrol edilerek çekmeniz daha sağlıklı olacaktır. Böylelikle aynı konudan 2 tane açsanız bile çakışma yaşanmayacak aynı zamanda daha sağlıklı bir yapıya sahip olacaksınız. Bu söylediğim nota örnek vermek gerekirse.
//link yapısı konudetay.php?sef_baslik=php-dersleri&id=1 $id = $_GET["yazi_id"]; $baslik = $_GET['sef_baslik']; if(!$id || !$baslik){ //eğer get ile id veya başlık adında değer gelmediyse 404.php ye yönlendir.. }else{ $sorgu = $db->prepare("SELECT * FROM yazilar WHERE yazi_sef_baslik=:baslik AND yazi_id =:id"); $sorgu->execute(array(':baslik' => $baslik, ':id' => $id)); if($sorgu->rowCount()){ $row = $sorgu->fetch(PDO::FETCH_ASSOC); echo $row["yazi_baslik"]. " Yazısına hoşgeldiniz"; }else{ echo "Böyle bir konu yok"; } } - 18-03-2019, 12:28:55Get veya post tanımlaması yap.
Page.php?id=ICERIKID gibi.
Daha sonra içerik IDsi ile veritabanından çekim yapabilirsin. - 18-03-2019, 12:38:03cesalp adlı üyeden alıntı: mesajı görüntüle
Belirtilen bir ürünün sef linkine ait ya da id sine ait olan ürünün detaylarını yazdırabilceği alanı yapmak istemiş. Ondan dolayı veritabanı sorgusu olmak zorundadır
- 18-03-2019, 12:42:54verdiğiniz kodu page.php sayfasına ekledim, fakat konu yok uyarısı almaktayım,yavuzselim57 adlı üyeden alıntı: mesajı görüntüle
<?php include 'database.php'; $baslik = $_GET['baslik']; $sorgu = $db->prepare("SELECT * FROM blog WHERE sefurl"); $sorgu->execute(array(':baslik' => $baslik)); if($sorgu->rowCount()){ $row = $sorgu->fetch(PDO::FETCH_ASSOC); echo $row["baslik"]. " Yazısına hoşgeldiniz"; } else{ echo "Böyle bir konu yok"; } ?> - 18-03-2019, 12:44:17sorgunuzda hata var.fatihsyn adlı üyeden alıntı: mesajı görüntüle
$sorgu = $db->prepare("SELECT * FROM blog WHERE sefurl=:baslik"); //burayı eklememişsiinz.
$sorgu->execute(array(':baslik' => $baslik));
Ek olarak sefurl veritabanınızda yazılar tablonuzda gerçekten var mı böyle bir sütun ? ve konularınızın başlıklarını sef olarak kaydedebilceğiniz bir fonksiyonunuz var mıdır ? - 18-03-2019, 12:47:17Evet o şekilde bir alan mevcut, php kod içerisinden verileri oraya şuanda manuel ekleme yapıyorum ileride baslik dönüştürüp ekleteceğim.yavuzselim57 adlı üyeden alıntı: mesajı görüntüle
- 18-03-2019, 12:49:10tamamdır o halde yazdığım şekile çevirirseniz probleminiz çözülecektir. Ve tabiki konu içeriğine gönderdiğiniz linkide düzenlemeniz gerekir.fatihsyn adlı üyeden alıntı: mesajı görüntüle
Team viewer ile bağlantı sağlayabiliriz ya da kodlarınızı info@yavuz-selim.com adresime gönderebilirsiniz. Kontrol edip tekrar geri gönderirim.