IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  vaybe sohbet

>
+
Etiketlenen Kullanıcılar

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Arama Stil
Alt 06 Mart 2007, 00:09   #1
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Sınırsız Kategoriler Ekle Güncelle ve Sil




Öncelikle Database tablomuzu oluşturuyoruz.

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
-- 
-- 
Tablo yapısı: `s_kategoriler
-- 

CREATE TABLE `s_kategoriler` ( 
  `
kategori_idint(11NOT NULL auto_increment
  `
kategori_adivarchar(255) default NULL
  `
altkategori_idint(11) default NULL
  
PRIMARY KEY  (`kategori_id`) 
ENGINE=MyISAM  DEFAULT CHARSET=latin5 AUTO_INCREMENT=110 

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

INSERT INTO `s_kategorilerVALUES (109'BB1'108); 
INSERT INTO `s_kategorilerVALUES (102'A'0); 
INSERT INTO `s_kategorilerVALUES (103'B'0); 
INSERT INTO `s_kategorilerVALUES (104'C'0); 
INSERT INTO `s_kategorilerVALUES (105'D'0); 
INSERT INTO `s_kategorilerVALUES (106'A1'102); 
INSERT INTO `s_kategorilerVALUES (107'AA1'106); 
INSERT INTO `s_kategorilerVALUES (108'B1'103); 

Tablomuz üç alandan oluşuyor. kategori_id, kategori_adi, altkategori_id

Ben örnek olsun diye bir kaç kategori verisi oluşturdum. Sizlerde bunları çogaltabilir ve ya istediğinizi yapabilirsiniz.

Bu script denenmiştir. Sorunsuzca çalışmaktadır.
MYSQL 5 yukarısı kullanıyorum. Umarım MYSQL 4 lerde sorun vermez.

Şimdide sıra geldi bu tablomuza veri girme, güncelleme ve silme işlemine

Aşağıdaki kodları kategoriler.php diye kaydediniz.
PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
style="color: #0000BB"><?php 
   
// 
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
style="color: #007700">@
mysql_connect('localhost','root','123456'); 
   @
mysql_select_db('zedatriko'); 
     
     
   
//Sınırsız Kategori Listeleme Fonksiyonudur. 
   
function kategorilerilistele($altkategori_id,$level//completely expand category tree 
   
{     
   
$q mysql_query("SELECT kategori_id, kategori_adi, altkategori_id FROM s_kategoriler WHERE kategori_id<>0 and altkategori_id=$altkategori_id ORDER BY kategori_adi") or die (mysql_error()); 
   
$a = array(); //altkategori_id'ler 
   
while ($row mysql_fetch_row($q)) 
   { 
   
$row[5] = $level
   
$a[] = $row
   
//Altkategori işlemleri 
   
$b kategorilerilistele($row[0],$level+1); 
   
//Ekle $b[] Sonuna $a[] 
   
for ($j=0$j<count($b); $j++) 
   { 
   
$a[] = $b[$j]; 
   } 
   } 
   return 
$a
     
   } 
//kategorilerilistele 
     
     
   //kategorileri Düzenli şekilde Silmek 
   
function kategorivealtkategorilerisil($altkategori_id//Kategorinin Tüm Alt Kategorilerini Siler kategori_id=$altkategori_id 
   

      
//Alt Kategoriler 
      
$q mysql_query("SELECT kategori_id FROM s_kategoriler WHERE altkategori_id=$altkategori_id and kategori_id<>0") or die (mysql_error()); 
      while (
$row mysql_fetch_row($q)) 
      { 
         
kategorivealtkategorilerisil($row[0]); //tekrarlı döngü 
      

      
$q mysql_query("DELETE FROM s_kategoriler WHERE altkategori_id=$altkategori_id and kategori_id<>0") or die (mysql_error()); 
        
      
//Root Kategori ile birlikte Ürünlerdeki kategorileri de düzenler 
      
$q mysql_query("UPDATE urunler SET kategori_id=0 WHERE kategori_id=$altkategori_id") or die (mysql_error()); 
   } 
     
     
   @ 
$s_kategorilerislem      strip_tags(trim($_GET['s_kategorilerislem'])); 
     
   if (!
$s_kategorilerislem
   { 
   @ 
$ekle                  intval($_GET['ekle']); 
   if (empty(
$ekle)) 
   {     
   @ 
$kategori_id            intval($_GET['kategori_id']); 
   
$altkategori_id            ''
     
   if (empty(
$kategori_id)) { 
   
$bbaslik               "ÜRÜN KATEGORİSİ EKLE"
   
$buton                  "KAYDET"
   } else { 
   
$bbaslik               "ÜRÜN KATEGORİSİNİ DÜZENLE"
   
$buton                  "DEGİŞTİR"
     
   
//kategoriler DUZENLE 
   
$kategoriler_duzenleme_sql  "SELECT * FROM s_kategoriler WHERE kategori_id='$kategori_id'"
   
$kategoriler_duzenleme_sonucmysql_query($kategoriler_duzenleme_sql) or die ("Hata: kategoriler Görülemedi"); 
   
$kategoriler_duzen_izin      mysql_num_rows($kategoriler_duzenleme_sonuc); 
   
$kategoriler_ayrinti      mysql_fetch_array($kategoriler_duzenleme_sonuc); 
   
$kategori_id            $kategoriler_ayrinti["kategori_id"]; 
   
$kategori_adi            $kategoriler_ayrinti["kategori_adi"]; 
   
$altkategori_id            $kategoriler_ayrinti["altkategori_id"]; 
     
   if (!
get_magic_quotes_gpc()) 
   { 
   
$kategori_adi               stripslashes($kategori_adi); 
   } 
   
mysql_free_result($kategoriler_duzenleme_sonuc); 
   } 
     
   
?> 
   <table id=AutoNumber1 style="border-collapse: collapse" bordercolor="#111111" cellspacing="0" cellpadding="0" width="50%" border="0" align="center">     
   <tr> 
   <td width="100%" align="center"> 
   <fieldset> 
   <legend>&nbsp;<b>Kategori Ekleyin, Düzenleyin ve Silin</b>&nbsp;</legend> 
   <table width="100%" align="center">     
   <form action="?sayfa=kategoriekle&ekle=1" method="post"> 
  <input type="hidden" name="kategori_id" value="<?php echo trim($kategori_id);?>" /> 
   <td width="50%" bgcolor=#f0f8ff align="center" class="baslik">Root Ana kategoridir. Diğer kategorilere alt kategoriler eklemek için Root altındaki kategorilerden birisini seçip veri girişinden kategori yazıp kaydet demeniz yeterlidir.</td> 
   </tr> 
   <tr> 
   <td width="50%" bgcolor=#f0f8ff align="center" class="altkategori">Kategori Listesi : 
   <select name="altkategori_id"> 
   <option value="0">Root</option> 
   <?php 
   
//kategorileri listele combobox 
   
$tmp = isset($_GET["w"]) ? $_GET["w"] : $_POST["altkategori_id"]; 
   
$cats kategorilerilistele(0,0); 
   for (
$i=0$i<count($cats); $i++) 
   { 
   echo 
"<option value=\"".$cats[$i][0]."\""
   if (
$tmp == $cats[$i][0]) //select kategori 
   
echo " selected"
   echo 
">"
   for (
$j=0;$j<$cats[$i][5];$j++) echo "&nbsp;&nbsp;"
   echo 
$cats[$i][1]; 
   echo 
"</option>"
   } 
   
?> 
   </select> 
   </td> 
   </tr> 
   <tr> 
   <td width="50%" bgcolor=#f0f8ff align="center" class="altkategori">Veri Girişi : 
   <input size="40" name="kategori_adi" value="<?php echo $kategori_adi?>"></td> 
   </tr> 
   <tr> 
   <td width="50%" bgcolor=#f0f8ff align="center" class="altkategori"> 
   <input type="submit" name="ekle" value="<?php echo $buton?>"></td> 
   </tr>     
   </table> 
   </fieldset>     
   </form> 
   </table> 
        
   <?php     
   
unset($kategoriler_ayrinti);     
     
   } elseif (
$ekle == 1) {     
   
$kategori_id         abs(intval($_POST['kategori_id'])); 
   
$kategori_adi         trim(strip_tags(htmlspecialchars($_POST['kategori_adi']))); 
     
   if (!
$kategori_adi
   { 
      echo 
'<script>alert("İşaretli Alanlar Zorunludur.");history.go(-1)</script>'
      exit; 
   } 

   if (!
get_magic_quotes_gpc()) 
   {     
   
$kategori_adi         addslashes($kategori_adi); 
   
$altkategori_id         addslashes($altkategori_id);     
   } 
   if (empty(
$kategori_id)) 
   {     
   
$q mysql_query("INSERT INTO s_kategoriler (kategori_adi, altkategori_id) VALUES ('$kategori_adi', '$altkategori_id')") or die (mysql_error()); 
   
$pid mysql_insert_id(); 
   echo 
'<script>alert("Kategori Başarıyla Eklendi.");location.href=\'?sayfa=kategoriekle\';</script>'
        
   } else { 
           
   
$s_kategoriler_duzelt   "UPDATE s_kategoriler SET kategori_adi = '$kategori_adi' WHERE kategori_id = $kategori_id"
   
mysql_query($s_kategoriler_duzelt) or die (mysql_error()); 
   echo 
'<script>alert("Kategori Başarıyla Düzeltildi.");location.href=\'?sayfa=kategoriekle\';</script>'
   }     
   } else { 
   echo 
'<script>alert("İzin Yok");location.href=\'?sayfa=kategoriekle\';</script>';      
   }     
   
/* ============================================== */ 
   /* KATEGORİ SİLME İŞLEMLERİ                     */ 
   /* ============================================== */ 
   /* KATEGORİ İSLEMLERİ */ 
   
} elseif ($s_kategorilerislem == 1) { 
     
     
     
   @ 
$kategorisil            $_POST['kategorisil']; 
   @ 
$formbilgi            $_POST
     
   if (
$kategorisil
   { 
   
//SİLME İŞLEMLERİ (BUNUNLA İLĞİLİ FONKSİYON "baglar/fonk.inc.php" İÇİNDEDİR. (deleteSubCategories) 
   
foreach ( $formbilgi as $anahtar=>$deger 
   { 
   if ( 
gettype ($deger ) != "array" 
   { 
   if (
$anahtar == "kategori_$deger"
   { 
      
$kategorileri_sil      mysql_query("DELETE FROM s_kategoriler WHERE kategori_id=$deger"); 
      
//Kategori siliniyor ve buna baglı alt kategoriler varsa onlarda siliniyor. 
      
kategorivealtkategorilerisil($deger); 
     
   } 
   } 
   } 
     
   echo 
'<script>alert("Kategori veya kategoriler başarıyla silindi.");location.href=\'?sayfa=kategoriekle\';</script>';     
   } 
   } 
   
?> 
   <table id=AutoNumber1 style="border-collapse: collapse" bordercolor="#111111" cellspacing="0" cellpadding="0" width="50%" border="0" align="center"> 
   <tbody> 
   <tr> 
   <td width="100%"> 
   <fieldset> 
   <legend>&nbsp;<b><?php echo $dil['kategoriguncellesil']; ?></b>&nbsp;</legend> 
   <table width="100%" align="center">     
   <form action="?sayfa=kategoriekle&s_kategorilerislem=1" method="post" name="formbilgi"> 
   <input type="hidden" name="kategori_id" value="<?php echo trim($kategori_id);?>" /> 
   <?php 
   $toplam                
mysql_query("SELECT COUNT(*) FROM s_kategoriler"); 
   list(
$toplam_kategoriler)   = mysql_fetch_row($toplam); 
   
mysql_free_result($toplam); 
     
   echo 

   <tr> 
   <td width=100% colspan="8" align="center" bgcolor="#f0f8ff"> 
   </td> 
   </tr> 
   <tr> 
   <td width=100% colspan="6" align="left" bgcolor="#f0f8ff">'
;         
   echo 
'&nbsp;&nbsp;<font color="#FF0000">&nbsp;&nbsp;Seçilileri : </font> 
   <input type="submit" value="Sil" name="kategorisil" onclick="return islemler(\'Silinecek Eminmisin\')">&nbsp;&nbsp;Toplam Kategori ve Alt Kategori Sayısı : <b>'
.$toplam_kategoriler.'</b> 
   <tr bgColor="#4faafa"> 
   <td width="5%" align="left"> 
   <input type="checkbox" onclick="this.value=sec(this.form.onaykutusu)"></td> 
   <td width="90%" align="left"><b>Kategori Adı</b></td> 
   </tr>'

   
#Kategorileri Listele 
   
Listele(0,""); 
   
# Özyinelemeli listele fonksiyonu 
   # ---------------------------------------------------------------------------------------- 
   
function Listele($kategori_id,$derinlik){ 
   
# Sorgu cümlesi 
   
$cumle "select *, find_in_set(".$kategori_id.",altkategori_id) as seviye from s_kategoriler having seviye = 1"
   
$sorgu mysql_query($cumle);     
     
   
# Kayıtları bas 
   
while($sonuc            mysql_fetch_array($sorgu)){     
   
$kategori_adi            $sonuc["kategori_adi"]; 
   
$kategori_id            $sonuc["kategori_id"]; 
        
   
# Kategorı bilgilerini bas, Alt kategorileri (varsa) bas     
   
echo 
   <tr bgColor="#cae3f9"> 
   <td width="10%" align="left"><input type="checkbox" id="onaykutusu" name="kategori_'
.$kategori_id.'" value="'.$kategori_id.'" class="onaykutusu"></td>           
   <td width="20%" align="left">'
.$derinlik.'<a href="?sayfa=kategoriekle&kategori_id='.$kategori_id.'">'.$kategori_adi.'</td>     
   </tr>'

   
Listele($kategori_id,$derinlik."&nbsp;&nbsp;&nbsp;&nbsp;"); 
   } 
   return; 
   } 
   echo 

   <tr> 
   <td colspan="3" width="100%" bgcolor="#f0f8ff" align="left"> 
   &nbsp;&nbsp;<font color="#FF0000">&nbsp;&nbsp;Seçilileri : </font> 
   <input type="submit" value="Sil" name="kategorisil" onclick="return islemler(\'Silinecek Eminmisin\')"></td> 
   </tr>'
;     
   
?> 
   </form> 
   </table> 
   </fieldset> 
   </td> 
   </tbody> 
   </tr> 
   </table> 
   </body> 
   </html>

Listeli olan kategorilerden herhangi birisini tıkladıgınızda veri girişinde o kategorinin adı görünecektir. Oradan kategorinin adını güncelleyebilirsiniz.

ugurturan;

__________________

Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet bizimmekan
Alt 06 Mart 2007, 19:59   #2
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Sınırsız Kategoriler Ekle Güncelle ve Sil




altına birde not düş Ceviz.Net Diye

 
Alıntı ile Cevapla

Alt 06 Mart 2007, 21:37   #3
Çevrimiçi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Sınırsız Kategoriler Ekle Güncelle ve Sil




Alıntı:
ugurturan;

yazdık ya yetmiyormu yusuf

__________________

Kullanıcı imzalarındaki bağlantı ve resimleri görebilmek için en az 20 mesaja sahip olmanız gerekir ya da üye girişi yapmanız gerekir.
 
Alıntı ile Cevapla

Alt 06 Mart 2007, 23:48   #4
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Cevap: Sınırsız Kategoriler Ekle Güncelle ve Sil




cıks yayın hakkı ceviz.net olduğu için neyse

 
Alıntı ile Cevapla

Cevapla

Etiketler
guncelle, kategoriler, sil, sinirsiz, ve


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Sekershell * vds vps server * sınırsız hosting * reseller hosting * sınırsız inode limiti SekerShell YS Belgeli Hosting Firmaları 9 14 Haziran 2023 22:21
Site Ekle, Firma Ekle Oto Onaylı Kaliteli Backlink BayMankeN Diğer Dizinler 0 26 Kasım 2022 19:35
Tek komut ile kanal şifrele/topic ekle/koruma ekle. Prens mIRC Scripting Sorunları 3 23 Nisan 2014 11:17