veri tabanını siteye bağlama acil !

efsane18
16-04-2009, 15:19   |  #1  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
173 mesaj
Kayıt Tarihi:Kayıt: Nis 2007

arkadaşlar size bir sorun olcak ben access te veri tabnı oluşturdum ve bunu yaptığım web sayfasına bağlamak istiyorum
bu konuda bilgisi olan varsa bana acil yardım edebilirmi netten araştırdım ama çok karmaşık şeyler var o yüzden sizden yardım bekliyorum şimdiden teşekkürler......

Selçuk İslamoğlu
16-04-2009, 15:58   |  #2  
Selçuk İslamoğlu avatarı
CHIP Online
Teşekkür Sayısı: 73
4,133 mesaj
Kayıt Tarihi:Kayıt: Ağu 2003

Hangi programlama dili kullanıyorsun?

efsane18
17-04-2009, 13:53   |  #3  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
173 mesaj
Kayıt Tarihi:Kayıt: Nis 2007
efsane18
arkadaşlar size bir sorun olcak ben access te veri tabnı oluşturdum ve bunu yaptığım web sayfasına bağlamak istiyorum
bu konuda bilgisi olan varsa bana acil yardım edebilirmi netten araştırdım ama çok karmaşık şeyler var o yüzden sizden yardım bekliyorum şimdiden teşekkürler......
php dilini kullanıyorum ..

Kapalı Hesap (79876)
19-04-2009, 22:22   |  #4  
Kapalı Hesap
Teşekkür Sayısı: 0
1,252 mesaj
Kayıt Tarihi:Kayıt: Tem 2008

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
$baglanti=mysql_connect("hostname","kullaniciadi","sifre"); mysql_select_db("bağlatı yapılacak veritabanı ismi"); $sorgu=mysql_query("select * from tablo where id='1'",$baglanti); $sonuc=mysql_result($sorgu,0,0); echo $sonuc;
belirttiğimiz sunucudaki belirttiğimiz veritabanına bağlanıp belirttiğimiz tablodaki verileri ekrana yazdırır.

Daha ayrıntılı bilgi :

http://www.thecoders.net/dersmakaleoku-1-80-PHP--Veritabani-islemleri.html
PHP | Veritabanı İşlemleri

Temel Veritabanı Komutları
Bu dersimizde php nin en önemli konusu veritabanına erişim veri alış verişi sorgulama ve düzenleme ile ilgili konulara yer vereceğiz.

Veritabanı neden önemli ? Bu sorunu cevabı basit çünkü veri değerli. Hatta dünyanın en önemli hazinesi de diyebiliriz. Dünyada en çok hit alan siteler veri depolayıp kategorilere başlıklara ayaran ve bunların istatistiklerini yapan siteler örnek mi google desem kafi olur herhalde. Bu nedenle bilgiyi depolamak ve talep edildiğinde sunmak bir web sayfasından beklenen en önemli şey.
Burada da işin içine dinamik web sayfaları giriyor yani değişken web sayfaları. Yine google dan örnek verecek olursak; Mesela arama kutusuna herhangi bir kelime yazıp arattığımızda o kelime ile alakalı yüzlerce site karşımıza çıkıyor fakat arama sayfasının tasamı hiçbir zaman değişmiyor tek bir sayfa da yüzlerce binlerce farklı yazı görüyoruz. Yani arattığımız kelimeye göre içerik değişiyor. Hatta bazı siteler 2 sayfadan oluşmasına rağmen yüzlerce sayfadan oluşuyor gibi görünüyor fakat işin aslı bu değil. İki sayfa dan oluşuyor site fakat aynı sayfaya farklı bir mantıksal değer(değişken) gönderildiğinde sayfanın tasarımı içeriği tamamen değişiyor. Bu nasıl mı oluyor php ile tasarım o sayfa için yeniden oluşturuluyor örneğin
bir tablonun renk değeri #FF0000 olsun bu değer veri tabanında tutuluyor ve belirli bir mantıksal değer o sayfaya gönderildiğinde aslında o sayfa veri tabanından git ve #FF0000 değerini al gibi bir emir veriliyor. Bunu çeşitlendirmek mümkün boyutlar,yazı tipleri,resim isimleri,hatta buton isimleri. Birçok CMS mesele PHP Nuke bu sistemle çalışır. Dinamik site hakkında bu kadar bilgi yeterli sanırım. Biz konumuza gelelim. PHP veri tabanına nasıl hükmedicez?

Veri tabanına hükmetmek için önce bir bağlantı kurmamız gerekir PHP birçok veri tabanı ile ilişkili olarak çalışabilir fakat biz en sık kullanılanı ve en uyumlusu olan mysql e bağlantı yapıcaz.

CODE:

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
<? $baglanti=mysql_connect($hostname,$kullaniciadi,$sifre); ?>
Evet mysql bağlantısını yapmak için bu komutu kullanacağız. $hostname,$kullaniciadi,$sifre ne anlama geliyor? $hostname sizin domain isminiz yani buraya string olarak domain adresiniz girmeniz gerekir. Eğer evde kendiniz bir apache server kurduysanız genelde buraya localhost yazılır. Fakat bir web sunucusunda bağlantı yapmak isterseniz buraya ve sunucunuzun size verdiği domaini string olarak yazmalısınız. Yukarda kullandığım şekliyle
yani değişkende domaininizi tutarak da bunu yapabilirsiniz. Gelelim $kullaniciadi ve $sifre değişkenlerine bu değişkenlerin yerinede ister direk web sunucunuzun size vereceği kullanıcı adı ve şifresini yazabilirsiniz ister yukarıda kullandığım gibi kullanıcı adı ve şifrenizi değişkenlere atarak kullanabilirsiniz. $baglanti değişkenini de bağlantıya bir etiket vermek için kullandık tam karşılamasa da böyle tabir edebiliriz.
Böylece veri tabanına bağlanmayı öğrendik. Kalıcı bir bağlantı yapmak içinde

CODE:

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
<?$baglanti=mysql_pconnect($hostname,$kullaniciadi,$sifre); ?>
komutunu kullanabilirsiniz. Siz bağlantıyı sonlandırmadıkça bağlantı hep aktif kalacaktır. Hazır yeri gelmişken bağlantıyı sonlandırmak içinde

CODE:

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
<?mysql_close($baglanti); ?>
komutu kullanılır. İşte daha önce oluşturduğumuz $baglanti değişkeni burada işimize yaradı. Gelelim bağlandığımız sunucudan veri tabanını seçmeye bunun içinde mysql_select_db() komutu kullanılmaktadır. Komutun kullanılışı şöyle

CODE:

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
<? $baglanti=mysql_connect($hostname,$kullaniciadi,$sifre); // suucuya bağlandık veri tabanını seçelim. mysql_select_db("veri tabanı ismi"); ?>
kodda görüldüğü gibi mysql_select_db() argüman olarak mysqlde tablolarınızın içinde bulunduğu veri tabanını ismini alıyor. Veri tabanınıda seçtikten sonra artık veri tabanına nasıl sorgu göndercez bunu öğrene biliriz. Veri tabanına sorgu göndermek için mysql_query() komutu kullanılır. Bu kmutun kullanımı şöylerdir.

CODE:

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
<? $sql="select * from tablo where id='1'"; $sorgu=mysql_query($sql,$baglanti); //yada $sorgu=mysql_query("select * from tablo where id='1'",$baglanti); ?>
şeklinde kullanılabilir. Simdi ne yaptığımıza bakalım bu komutun yaptığı iş basit mysql e sql sorgusu gönderiyor. ve $sorgu dizisine atıyor. Artık $sorgu değişkenimizde sql cümlesindeki anlam yüklü dilediğimiz gibi kullanabiliriz. Sql cümlelerinin ne anlama geldiği şimdilik bizim için önemli değil bunu başka bir derste anlatmayı uygun görüyorum. Fakat sadece bu sorgu için söylemek gerekirse tablo isimli tablodan id alanı 1 olan satırdaki tüm bilgileri alıyor. Şimdide bu sorguda kaç satırlık bilgi var bunu öğrenelim

CODE:

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
<? $sql="select * from tablo where id='1'"; $sorgu=mysql_query($sql,$baglanti); //yada $sorgu=mysql_query("select * from tablo where id='1'",$baglanti); $satir_sayisi=mysql_num_rows($sorgu); ?>
Evet artık elimizde sorgu ile kaç tane Satırı veri tabanından çektiğimizi veren bir değişken var yani $satir_sayisi değişkeni bize kaç tane kaydı veri tabanından çektiğimizin bilgisini veriyor. bu ne işimize mi yarayacak? Mesala çektiğimiz verileri sıralarken for döngüsünde son değer olarak kullanabilir. (tabi eğer tüm veriler sıralanacaksa for döngüsü kullanmanızı tavsiye etmiyorum bun yerine while kullanırsak daha profesyonel olur.) Şimdide çektiğimiz verileri nasıl düzenli bir hale getirip sayfamızda göstereceğiz bunu görelim

CODE:

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
<? $baglanti=mysql_connect($hostname,$kullaniciadi,$sifre); $sql="select * from tablo where id='1'"; $sorgu=mysql_query($sql,$baglanti); //Buraya kadar yukarıda anlattığım komutları aynen kulanıyorum. $sonuc=mysql_result($sorgu,0,0); echo $sonuc; ?>
Evet $sorgu dizisizinden veriyi almak için kullanılan yöntemlerden biri bu yani mysql_result() komutu bu komutun ne yaptığına gelince $sorgu dizisinden bir matris formatı gibi belirlenen hücrede ki veriyi $sonuc değişkenine alıyor yani 0,0 koordinatlarındaki veriyi alıyoruz. Burada ilk "0" satırın adresini ikinci "0" ise sütunun koordinatını belirtiyor. Yani mysql_result($sorgu,1,3) yazsaydık 2. satır 4. sütundaki veriyi alırdık. Şimdide başka bir yöntemden söz edelim daha doğrusu başka bir koddan söz edelim.

CODE:

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
<? $baglanti=mysql_connect($hostname,$kullaniciadi,$sifre); $sql="select * from tablo where id='1'"; $sorgu=mysql_query($sql,$baglanti); $sonuc=mysql_fetch_array($sorgu); echo $sonuc["name"]; echo $sonuc["sifre"]; ?>
Gelelim bu kodun açıklamasına veri tabanındaki tablomuzun adını tablo olduğunu varsayalım ve bu tablo da id , name , ve sifre alanları(sütunları) mevcut diyelim. Kodda kullandığımız mysql_fetch_array($sorgu komut $sorgu dizisindeki değerleri satır satır okur ve $sonuc dizisine atar. ve name alanın da ki veriyi ekranda yazdırmak için echo içerisinde $sonuc["name"] gibi bir değişken kullanırız. Benzer şekilde sifre alanı içinde $sonuc["sifre"] kullanılır. Eğer sorgumuzda 1den fazla satır var ise ve verileri ardı ardına sıralamak istiyorsak kodumuzda bir döngü çalıştırmalıyız örneğin;

CODE:

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
<? $baglanti=mysql_connect($hostname,$kullaniciadi,$sifre); $sql="select * from tablo"; $sorgu=mysql_query($sql,$baglanti); while ($sonuc = mysql_fetch_array($sorgu)) { echo $sonuc["name"]; echo $sonuc["sifre"]; } ?>
Yukarıdaki kodda sizinde fark ettiğiniz gibi sql cümlemizi biraz değiştirdik ve tablo isimli tablodaki tüm değerleri $sorgu dizisine çektik. Gelelim döngü kısmına ben bu kodda while döngüsünü uygun gördüm çünkü tüm tablodaki verileri sıralamak istiyoruz. while ın şartına gelelim. Görüldüğü gibi mysql_fetch_array($sorgu) komutunun okuyacağı satır bitene kadar döngümüz devam ediyor. Yani $sorgu dizisinden her defasında 1 satır okunuyor ve o da buluna name ve sifre sütunlarındaki veriler yazdırılıyor. Şu anda en sık kullanılan yöntem bu. Değerleri yazdırırken $sonuc[1] ve $sonuc[2] şeklinde de yazdırabilirdik yani sütunların sıra numarasını alan isimlerinin yerine kullanabilirdik. Son yöntemimizde bu yöntemle benzerlik gösteriyor. Hatta hemen hemen aynı. Şimdi yukarıdaki kodu diğer yöntemle yapalım.

CODE:

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
<? $baglanti=mysql_connect($hostname,$kullaniciadi,$sifre); $sql="select * from tablo"; $sorgu=mysql_query($sql,$baglanti); while ($sonuc = mysql_fetch_assoc($sorgu)) { echo $sonuc["name"]; echo $sonuc["sifre"]; } ?>
Görüldüğü gibi mysql_fetch_array yerine mysql_fetch_assoc kullandık mantık ikisi içinde aynı tek fark mysql_fetch_assoc ile çekilen verileri sütun numaraları vererek yani $sonuc[1] gibi bir değişken ile belirtemeyiz. Bu işi yapan bir başka komut ise mysql_fetch_row() komutudur kullanılışı mysql_fetch_assoc() ve mysql_fetch_array() ile aynıdır fakat mysql_fetch_assoc() komutunun aksine sadece çektiğimiz verileri sütun numaralarını vererek görüntüleyebiliriz. Örneğin $sonuc[1]; şeklinde verileri çekeriz. Son olarak sorgumuz bitirdikten sonra bu sorguları bellekten silmeyi öğreneceğiz. Eğer sorgular bellekte birikirsi bu sunucumuza fazla yüklenmemize neden olur. Buda yapacağınız yeni sorguların yavaşlaması dolayısıyla sitenizin yavaşlamasına neden olur. Bellekte tutulan sorgu sonuçlarını silmek için php de mysql_free_result() fonksiyonu kullanılır. Örneğin yukarıdaki koddaki sorguyu bellekten silelim.

CODE:

[ Tüm kodu seç ] [ Yeni Pencerede Göster ]
<? $baglanti=mysql_connect($hostname,$kullaniciadi,$sifre); $sql="select * from tablo"; $sorgu=mysql_query($sql,$baglanti); while ($sonuc = mysql_fetch_assoc($sorgu)) { echo $sonuc["name"]; echo $sonuc["sifre"]; } mysql_free_result($sorgu); ?>
Görüldüğü gibi mysql_query() ile çektiğimiz verileri mysql_free_result() komutu ile silmiş olduk.
Son Düzenleme: Kapalı Hesap (44214) ~ 19 Nisan 2009 22:29
efsane18
20-04-2009, 19:58   |  #5  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
173 mesaj
Kayıt Tarihi:Kayıt: Nis 2007

teşekkür edrim ama uğraştım yapamadım genede bilgileriniz için teşeküürler...