Aramayan Bulamaz
×
Veritabanında arama sorgusuna ait içerikleri görüntülemektesiniz.
MongoDB Kurulum ve Konfigurasyonu (Kullanıcı Yetkilendirmesi ve SSL Kurulumu)

Linux işletim sistemine MongoDB kurulumu için öncelikle MongoDB repolarını işletim sistemine eklemeniz gerekmekte.

Linux Redhat / CentOS

1. Adım: /etc/yum.repos.d/mongodb-org.repo dosyasının içerisine aşağıdaki bilgileri eklemeniz gerekmekte. Şu anda son sürüm 4.0 daha sonra farklı bir sürüm çıkarsa eğer o sürüme ait olan repoyu eklemeniz gerekecektir. Güncel MongoDB sürümünü  bu bağlantıdan öğrenebilirsiniz.

[mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

2. Adım: Kurulum

yum install -y mongodb-org

Ubuntu

1. Adım: MongoDB servisine ait public key bilgisini işletim sistemine import etmemiz gerekiyor

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

2. Adım: /etc/apt/sources.list.d/mongodb-org.list dosyasının içerisine aşağıdaki bilgileri eklememiz gerekmekte.

Ubuntu 14.04 için

echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

Ubuntu 16.04 için

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

3. Adım: Paketleri güncelle

sudo apt-get update

4. Adım: Kurulum

sudo apt-get install -y mongodb-org

Konuya CentOS üzerinden devam edeceğim. Kurulum işlemi sonrasında service mongod start komutunu vererek servisi başlatabilirsiniz. MongoDB kurulumu tamamlandı ve kullanıma hazır durumda terminal üzerinden mongo komutunu vererek MongoDB'nin shell ekranına giriş yapabilirsiniz. MongoDB daha &ou

Plesk Panel Mysql Admin Şifresini Güncelleme

Plesk panel servisleri bir mysql veritabanı kullanarak çalışmaktadır. Plesk panele ait bilgiler, sunucuda ekli olan siteler ve o sitelerin özelliklerinin bir çoğu "psa" isimli veritabanında tutulmaktadır. Plesk panel psa isimli veritabanına admin kullanıcısı ile bağlanmaktadır. Bu admin kullanıcısının mysql şifresi değiştirilirse eğer Plesk panel girişinde bir hata mesajı ile karşılaşabilirsiniz ve erişim sağlayamazsınız. Aşağıdaki komutu SSH üzerinden çalıştırarak Plesk admin şifresini görüntüleyebilirsiniz.

# /usr/local/psa/bin/admin --show-password

Admin şifresi değiştirildiğinde bu komut çalıştırıldığında da hata alabilirsiniz. Aşağıdaki komutları çalıştırarak Plesk panel mysql admin şifresini tekrar düzeltebilir ve bu problemi çözebilirsiniz.

# export PSA_PASSWORD=buraya_şifreniz_gelecek # /usr/local/psa/admin/bin/ch_admin_passwd

PHP Data Object - PDO

PHP de veri tabanına bağlanma ve sorgu çalıştırmayı anlatmıştım.
Klasik veri tabanı bağlantısı mysql_connect() komutu ile yapılıyor, sorgu çalıştırma mysql_query() ile yapılıyor fakat pdo yapısı biraz farklı. PDO php 5.2 den sonra gelen bir veri tabanı sorgu sınıfı, yani nesne tabanlı bir yapı.
En güzel özelliği çoklu veri tabanı desteği olması. Oracle, SQL Server, MySQL gibi farklı veritabanlarına bağlanabilme özelliği sunuyor. Ayrıca kendi içerisinde sql injection koruması olan bir sınıftır.

$db = new PDO('mysql:host=localhost;dbname=veritabanı adı', 'kullanıcı adı', 'sifre'); PDO sınıfını db değişkenine bağlı olarak oluşturduk, sorgularımızı bu sınıfa bağlı methodlar ile yapacağız.

query() methodu genel olarak tüm sorgularda kullanılır.
exec() methodu bilgi girişi, güncelleme, silme gibi veri tabanına değer göndermede kullanılır.
prepare() methodu query() methodundaki gibi tüm sorguları çalıştırmada kullanılır fakat buna ek olarak bir de execute() methodu kullanılır, prepare ile yapılan sorgunun uygulanması için.
fetch() methodu; tek bir sonuç getirmek için kullanılır, query ile çalıştırılmışsa sorgu query den sonra, prepare ile çalıştırılmışsa sorgu execute methodundan sonra kullanılır.

Veritabanından dataların sayılarını getirmek istediğimizde fetch(PDO::FETCH_NUM) kullanılır.

Örnek olarak bir sorgu çalıştırayım, sorguyu query ile yapacağım. $sorgu = $db->query('select * from blog where id=1')->fetch(); Veritabanından id değeri 1 olan konuyu getiren sorguyu yazdık. Bu şekilde de yapabilirdik $sorgu = $db->query('select * from blog where id=1'); $sorgu->fetch(); İkisi de aynı işlemi yapıyor. echo $sorgu['blog_baslik'];
İ

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

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/