İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

kategori

OnurSQL

0
İyinet Üyesi
Katılım
29 Mart 2005
Mesajlar
2,025
Reaction score
1
Konum
ankara
merhaba arkadaşlar,

php'de kategori olayını öğrenmek istiyorum. yardımcı olabilecek arkadaş var mı:)
 

THR

0
İyinet Üyesi
Katılım
31 Ekim 2005
Mesajlar
0
Reaction score
3
bak şimdi 2 tablo olacak tamam mı biri normal işte neyse onun tablosu 2. side kategoriler

1. tabloda bir kategori sutunu olacak mesela oraya 1 yazarsan kategori tablosundan id si 1 olan tabloyu çekicen ok?
 

OnurSQL

0
İyinet Üyesi
Katılım
29 Mart 2005
Mesajlar
2,025
Reaction score
1
Konum
ankara
merhaba,

Tyranid aşağıdaki sql i oluşturdum. Kategori olayını burda nasıl yapabiliriz. Küçük bir örnekle gösterebilirmisin.
PHP:
CREATE TABLE `kategoriler` (
  `id` int(255) unsigned NOT lisanssız auto_increment,
  `kategori` varchar(255) character set utf8 collate utf8_turkish_ci NOT lisanssız,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=6 ;

-- 
-- Tablo döküm verisi `kategoriler`
-- 

INSERT INTO `kategoriler` VALUES (1, 'programlar');
INSERT INTO `kategoriler` VALUES (2, 'oyunlar');
INSERT INTO `kategoriler` VALUES (3, 'filmler');
INSERT INTO `kategoriler` VALUES (4, 'deneme2');
INSERT INTO `kategoriler` VALUES (5, 'deneme');

-- --------------------------------------------------------

-- 
-- Tablo yapısı : `program`
-- 

CREATE TABLE `program` (
  `id` int(10) unsigned NOT lisanssız auto_increment,
  `ad` varchar(255) character set utf8 collate utf8_turkish_ci NOT lisanssız,
  `aciklama` text character set utf8 collate utf8_turkish_ci NOT lisanssız,
  `tarih` varchar(255) character set utf8 collate utf8_turkish_ci NOT lisanssız,
  `katid` int(255) NOT lisanssız,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=2 ;

-- 
-- Tablo döküm verisi `program`
-- 

INSERT INTO `program` VALUES (1, 'onur', 'deneme', '14-09', 1);
 

Crash

0
İyinet Üyesi
Katılım
3 Aralık 2004
Mesajlar
0
Reaction score
0
Ana sayfada kategorileri sıralayacağın kod
PHP:
<?
$kayitlar = mysql_query("select * from kategoriler"); 
while($kayit = mysql_fetch_array($kayitlar)) {
echo"<a href=kategoriler.php?id=".$kayit['id'].">".$kayit['kategori']."</a><br>";
}
?>

kategoriler.php dosyasının içinde kategorilere ait dosyaları sıralayacağın kod

PHP:
<?
include("db.php"); // db ye baglanti icin olan php dosyasinin ismi veya safya basina manuel yaz
$id=$_GET['id']; //adres cubugundan id değişkeninin alınması
$sayfa= $_GET["sayfa"]; // adres cubugundan sayfa degiskeninin alinmasi
if(!$sayfa) $sayfa= 1 ; // sayfa degiskenimiz yoksa  ilk sayfadayiz demektir

$kacar  = 20; //sayfada gosterilecek prg sayısı
$toplam = mysql_num_rows(mysql_query("select id from programlar catid='$id'"));  //toplam kayit sayisinin ogrenilmesi
$kacsayfa = $toplam / $kacar; 
$kactan   = ($sayfa-1) * $kacar;

$kayitlar = mysql_query("select * from programlar where catid='$id' limit $kactan,$kacar"); 
while($kayit = mysql_fetch_array($kayitlar)) {
//programlar tablosunda id kolonunun isminin id program adinin oldugu tablonun isminin program_adi oldugunu farz ediyorum
echo"<a href=download.php?id=".$kayit['id'].">".$kayit['program_adi']."</a><br>";
}

sayfa_baglantilari("kategoriler.php","sayfa","$toplam","$kacar","$sayfa",0); // sayfalama linklerinin olusturulmasi

//sayfalama linkleri fonksiyonu 2 adet fonksiyondan olusur 1-2-3-5-10-25-35 seklinde prg sayisina bagli
//vbulletin stili sayfalama yapar ceviz forumdan gordügüm kod un gelistirdigim halidir.
function birdensuna($sayi,$maximum) {
    if ( $sayi >= 1 AND $sayi <= $maximum ) { return $sayi; }
    else { return $maximum; }
}


function sayfa_baglantilari($ana_baglanti,$sayfa_degiskeni,$eleman_sayisi,$sayfa_basina,$aktif_sayfa,$ekmi) {
       $sayfa_sayisi = ceil($eleman_sayisi/$sayfa_basina);
    if ( $aktif_sayfa < 1 OR $aktif_sayfa > $sayfa_sayisi ) { $aktif_sayfa = 1; }
    $sayfalar_araligi = ceil($sayfa_sayisi/20); // sayisi kucultuldukce baglanti sayisi azalir
    $sayfalanacak = array(1,$sayfa_sayisi,birdensuna(($aktif_sayfa-20),$sayfa_sayisi)
    ,birdensuna(($aktif_sayfa-15),$sayfa_sayisi),birdensuna(($aktif_sayfa-10),$sayfa_sayisi)
    ,birdensuna(($aktif_sayfa-5),$sayfa_sayisi),birdensuna(($aktif_sayfa-2),$sayfa_sayisi)
    ,birdensuna(($aktif_sayfa-1),$sayfa_sayisi),$aktif_sayfa
    ,birdensuna(($aktif_sayfa+1),$sayfa_sayisi),birdensuna(($aktif_sayfa+2),$sayfa_sayisi)
    ,birdensuna(($aktif_sayfa+5),$sayfa_sayisi),birdensuna(($aktif_sayfa+10),$sayfa_sayisi)
    ,birdensuna(($aktif_sayfa+15),$sayfa_sayisi),birdensuna(($aktif_sayfa+20),$sayfa_sayisi));
    for ($i=$aktif_sayfa;$i>0;$i=$i-$sayfalar_araligi) { $sayfalanacak[] = $i; }
    for ($i=$aktif_sayfa;$i<$sayfa_sayisi;$i=$i+$sayfalar_araligi) { $sayfalanacak[] = $i; }
    $sayfalanacak = array_unique($sayfalanacak);
    sort($sayfalanacak);
if($aktif_sayfa >= 2 ){ 
			$geri= $aktif_sayfa - 1;
			echo "<a href=\"$ana_baglanti&$sayfa_degiskeni=$geri\">Önceki sayfa << </a>  "; 
		}
    foreach ( $sayfalanacak as $sayfa_no ) {
			
        if ( $sayfa_no == $aktif_sayfa ) { echo "[$sayfa_no] "; }
        else {
            if ( $ekmi == 0 ) { 
			echo "<a  href=\"$ana_baglanti&$sayfa_degiskeni=$sayfa_no\">$sayfa_no</a> "; }
			     else { echo "<a href=\"$ana_baglanti&$sayfa_degiskeni=$sayfa_no\">$sayfa_no</a> "; }

}

    }
					 if($aktif_sayfa <> $sayfa_sayisi ){ 
			$ileri = $aktif_sayfa + 1;
			echo "  <a href=\"$ana_baglanti&$sayfa_degiskeni=$ileri\">>> Sonraki sayfa </a> "; 
			}
	    } 
		
//sayfalama fonksiyonu bitisi
?>
Bundan sonrada bi tane download.php yapıp dosya özelliklerini gösteriyorsun
 

pembekedi

0
İyinet Üyesi
Katılım
3 Şubat 2005
Mesajlar
1,607
Reaction score
1
Konum
Neverland
burdaki kategorilere alt kategori insert etmek nasıl olucak peki? yeni bi tablo olmadan tek kategori tablosuyla halledilebilir mi? insert ve select işlemi için örnek bi kod gösterir misiniz mantığı açısından?
 

Crash

0
İyinet Üyesi
Katılım
3 Aralık 2004
Mesajlar
0
Reaction score
0
pembekedi' Alıntı:
burdaki kategorilere alt kategori insert etmek nasıl olucak peki? yeni bi tablo olmadan tek kategori tablosuyla halledilebilir mi? insert ve select işlemi için örnek bi kod gösterir misiniz mantığı açısından?

halledilir

Ana yukarıdaki örnekte 1 tane daha kolon eklemek gerekiyor.

şöyleki : id | kategori_adi | altcat
diye 3 lü bir tablomuz olsun
ana kategorilerde altcat değeri sıfır yapın alt kategorilerde de altcat değeri ana kategorinin id no su olsun.
anasayfada ana kategori değerlerini cekerken
PHP:
where altcat='0'
şeklinde ana kategorileri çekersiniz alt kategorileri gösterirkende altcat id si anasayfadan tıklanan ana kategori id sine eşit olanları çekersiniz

Böylece tek tabloda bütün sorunları halletmiş oluruz
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst