Tarik_Turan
Aktif Üye
- Mesajlar
- 190
Öncelikle merhabalar...
Benim sorunum ilginç olmakla birlikte ilk defa başıma gelen bir olay...
Yaptığım bir sigorta acentesi sitesinde sınırsız kategori mantığını siteye yeni bir tablo ile yerleştirecektim. Elimdeki eski tablolar "kategoriler" ve "makaleler" idi. Bunlardan ilki ana kategorileri ikincisi alt kategorileri içeriyordu.Kayıtları yeni oluşturduğum "categories" tablosuna aktaracaktım... basit bir kod ile eski tablolardan aldığım verileri yeni tabloya eklemeye başladım ama ilginç olan bir kayıt kategoriler tablosundan categories tablosuna kopyalanırken, bir diğer kayıt kopyalanmıyordu.Aynı sorunu makaleler tablosundan categories tablosuna kayıtları kopyalarken de yaşadım. MYSQL de oluşturduğum tablolardaki alanlar ve veri türlerine baktım. Hepsi birbiri ile uyumlu. Aslında sorun içerik eklemelerinde FCKeditör ile admin panelinden eklemeler yapıyor ve bunları MYSQL e LONGTEXT bir alana kayıt ediyordum. Ama boyut çok büyük olmasa da yani LONGTEXT e göre büyük olmasa da bir kayıt koypyalanırken bir diğeri kopyalanmıyor...Durumu açayım.MYSQL tablolarım şöyle;
yeni categories tablom :
Ana kategorilerin bulunduğu kategoriler tablom :
-------
alt kategorilerin bulunduğu makaleler tablom :
--------
-----kopyala.php dosyasındaki sadece ilgili kopyalama bölümü
PHP Kodu:
şimdi bu son iki tablodaki içerikler aktarılırken sorun oluşuyor aslında...yani LONGTEXT veri türünden dolayımı böyle bir sorun olabilir bilmiyorum ama bir kayıt aktarılırken ki boyut olarak içeriği kopyalanan bir diğerinden daha az ve diğeri kopyalanıyor ama bu kopyalanmıyor... 3. ya da 8. kayır aktarılmıyor. (not : içerikler FCK editör yardımıyla html taglarıyla tabloya kayıt ediliyor.yani kat_icerik içerisinde html tagları mevcut...)
Son olarak kestane kebap acele cevap valla bu sorun çok uğraştırdı beni arkadaşlar...
Şimdiden Teşekkür ediyorum...
Benim sorunum ilginç olmakla birlikte ilk defa başıma gelen bir olay...
Yaptığım bir sigorta acentesi sitesinde sınırsız kategori mantığını siteye yeni bir tablo ile yerleştirecektim. Elimdeki eski tablolar "kategoriler" ve "makaleler" idi. Bunlardan ilki ana kategorileri ikincisi alt kategorileri içeriyordu.Kayıtları yeni oluşturduğum "categories" tablosuna aktaracaktım... basit bir kod ile eski tablolardan aldığım verileri yeni tabloya eklemeye başladım ama ilginç olan bir kayıt kategoriler tablosundan categories tablosuna kopyalanırken, bir diğer kayıt kopyalanmıyordu.Aynı sorunu makaleler tablosundan categories tablosuna kayıtları kopyalarken de yaşadım. MYSQL de oluşturduğum tablolardaki alanlar ve veri türlerine baktım. Hepsi birbiri ile uyumlu. Aslında sorun içerik eklemelerinde FCKeditör ile admin panelinden eklemeler yapıyor ve bunları MYSQL e LONGTEXT bir alana kayıt ediyordum. Ama boyut çok büyük olmasa da yani LONGTEXT e göre büyük olmasa da bir kayıt koypyalanırken bir diğeri kopyalanmıyor...Durumu açayım.MYSQL tablolarım şöyle;
yeni categories tablom :
Kod:
CREATE TABLE categories (
kat_id int(8) unsigned NOT NULL auto_increment,
kat_baslik varchar(250) NOT NULL default '',
altkat_id int(8) NOT NULL default '0',
kat_icerik longtext NOT NULL,
kat_date datetime NOT NULL default '0000-00-00 00:00:00',
kat_tanim varchar(80) NOT NULL default '',
kat_anahtar varchar(250) NOT NULL default '',
kat_link varchar(250) NOT NULL default '',
kat_hit int(8) NOT NULL default '0',
PRIMARY KEY (kat_id)
) TYPE=MyISAM;
Ana kategorilerin bulunduğu kategoriler tablom :
-------
Kod:
CREATE TABLE kategoriler (
kat_id int(8) unsigned NOT NULL auto_increment,
kat_baslik varchar(250) default '',
kat_icerik longtext NOT NULL,
kat_date datetime NOT NULL default '0000-00-00 00:00:00',
kat_tanim varchar(80) default NULL,
kat_anahtar varchar(250) default NULL,
kat_link varchar(250) default NULL,
kat_hit int(8) NOT NULL default '0',
PRIMARY KEY (kat_id)
) TYPE=MyISAM;
alt kategorilerin bulunduğu makaleler tablom :
--------
Kod:
CREATE TABLE makaleler (
makale_id int(8) unsigned NOT NULL auto_increment,
makale_baslik varchar(250) NOT NULL default '',
kat_id int(8) NOT NULL default '0',
altkat_id int(8) NOT NULL default '0',
makale_metni longtext NOT NULL,
makale_izle int(8) NOT NULL default '0',
makale_tanim varchar(80) NOT NULL default '',
makale_anahtar varchar(250) NOT NULL default '',
makale_tarih datetime NOT NULL default '0000-00-00 00:00:00',
makale_goster char(1) NOT NULL default '0',
makale_link varchar(250) NOT NULL default '',
PRIMARY KEY (makale_id)
) TYPE=MyISAM;
-----kopyala.php dosyasındaki sadece ilgili kopyalama bölümü
PHP Kodu:
Kod:
$sql="SELECT * FROM kategoriler WHERE kat_id>0";
$sonuc=mysql_query($sql);
while ($sorgu_verisi = mysql_fetch_array($sonuc))
{
$mkid = "$sorgu_verisi[kat_id]";
$mkbaslik = "$sorgu_verisi[kat_baslik]";
$mkmetni = "$sorgu_verisi[kat_icerik]";
$mkdate = "$sorgu_verisi[kat_date]";
$mktanim = "$sorgu_verisi[kat_tanim]";
$mkanahtar = "$sorgu_verisi[kat_anahtar]";
$mkhit = "$sorgu_verisi[kat_hit]";
$mklink = "$sorgu_verisi[makale_link]";
$mkkatid=0;
$komut= "INSERT INTO categories (kat_id,kat_baslik,altkat_id,kat_icerik, kat_date,kat_tanim,kat_anahtar,kat_link,kat_hit) VALUES ('', '$mkbaslik', '$mkkatid','$mkmetni','$mkdate','$mktanim','$mkanahtar','$mklink','$mkhit') ";
$sorgu=mysql_query("$komut");
if ($sorgu){ echo"$mkbaslik eklendi <br>";}else {echo"<b>$mkbaslik</b> eklenemedi<br>";}
}
şimdi bu son iki tablodaki içerikler aktarılırken sorun oluşuyor aslında...yani LONGTEXT veri türünden dolayımı böyle bir sorun olabilir bilmiyorum ama bir kayıt aktarılırken ki boyut olarak içeriği kopyalanan bir diğerinden daha az ve diğeri kopyalanıyor ama bu kopyalanmıyor... 3. ya da 8. kayır aktarılmıyor. (not : içerikler FCK editör yardımıyla html taglarıyla tabloya kayıt ediliyor.yani kat_icerik içerisinde html tagları mevcut...)
Son olarak kestane kebap acele cevap valla bu sorun çok uğraştırdı beni arkadaşlar...
Şimdiden Teşekkür ediyorum...