İçeriğin rss beslemesi kullanımda değil Soru - Cevap Bölümü / Kategori: Programlama

30/06/2006 - 01:34:43 cevap (1) Okunma : 3944 Bu yazıyı 0 kişi tuttu.

Bir kataloğa giden taşlı yol..

etiketler : linux mysql php apache LAMP

<?PHP

[i]Konu 1[/i]: Uzun zamandır net üzerinde PHP konusunda araştırma yapıyorum, belki yüzlerce sayfa döküman okumuşumdur ama en başta net olarak öğrenmek istediğim bir husus var: 1. FORM verilerini (POST/GET) sınarken kullanılması en garanti, mantıklı, pratik yöntem hangisidir?

isset mi? request > 0 mı? empty mi? Ya da başka hangisi? [i] Konu 2[/i]: www.zambak.com‘daki gibi bir katalog hazırlamam gerekiyor. Hatta oradaki verilerin aynıları olacak, bir kitabevi sitesi yapıyorum. Ne var ki database yapılandırması ve yönetimi konularında tam bir acemiyim. Şimdi ‘kitabevi’ adlı bir db’im var. içinde ‘urunler’ diye bir tablo oluşturdum. Bunun içerisinde urunid primary, index, unique ve auto increment ayarlı. Geri kalan 13 field girilecek kitaplarin özellikleri şeklinde (kitapYazari, sayfaSayisi, kapakCinsi vs..). Her bir ürünü tek satıra bütün verileriyle beraber giriyorum. Yani urunid 1 = Bir kitabın 14 tane verisinden oluşan bir row. Bir defa bu yapılandırma doğru bir yapılandırma mı?

[i]Konu 3[/i]: Kitap kataloğu örneğinde farklı kategoriler var. En başta Okul öncesi, ilköğretim ve lise. Okul öncesinin altında eğitim setleri var. Ayrıca tek kitaplar da var. Ben bir katagorinin içerisindeki bütün kitapları çıkartmak için şu yöntemi kullanıyorum:


$sinif1=$_GET['sinif'];
$urunNO1=$_GET['urunNO'];
(diğer değişkenler)..
..
.

if (isset($urunNO)) {

$query=mysql_query('SELECT * FROM urunler WHERE sinif='$sinif1' AND urunNO='$urunNO1'', $baglan);
} else {
$query=mysql_query('SELECT * FROM urunler WHERE sinif='$sinif1'', $baglan);
}
$satirsayisi=mysql_numrows($query);

for ($i=0;$i<$satirsayisi;$i++) {
    $urun_id=mysql_result($query, $i, 'urun_id');
    $sinif=mysql_result($query, $i, 'sinif');
    $ISBN=mysql_result($query, $i, 'ISBN');
    $kitapAdi=mysql_result($query, $i, 'kitapAdi');
    $kitapFiyati=mysql_result($query, $i, 'kitapFiyati');
    $kitapAciklamasi=mysql_result($query, $i, 'kitapAciklamasi');
    $kitapYazari=mysql_result($query, $i, 'kitapYazari');
    $sayfaSayisi=mysql_result($query, $i, 'sayfaSayisi');
    $ebadi=mysql_result($query, $i, 'ebadi');
    $kagitCinsi=mysql_result($query, $i, 'kagitCinsi');
    $kapakCinsi=mysql_result($query, $i, 'kapakCinsi');
    $hitapEttigiGrup=mysql_result($query, $i, 'hitapEttigiGrup');
    $muadilUrunlerdenFarklari=mysql_result($query, $i, 'muadilUrunlerdenFarklari');
    $uretimIhtiyacNedeni=mysql_result($query, $i, 'uretimIhtiyacNedeni');

    print('

HTML kodu ve değişkenler ');
}

Bu şekilde çıktı alabiliyorum ama yine taktik doğru mu bilmiyorum? [i]Konu 4[/i]: En mühim konulardan biri; ben bütün ürün gösterim işlemini urunGoster.php dosyasıyla sağlamak istiyorum. urunGoster.php?sinif=ilköğretim ile illköğretim kategorisini gösterebiliyorum mesela. Ama urunGoster.php dosyasında SQL komutunu nasıl düzenlemeliyim ya da nasıl bir IF yapısı oluşturmalıyım ki her türlü ürün gösterimini gerçekleştirebileyim? urunGoster.php?sayfaSayisi=650 diye bir linkle de, urunGoster.php?kitapYazari=scaryguy diye bir linkle de yani BÜTÜN DEĞiŞKENLERi kullanarak ürün gösterimini nasıl gerçekleştiricem?

Bu sorulara yanıt verecek hayır sever vatandaşın ellerinden öpücem, hatta müsait olursa intersoner@hotmail.com olan MSN adresimi listesine eklemesini rica edicem, arada bir de onu (sıkmamak kaydıyla) rahatsız edicem.

Şimdiden çok teşekkürler.

?> :)

adres faky18 profilini göster
faky18 14.11.2007 18:33:57
En iyi cevap mı ?

kitapların veritabanında bu şekilde tutulması yanlış. Çünkü veritabanı yeteri kadar sadeleştirlmemiş. Sadeleştirmeden kastım, bir biri ile ilişkili verileri tek bir tabloda gruplandırma işlemidir. Örneğim A yayın evine ait bir kitap kaydı girdiniz. Bu ktap kaydı silindiğinde A yayın evide silincektir. Halbuki silinmeseydi bir dahaki veri girişinde defelarca A yayınevini girmek zorunda kalmayacaktınız. Demem o ki veritabanını biraz daha sadeleştirmen gerekli .Yayın evi diye bir tablo aç ve yayın evi id,adı, adresi şusu busu diye kaydet. Böylece sürekli aynı yayın evinin adını,telini, adrsini girmekten kurtulursun .Veri listelemeye gelince ben veritabanından veri çekerken mysqfetchassoc() fonksiyonunu kullanıyorum.Kullanımı şu şekilde ; $sorgu=mysql_query(’select * from urunler’); $kitap=mysqlfetchassoc($sorgu);

örneğin kitabın adını alacksınız ==> $kitap[’kitap_adi’]; demeniz yeterli…

şimdide istenilen bir alana göre veri süzmeyi yapalım

örneğin bir formumuz var bu formda adı ‘alan’ olan bir combobox ımız olsun

combobox içinde : kitap_adına göre,yazar adına göre,yayınevine göre vs alanlar olsun birde aranacak kelime için ‘ara’ adlı bir edit imiz olsun

bunların valuelerine 1,2,3 seklinde degerler ver, güzenlik nedeni il,sakın tablo_adını vermeyiniz : Ayrıca post metodunu kullanmanızı tavsiye ederim. Kullanıcı bir alan seçip buna göre kitapların dökümünü isticek olsun sorgumuz şu şekilde olacak $aranankelime=$POST[’ara’]; $sorgulanacak_alan=’‘;

if ($_POST[’alan’]==1) { $sorgulanacakalan=’kitapadi’;

} else if …..

sonuçta elimizde $sorgulanacak alan kalacak o zaman er alan için sorgu yazmaktansa bir sorguda isteneni bulacağız

$sorgu=mysqlquery(’select * from urunler where’.$sorgulanacakalan.’=’$aranan_kelime’‘); şeklinde olur

verileride ekrana basarkende

while ($kitap=mysqlfetchassoc($sorgu)) { print ‘kitapadı’.$kitap[’katapadi’];

} // while ile sorgudan döenen tüm row ları alırsın

Post[

aç-kapa Bu Yazıyı Tutanlar

bu yazıyı tutan kimse yok.

yeni üyelik | şifremi unuttum

aç-kapa Yarışma Fikir10000 Dijital Pazarlama Fikir Yarışması

Fikir10000 Dijital Pazarlama Fikir Yarışması

ADTECH tarafından düzenlenen Fikir10000 yarışmasına; dijital pazarlama ile ilgili size ait olan fikrinizle katılabilir ve 10.000 YTL’lik birinci...
Kategori: Yarışma

aç-kapa Toplantı Kahraman ve need4code.com Projesi Connect Toplantısı

Kahraman ve need4code.com Projesi Connect Toplantısı

Selam arkadaslar, Programlama ile uğraşanların hayatlarını kolaylaştıracak desktop ve web tabanlı ortak iki proje ile ilgili 3. toplantımızı 16Aralı...
Kategori: Toplantı

aç-kapa Yarışma 7Dx Demoscene Party

7Dx Demoscene Party

2002 yılından beri amatör bilgisayar kültürü ile ilgilenen insanları bir araya getirmeyi hedefleyen 7DX parti serisinin bu seneki ayağı olan 7D8 Demo ...
Kategori: Yarışma

aç-kapa Eğitim Türkiye'de İnternet Konferansı - Internet Teknolojileri Derneği -22-23 Aralık ODTÜ

Türkiye'de İnternet Konferansı - Internet Teknolojileri Derneği -22-23 Aralık ODTÜ

Etkin Katılım Çağrısı Türkiye’de Internet ile ilgili grupları biraraya getirerek İnternet’i tum boyutlarıyla tanıtmak, gelistirmek, tartı...
Kategori: Eğitim

aç-kapa Konferans Bilgi Güvenliği ve Kriptoloji Konferansı

Bilgi Güvenliği ve Kriptoloji Konferansı

Önemli Tarihler: Etkinlik Tarihi : 24-26 Aralık 2008 Son Bildiri Gönderme Tarihi : 20 Ekim 2008 Bildiri Kabul Tarihi Bildirimi :...
Kategori: Konferans

üyeler Son Kahramanlar...

stats Kimler Burada? web stats

Son 1 dakika içinde MMIstanbul' da 550 (1 kayıtlı, 549 ziyaretçi) kullanıcı varmış. Login durumda olanlar aşağıda:

coldfusion mysql ubuntu
 
sponsor adobe istanbul