Aramayan Bulamaz
×
veritabanı arama sorgusuna ait içerikleri görüntülemektesiniz.
PHP Nesne Tabanlı Programlama

Nesne tabanlı programlama, yazılım geliştirmek için kullanılan bir teknolojidir. OOP yani object-oriented programming, Türkçe karşılığı nesne tabanlı programlama, sağladığı standartlarla bileşen (component) programlamasını kolaylaştırmaktadır. C# temelinde nesne tabanlı bir dildir. Çok sayıda nesne hazır olarak C# içerisinde bulunur ve bu nesneler kullanılarak program yazılır. Ayrıca kendimiz de bir sınıf yazabiliriz.

OOP üç prensibe sahiptir.

Encapsution Inheritance Polymorphism

Encapsulation: Nesne hakkındaki bilgiler ve işlemlerdir. Metot ve özellik olarak adlandırılan bu işlemler nesnenin niteliklerini ortaya çıkartır. Bir arabanın rengi ve büyüklüğü gibi.

Inheritance: Nesnenin başka bir nesne üzerine, bir üst nesneden etkilenerek, kurulmasıdır. Bir bilgisayarın parçalardan oluşması ve parçalarında bilgisayarın tam nesnesinden etkilenmesi.

Polymorphism: Belirli bir işlemin bir çok nesne tarafından kullanılmasıdır.

PHP de Nesne Tabanlı Programlama

PHP de nesne tabanlı programlamayı anlayabilmek için ilk önce PHP'nin temel yapı taşları olan fonksiyonlar ve değişkenler konusunda tam bir bilgiye sahip olmak gerek.

Bir sınıf oluşturmak için class komutunu kullanırız.

sinif.php isminde bir dosya oluşturalım

<?php class bilgisayar{ } ?>

sınıfımızın içi boş bundan sonra buraya değişken tanımlaması ve fonksiyondan başka bir şey yapamayız, yapacağımız her işlem için fonksiyon yazmamız gerek. Burada mantık şu, yazacağımız sınıfa özel olan fonksiyonu yazıp gerektiği yerde gereken fonksiyonu çağırmamız gerek, veritabanı sınıfı yazıp içine grafiksel istatistik çıkaran bir fonksiyon yazmamız uygun olmaz.

<?php class bilgisayar{ public $marka, fiyat; function marka_tanimla($yenimarka){ $this->marka = $yenimarka; } function marka_goster(){ return $this->marka; } } ?>

Mysql\'de Kullanıcıları Konu Sayılarına Göre Listeleme

İki farklı tablomuz var, birinde açılan konular, diğerinde ise kullanıcılar.
Sistemde hangi kullanıcı konu açıyorsa o kullanıcının id bilgisi de konuların bulunduğu tabloda tutuluyor.
Konular Tablosunda
id, baslik, icerik, yayin, kullanici_id alanları var
Kullanıcılar Tablosunda
k_id, kullanici_adi, sifre, yetki alanları var

Biz yetki durumu 1,2 ve 3 olan kullanıcıları yayında bulunan konu sayılarına göre konu sayısı en fazla olan en üstte çıkacak şekilde göstermek istiyoruz.

Ben bunu çok uzun bir yöntemle yapmıştım, konuların bulunduğu yerden kullanıcı idlerini ve o kullanıcıların konu sayılarını ayrı ayrı alıp dizi değişkenine atayıp sıralayıp foreach ile döngüye sokup o şekilde sadece üç kullanıcı gelecek şekilde uzun sorgular topluğu şeklinde yapmıştım, daha kısa bir yöntem arıyordum ve Kerim Yılmaz (Ayazoğlu) kardeşim sayesinde çözdüm.

Tek bir sql sorgusu
select distinct(b.kullanici_id),k.kullanici_adi, (select count(id) from konular where kullanici_id=k.p_id) as toplam from kullanicilar kinner join konular b on b.kullanici_id=k.k_id where b.yayin=1 and k.yetki=1 or k.yetki=2 or k.yetki=3 order by toplam desc limit 3 sorguyu şu şekilde açıklayayım, tablo ilişkilendirmesi yaptık, bu konuda anlatmıştım tablo ilişkilendirmeyi, distinct ile veriyi tekrarsız çekiyoruz.
Konular tablosunda konusu olan kullanıcıları seçmiş olduk, ekran yazdırmak istediğimiz alanları seçtik sadece veritabanından, kullanici_adi, konu sayıları ve kullanıcı idleri.
select işlemi yaparken içerde parantez içinde bir select sorgusu daha kullandık, bura da count ile konuların sayılarını aldık ve hangi kullanıcının konu sayısını alacağımızı where koşuluyla belirttik daha sonra aldığımız bu sayıları toplam isimli bir alana aktardık ve toplam alanındaki değere göre tersten sıralayarak sadece 3 kişi gelecek şekilde kişileri seçmiş olduk.
sorguyu phpMyAdmin de çalıştırınca resimdeki g

Windows\'ta IIS Üzerinde PHP Çalıştırmak ve Url Rewrite Yapımı

Windows'ta IIS (Internet Information Services) üzerinde php çalıştırmak için yapmanız gerekenleri anlatacağım, IIS kurulu değilse ilk önce IIS'i kuruyoruz. Bunun için Denetim Masası => Programlar ve Özellikler => Windows Özelliklerini Aç veya Kapat seçeneğine giriyoruz, burada IIS'i bulup aktifleştiriyoruz ve kaydedip çıkıyoruz.













IIS kuruldu, şimdi PHP & Mysql ve php ile seo url yapabilmemiz için UrlRewrite eklentisini kuruyoruz. Hepsini tek tek kendi sitelerinden de indirebilirsiniz, fakat Microsoft'un yapmış olduğu Web Platformu Yükleyicisi aracıyla tüm bunları tek bir tıkla kurabiliyoruz. Web Platformu Yöneticisini indiriyoruz ve çalıştırıyoruz.











Ürünler sekmesine geçiyoruz



Bu ekranda;
IIS Express için PHP 5.4.9 Url Yeniden Yazma 2.0 MySQL Windows 5.1 bunları seçiyoruz ve yükle butonuna basıyoruz.



Mysql veritabanının root kullanıcısı için şifre belirliyoruz







Bu araçlar kurulurken diğer yandan mysql yönetim scripti olan phpMyAdmin scriptini indirip localhostumuzun bulunduğu dizine atalım.







Bileşenler kuruldu şimdi test edelim, phpMyAdmin paneline girebiliyorsak eğer php ve mysql kurulmuş ve ayarlanmış demektir.





Evet herşey sorunsuz.
IIS kurulumunu sanal bilgisayar üzerinden anlattım, çünkü normal bilgisayarda kuruluydu, şimdi anlatımın devamına normal bilgisayarımdan devam edeceğim.

IIS üzerine site eklemek için ilk önce siteler bölümüne gelip en sağda site ekle butonuna tıklamamız gerekmekte;



Port belirlememiz gerekli, 8890 belirledim ben siz istediğiniz bir numara belirtebilirsini

Paralıydı, Artık Parasız Sistem - Hastane Laboratuvar Sonuçları Sistemi

Evet arkadaşlar konunun başlığından da anlayacağınız üzere parayı ödemeyen bir müşteri iki ay bekletti bizi ve daha fazla beklemenin bi anlamı olmadığını ve ne yaparsak yapalalım parayı vermeyeceğini anladık  bizde KENDİ YAZDIĞIMIZ sistemi ücretsiz olarak dağıtmaya karar verdik  parasını vermeyen müşterinin sonu her zaman böyle olmuştur, sen o kadar emek ver geceni gündüzüne kat ondan sonra o da senin emeğinin karşılığını vermesin yazık yapılan onca emeğe neyse bundan sonra ortağımla çalışma şartlarımızı tamamen değiştiriyoruz bu yediğimiz son kazık olması dileğiyle yeni şartlarımız şöyle: ya sözleşme yapılacak yada para verilene kadar bizim sunucumuzda barınacak, dns yönlendireceksiniz ve ödeme yapılana kadar bizde duracak sizde ise sadece yönetim paneli bulunacak ftp ve mysql bizde olacak o da yok yani  ya parayı ödersiniz yada siteyi gene ücretsiz olarak dağıtır domaini sileriz yada sözleşme yaparız her türlü parayı ödersiniz ve hiçbi türlü sistem dağıtılmaz seçim sizin herneyse ücretsiz olarak dağıttığımız sistemi tanıtmaya geçelim isterseniz küçük bi not daha veritabanındaki 250 tane hastane ile birlikte vereceğiz 

Sistemden genel görüntüler:










Sistemin demo hali bu sayfada : http://hastane.niyazialpay.com
Sistemi bu sayfadan indirebilirsiniz : http://hastane.niyazialpay.com/download/

Rar şifresi: http://hastane.niyazialpay.com/

C# Veritabanında Sorgu Çalıştırma

C# ta veritabanında sorgu çalıştırabilmemiz için SqlCommand komutunu kullanırız, ben örneğimize MySql üzerinden devam edeceğim için MySqlCommand komutunu kullanacağım.
Yeni bir windows form uygulaması başlatıp, iki buton bir de listview ekliyoruz. Butonun birine "Bilgileri Getir" diğerini "Bilgiyi Sil" isimlerini veriyoruz.İlk önce veritabanı bağlantımızı yapmak için bağlantı komutlarımızı yapıp bağlantıyı açıyoruz. MySqlConnection baglanti = new MySqlConnection("server=localhost; userid=root; password=root; database=cryptograph"); Bilgileri Getir ismini verdiğimiz butonun click olayına hata kontrol komutlarımızı kullanarak bağlantımızı açıyoruz ve veriler çekmek için gerekli komutlarımızı yazıyoruz.
try { baglanti.Open(); MySqlCommand sorgu = new MySqlCommand("SELECT * FROM blog ORDER BY id DESC", baglanti); MySqlDataReader oku = sorgu.ExecuteReader(); while (oku.Read()) { listView1.Items.Add(oku["blog_baslik"].ToString()); } } catch (Exception hata) { MessageBox.Show(hata.ToString(), "Hata"); } finally { baglanti.Close(); }
MysqlCommand komutu ile sorgu isminde bir nesne tanımladık ve sql sorgumuzu belirtip hangi bağlantıyı kullanacağını belirttik.SELECT * FROM blog ORDER BY id DESC sql sorgumuz, burada blog isimli tablodan verilerin id alanına gire tersten sıralanacak şekilde getirilmesini istedik.MysqlDataReader ile bir data reader nesnesi oluşturduk, yani veritabanından bilgileri okuyacak olan nesne, oku isimli nesneye sorgu.ExecuteReader(); bu komut ile bilgiyi nereden okuyacağını belirttik, sorgu isimli nesneden alacak bilgiyi.Daha sonra bunu döngüye sokarak listview içine ekledik veriyi. Try içerisinde gerçekleşen sorgular bittiğinde finally içerisindeki sorgu çalıştırılır, yani durum gerçekleşse de gerçekleşmese de en sonda yapılacak işlem burada belirtiliyor,