Rehberim

PHP ile Kategorileme

WEBMASTER bölümü PHP / PHP ile Kategorileme konusu gösteriliyor Özet:Kategorileme benim en sevdiğim PHP konusudur. Niye bu kadar sevdiğimi bilmiyorum ama en çok kategori/ürün şeklindeki sayfaları yazarken haz alıyorum. ...


Go Back   Rehberim > WEBMASTER REHBERİM > WEBMASTER > PHP

PHP ile Kategorileme

Açılış Sayfam Yap Reklam Kayıt ol Konuları Okundu Kabul Et

  Sponsorlu Bağlantılar

Cevapla

Seo Seçenekler Stil
  #1  
Okunmamış 11-09-2008, 08:12 PM
sametweb
Standart PHP ile Kategorileme

Kategorileme benim en sevdiğim PHP konusudur. Niye bu kadar sevdiğimi bilmiyorum ama en çok kategori/ürün şeklindeki sayfaları yazarken haz alıyorum. Herneyse sizlere bu sistemin nasıl işlediğini anlatayım, sonrası size kalmış.

Öncelikle 2 adet tabloya ihtiyacımız var. Bir tanesinde ürünlerimizi tutacağız, diğerinde ise kategorilerimizi. İsimleri de urunler ve kategoriler oslun. kategoriler tablomuzun kat_id ve baslik isimli 2 adet alanı mevcut. urunler tablomuzun ise urunid, kat_id, baslik ve aciklama olarak 4 adet alanı var. Ben ne olur ne olmaz diye size bu tabloların MySQL dökümünü de vereyim, bir sorunla karşılaşmazsınız.

PHP- Kodu:
CREATE TABLE `kategoriler` ( `kat_idint(11NOT NULL auto_increment, `baslikvarchar(255NOT NULLPRIMARY KEY (`kat_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=

CREATE TABLE `urunler` ( `urunidint(11NOT NULL auto_increment, `kat_idint(255NOT NULL, `baslikvarchar(255NOT NULL, `aciklamalongtext NOT NULLPRIMARY KEY (`urunid`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=
Şimdi işin MySQL kısmını hallettiğimizi düşünerek PHP kısmına geçiyorum.

Öncelikle veritabanı bağlantımızı yaptığımızı varsayalım. Böyle bir varsayımda bulunuyorum, çünkü eğer bu dersi okuyorsanız, veritabanı bağlantı işlemlerini yapmayı çoktan halletmiş olmalısınız.

Öncelikle kategori.php isimli bir dosyamız olsun. İçeriğini oluşturmayı öncelikle kendiniz denemelisiniz. Ama uğraşmanıza rağmen oluşturmakta zorluk çekerseniz, şimdi anlatacağım kısmı incelemenizde fayda var.

Öncelikle kategori.php sayfamızda kategorilerimizi listelememiz gerekiyor. Bunun için gerekli MySQL sorgumuz aşağıdadır;
PHP- Kodu:
$sorgu "SELECT * FROM `kategoriler`"
Eğer son eklenen kategorinin üstte çıkmasını istiyorsanız;
PHP- Kodu:
$sorgu "SELECT * FROM `kategoriler` ORDER BY `urunid` DESC"
İlk eklenen kategorinin üstte çıkmasını istiyorsanız;
PHP- Kodu:
$sorgu "SELECT * FROM `kategoriler` ORDER BY `urunid` ASC"
Şu anda sadece $sorgu değişkenine, veritabanından kategorilerimizi çekmemize yarayacak olan SQL sorgusunu atamış olduk. Bunu bir de PHP'ye okutmamız gerekecek. Bunun içinse mysql_query(); değişkenimizi kullanacağız;
PHP- Kodu:
mysql_query($sorgu); 
Bu sorgumuzu bir değişkene atayacağız ki biraz sonraki değişkenimizin içerisinde kullanabilelim. Hemen $sonuc değişkenimize atıyoruz bu fonksiyonu;
PHP- Kodu:
$sonuc mysql_query($sorgu); 
Şimdi PHP ile sorguyu gerçekleştirdiğimize göre, bu verileri sayfaya dökmenin zamanı geldi. Veritabanından birden fazla veriyi çekip listeleyeceğimiz zaman while() döngüsünü kullanmamız gerekiyor. İçerisinde ise MySQL verilerini çekmemize yarayan mysql_fetch_array() ya da mysql_fetch_assoc() fonksiyonunu kullanacağız. Bunların arasında ne fark var bilmiyorum. Ama ikisi de işimi görüyor. Farkını biliyorsanız yorum olarak eklerseniz sevinirim, ben de öğrenmiş olurum. Gelelim while() ile kategorilerimizi listelemeye. Kodlarımız şöyle olacak;
PHP- Kodu:
while ( $goster mysql_fetch_array $sonuc ) ) {

echo 
"<li><a href='kategori.php?kat_id=".$goster[kat_id]."'>".$goster[baslik]."</a></li>";


Bu kodlarımızın sonucu, aşağıdaki gibi bir liste çıkaracak bize. ( Veritabanında kayıtlı kategoriler ve ürünler olduğunu varsayıyorum. )



Şimdi kategorilerimizi listeledik. Linklerini de kategori.php?kat_id=x şeklinde verdik. Şimdi kategoriye tıkladığımızda o kategoriye ait ürünlerin listelenmesi yapılacak. Şu kodlar bize ?kat_id=x şeklinde linklerde veri listelemesi yapmaya yarar;

PHP- Kodu:
if ( isset ( $_GET['kat_id'] ) ) { // Eğer dosya üzerinde ?kat_id=x gibi bir değer varsa, bu fonksiyonları uygular.

$kat_id $_GET['kat_id']; // link üzerinden gelen kat_id değişkenini $kat_id değişkenine atıyor.

$urunsorgu "SELECT * FROM `urun` WHERE `kat_id` = '".$kat_id."'";

$urunsonuc mysql_query($urunsorgu);

while ( 
$urungoster mysql_fetch_array$urunsonuc ) ) {

echo 
"<li><a href='urun.php?urunid=".$urungoster[urunid]."'>".$urungoster[baslik]."</a></li>";

}


Şu anda bu kodları yazıp çalıştırdığınızda görmek istemeyeceğiniz bir görüntü oluşacak.



Tamam, Forum Siteleri kategorisine tıkladığımızda o kategoriye ait konular listelendi ama, biz bu sayfaya geldikten sonra kategorilerimizi artık ürün listemizde görmek istemiyoruz. Ama onlar görünmekte ısrar ediyorlar. Merak etmeyin, ben onları ikna etmenin yolunu biliyorum. Hatırlarsanız, kategori listelerken yazdıklarımızı herhangi bir koşula bağlamamıştık. Ama onların ürün listesinde görünmemesini sağlamak için bir koşula bağlamamız gerekiyor. Şimdi o kodlara dönelim ve onları bir koşula bağlayalım.
PHP- Kodu:
if ( empty ( $_GET[kat_id]) ) { // kat_id değişkeni boş ise bu kodları çalıştır.
$sorgu "SELECT * FROM `kategoriler`";
$sonuc mysql_query($sorgu);
while ( 
$goster mysql_fetch_array $sonuc ) ) {
echo 
"<li><a href='kategori.php?kat_id=".$goster[kat_id]."'>".$goster[baslik]."</a></li>";
}

İşte şimdi oldu. Kategori listelememizi sağlayan kodlarımız artık bir koşulla çalışıyorlar. Eğer link üzerinde bir kat_id değeri yoksa kategoriler listelenecek. Bir kat_id değeri varsa, o kategori numarasına ait ürünler listelenecek. İşte size bir öngörüntü;


Şimdi kategorilerin içerisindeki ürünleri listeleme olayını bırakıp, ürün içeriğini gösterme olayına gelelim. urun.php isimli bir dosyamız olsun. Yine veritabanı bağlantılarınızı yapın ve biz kodlarımıza geçelim. Linke tıkladığımızda urun.php?urunid=x gibi bir sayfaya gelecek. Burada urun.php sayfası direk olarak çalıştığında bir ürün görünmeyeceğinden dolayı bunu bir koşul ile ekrana yazdırmak lazım. Öyle boş beyaz sayfanın çıkması hiç hoş olmaz. urun.php sayfamıza başlıyoruz bu koşul ile;
PHP- Kodu:
if ( empty ( $_GET[urunid] ) ) {

echo 
"Bir ürün ismine tıklayarak bu sayfaya gelmelisiniz.<br>
Tek başına bu sayfa kullanılamaz."
;


Çıktısı ise şöyle olacaktır muhtemelen


Şimdi bu kısmı tamamladıysak, ürünün içeriğini gösterme kısmına geçmenin vakti geldi demektir. Öncelikle urun.php?urunid=x adresinden x numaralı id numarasını alarak işlem yapmamız gerekecek. Ben başlıyorum yazmaya. Kategori listelemede dediğim gibi önce kendiniz bi yapmaya çalışın, olmazsa buradaki anlatıma gözatarsınız.
PHP- Kodu:
if ( isset ( $_GET[urunid] ) ) {

$urunid $_GET[urunid];

$sorgu "SELECT * FROM `urunler` WHERE `urunid` = '".$urunid."'";
$sonuc mysql_query($sorgu);
$goster mysql_fetch_array($sonuc);

echo 
"<h1>".$goster[baslik]."</h1>";
echo 
"<p>".$goster[aciklama]."</p>";


Bu kodlar, ürüne göre verilerinizi çekecek olan kodlar. Çalıştığına inandırma gereği hissettiğimden sizlere tekrar bir öngörüntü ekliyorum.


İşte arkadaşlar, bu anlatım sayesinde kendiniz de biraz geliştirererk çok fonksiyonel ürün katologları gibi sistemler yazıp kullanabilirsiniz. Orjinal dosyaların linki de aşağıdadır. İsteyenler indirip, bir program aracılığı ile de inceleyebilir.

Hepinize kolay gelsin.

Orjinal Dosyalar: [Linkler için 10 saniyede ücretsiz üyelik... ]

Anlatım: Samet Mütevellioğlu
Sponsorlu Bağlantılar
Alıntı ile Cevapla
  #2  
Okunmamış 14-11-2008, 12:39 PM
relfcik
Standart Cevap: PHP ile Kategorileme

Gerçektende güzel olmuş.. Peki biz nasıl buna yeni kategori ekleme silme işlemleri uygulayabiliriz?
Alıntı ile Cevapla
  #3  
Okunmamış 10-05-2009, 05:15 PM
AgResiFe
Standart Cevap: PHP ile Kategorileme

kendisi yazmadıgı içi cvp yok
Alıntı ile Cevapla
  #4  
Okunmamış 10-05-2009, 08:59 PM
Raskolnikov
Standart Cevap: PHP ile Kategorileme

sorunuz varsa sorunuz, yardımcı olalım
Alıntı ile Cevapla
  #5  
Okunmamış 15-08-2009, 09:35 AM
anadoluphp
Standart Cevap: PHP ile Kategorileme

Selam,
Usta Anlatım güzel Beyninize sağlık,
Merak konusu şu üsteki akradaşın sorduğu gibi,
Yeni kategori Ekleme,Silme,Düzenleme
Alt koategori Ekleme, Silme, Düzenleme,
Alt kategoriye Makale ekleme, Düzenleme Silme
İşlemlerini de anatırmısınız..
ßir çeşit yönetim paneli
Varsayılan bir yönetim paneline nasıl eklenebilir?
Teşekkürler.

Konu anadoluphp tarafından (15-08-2009 Saat 09:38 AM ) değiştirilmiştir.
Alıntı ile Cevapla
  #6  
Okunmamış 15-08-2009, 11:15 AM
Raskolnikov
Standart Cevap: PHP ile Kategorileme

Öyle anlatım örnek dosya ile olur, dosyanızdaki kategori alanını veya yapmak istediğiniz kategori sistemini yazın kodları ekleyelim.

Kategori olayında yukardaki sorunuza basit bi örnek vermek gerekirse ;

Tablomuz KATEGORİLER, (kategoriid, kategoriadi) şeklinde olduğunu varsayıyorum.

INSERT komutu ile yeni bir kategori ekleyebilirsiniz

Alıntı:
mysql_query("insert into KATEGORİLER (kategoriid, kategoriadi) values ('', '$kategoriadi)") or die(mysql_error());
Burda $kategoriadi değerini bir formdan yollamalısınız

Cümle açıklaması :
Ekle kategoriler tablosuna, kategoriid oto bir sayıdır, 5 tane varsa bu 6. cı olsun ve kategori adıda ... olsun.

****

Düzenleme
işleminde ise UPDATE komutunu kullanacaksınız

Alıntı:
update KATEGORİLER set kategoriadi='$kategoriadi' where kategorid='$kategoriid'"
Cümle Açıklaması : Güncelle kategoriler tablosunu, ayarla kategoriid si benim formdan gönderdiğim kategori id sine ve ismine eşit olanı ve ismini .... yap

***

Silme içinde DELETE işlemi yapıyorsunuz.

Alıntı:
mysql_query("delete from KATEGORİLER where kategoriid='$kategoriid'") or die(mysql_error());
Cümle Açıklaması : Sil KATEGORİLER tablosundan neyi kategori id si benim formdan gönderdiğim kategoriid si ile eşit olanı
Alıntı ile Cevapla
  #7  
Okunmamış 02-09-2009, 11:27 PM
sametweb
Standart Cevap: PHP ile Kategorileme

Alıntı:
AgResiFe Nickli Üyeden Alıntı Mesajı göster
kendisi yazmadıgı içi cvp yok
Dostum bilmediğin lafı niye konuşuyorsun, bu sistemi ben yazdım, buna nazaran daha profesyonellerini de yazdım. Deneme yanılma yöntemiyle PHP / MySQL bilgileri edindiğim için yeni başlayanların merak ettiği konulardan birisini açıklamak istedim. Tabii ki bu sisteme Kategori ekle/sil, konu ekle/sil modülleri de eklememiz mümkün. Bunun için MySQL'in INSERT UPDATE ve DELETE komutlarını bilmemiz gerekiyor. Ama üzgünüm arkadaşlar bu konuda bir anlatım yapacak kadar vaktim yok. İsterseniz [Linkler için 10 saniyede ücretsiz üyelik... ] üzerindeki sistemi sizler için yayınlayabilirim. Basittir, bu dili öğrenmenizde yardımcı olur, tarafımca yazılmıştır, iyi kurcalarsanız işinize yarar.
Alıntı ile Cevapla
  #8  
Okunmamış 02-03-2010, 02:06 PM
vaga
Standart Cevap: PHP ile Kategorileme

tesekkürler
Alıntı ile Cevapla
  #9  
Okunmamış 30-05-2010, 08:43 PM
saryon
Standart Cevap: PHP ile Kategorileme

Teşekkürler harika olmuş.. Aslında basitçe bir kişisel site anlatımı yapılsa ve sabitlense çok süper olurdu
Alıntı ile Cevapla
  #10  
Okunmamış 08-09-2011, 09:14 PM
ZirZop1
Standart Cevap: PHP ile Kategorileme

Linkleri yenileyebilirmisiniz acaba
Alıntı ile Cevapla
  #11  
Okunmamış 10-09-2011, 05:56 PM
elasanat
Cool Cevap: PHP ile Kategorileme

Peki kategorileme sistemin her aşamasında başlık ve başlığa ait resim olmasını istediğimizde nasıl bir sistem gerekli.
Alıntı ile Cevapla
  #12  
Okunmamış 10-09-2011, 07:46 PM
Raskolnikov
Standart Cevap: PHP ile Kategorileme

Satıra başlık için resmin yolunun girileceği bir alan olmalıdır. Oraya resim yolunu girersiniz. Çağırırken birlikte çağırmanız lazım
Alıntı ile Cevapla
  #13  
Okunmamış 24-08-2012, 07:19 AM
bhr1903
Standart Cevap: PHP ile Kategorileme

link kırık kardeşim yenilermisin
Alıntı ile Cevapla
  #14  
Okunmamış 30-08-2012, 02:42 AM
Maraş'lı
Standart Cevap: PHP ile Kategorileme

Öncelikle çok teşekkürederim.

Birde ürünlerin kategoriye göre nasıl sayfalandığını yazarsanız, daha bir bütün olur.

Eğer ürünler ait olduğu kategorilerde sayfalanmazsa, liste uzar gider. : )
Alıntı ile Cevapla
  #15  
Okunmamış 02-07-2013, 11:59 AM
YoR3y
Standart Cevap: PHP ile Kategorileme

Link ölmüş, mevcut dosya elinde olan varsa tekrar upload edebilir mi?
Alıntı ile Cevapla
Yeni Konu aç Cevapla

Etiketler
baglanti, configphp, kategorileme, mysql_fetch_array, mysql_fetch_assoc, mysql_query, php, php de kategoriler, php kategori ekleme, php kategori silme, veritabani

Seçenekler
Stil


PHP ile Kategorileme

PHP ile Kategorileme konusu, WEBMASTER/PHP bölümünde tartışılıyor .




Gündemden Başlıklar

Konu Kategori
Evden eve nakliyat Liseler & Üniversiteler
Şehir ve Firma Rehberi Tatil ve Oteller
Tatil ve Oteller Seo

Tüm Zamanlar GMT +2 Olarak Ayarlanmış. Şuanki Zaman: 11:26 PM.




Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.3.2
Tynt Script Sponsored by Information Technology Salary
Bütün Hakları Saklıdır 2005-2011 Rehberim.net