16 Mart 2017 Perşembe

SQL'de Birden Fazla Alanı Tek Alan Yapmak




           SQL'de Aynı Kolondaki Birden Fazla Alanı Tek Alan Yapmak:



   SQL'de bir kolona ait birden fazla alandan dönen verileri tek bir alan içerisine yazdırmak için aşağıdaki gibi sorgu yazabiliriz:



SELECT surid, string_agg(sqql, '+') AS sqql_list
FROM  dyndeneme d, dyntestsym t where t.oid=d.oidtestsym and surid=surecid
GROUP  BY 1 // sorgudaki string_agg() fonksiyonu ile sqql adındaki kolondan dönen değerlerin arasına '+' işareti koyarak tek bir alana yazıyor.



15 Mart 2017 Çarşamba

Linux (Centos 7) Firewall Ayarları ve Port Açma



                             

                                          CentOS 7 Firewall Port Açma 



firewall-cmd --list-all : Makinede açık ve kullanılıyor olan portların listesini ekranda gösterir.

firewall-cmd --add-port=8733/tcp --permanent : firewall üzerinde 8733 portunun açılması.



/etc/firewalld altında firewalld servisinin ayarları bulunmaktadır.
/etc/firewalld/zones/public.xml altında varsayılan zoneda açılan portlar saklanmaktadır.
–permanent parametresi değiştirilen portların kalıcı olarak saklanmasını sağlar.
firewall-cmd --reload : firewall yeniden başlatılır.

                                                               
                                                  Firewall Ayarları

firewall-cmd --permanent --get-services : firewall servislerine erişim.
systemctl status firewalld : firewall aktif mi değil mi ?.
firewall-cmd --state : firewall aktif mi değil mi ?.
systemctl stop firewalld : firewall kapatma.
systemctl start firewalld : firewall açma.




10 Mart 2017 Cuma

PHP'de String İşlemleri


    

       PHP'de explode() Fonksiyonu: 

Metin ifadeleri bir ayraç ile parçalamak için explode() fonksiyonu kullanılır. Bu fonksiyon, string ifade içinde belirlenen ayraç bulunduğu müddetçe metni parçalar ve bir dizi olarak geri döndürür.


Sözdizimi: explode(ayraç,string,limit)

Ayraç: gereklidir.
String: gereklidir.
Limit: isteye bağlıdır. Limit pozitif ise en çok belirtilen sayıda eleman içerir. ve metnin kalanı son elemana yerleştirilir.Limlit negatifse son limlit eleman hariç tüm elemanlar döndürülür. Limit sıfırsa dizi, 1 eleman gösterilir.

$meyve "Elma,Armut,Kiraz,Muz,Şeftali,nar";


$dizi explode (",",$meyve,-2);


echo '<pre>';


print_r ($dizi);


echo '</pre>';
Çıktısı:

  Array
(
    [0] => Elma
    [1] => Armut
    [2] => Kiraz
    [3] => Muz
)

Client bağlantısı ile veritabanından dizi şeklinde dönen değerlerin 
sayfada listelenmesi: 


try {       
     $client = new SoapClient ( $url . "?wsdl", $params );
     $data = $client-> __soapCall("stringprocess", array($cduser));

     $menu = explode(" ", $data. "\n");
         
     foreach ($monu as $key => $value)
     {
      echo "<p>".$key."</p>";//dizi elemanlarının indexlerini tutar
      echo "<p>".$value."</p>";//dizi elemanlarını tutar
      echo "<hr />";
     }

     }
catch(Exception $e) {
 die($e->getMessage());
}


9 Mart 2017 Perşembe

PHP ile Sistem Tarih ve Saatini Yazdırmak



   
               PHP'de sistem tarihini projelerimizde kullanmak için aşağıdaki kodları yazabiliriz. 


<?php

$tarih = date("d.m.Y"); //Sistemde görünen güncel tarihi almak için
$saat = date("H:i:s"); //Sistemde görünen güncel saati almak için

echo "Tarih :".$tarih."<br>";
echo "Saat:".$saat;
?>

7 Mart 2017 Salı

PHP - Oracle Fonksiyonunun Kullanımı




   PHP'de Oracle Fonksiyona Parametre Gönderme:





 function data_analiz($tablo, $kosul, $islem) // client tarafından bu fonksiyon çağrılıyor, kullanıcının girdiği veriler post metodu ile buraya düşüyor
   {
      $conn = "(DESCRIPTION=(ADDRESS = (PROTOCOL = TCP)(HOST = btctestdb.baticim.com.tr)(PORT = 1541))(CONNECT_DATA=(SID=BTCMTEST)))" ;//oracle bağlantısı
 

    if($conn = OCILogon("SOFTEXPERT", "SOFTEXPERT", $conn))//bağlantıda kullanıcı şifre kontrolü
    {
$stid = oci_parse($conn, 'begin apps.xxbtc_softexpert_sorgu_f(:p_tablo, :p_kosul, :p_islem); end;');//burada oracle tarafında tanımlı olan fonksiyonu çağırıyorum

//ALTERNATİF KULLANIM OLARAK, ORACLE'da TANIMLI FONKSİYONUN SELECT SORGUSUNDA KULLANIMI
$stid = oci_parse($conn, "Select apps.xxbtc_softexpert_sorgu_f(:p_tablo, :p_kosul, :p_islem) as deger from dual");


        oci_bind_by_name($stid, ':p_tablo', $tablo);// kullanıcının gireceği değerlerin aktarılması
        oci_bind_by_name($stid, ':p_kosul', $kosul);
        oci_bind_by_name($stid, ':p_islem', $islem);


//ALTERNATİF KULLANIM OLARAK, SELECT SORGUSUNDA as deger ADI ÜZERİNDEN FONKSYİON SONUCUNUN DEĞİŞKENE AKTARILMASI
while (oci_fetch($stid)) {
    $id = oci_result($stid, [0]);
  }
   return $id;
       
        $sonuc = oci_execute($stid);

     }
      else
      {
        $err = OCIError();
       echo "Baglanti Hatasi." . $err[text];
      }
   
      return $sonuc;
   
   }

6 Mart 2017 Pazartesi

PHP - SOAP Servisleri Türkçe Karakter Sorunu





         PHP - SOAP Türkçe Karakter Sorunun Çözümü: 



 PHP - SOAP web servisleri uygulamalarında türkçe karakter desteği hatası alıyorsak sorun HTML, PHP  ve bağlanılan Veritabanı tarafında değil ise sorunu en son SOAP servis tarafında çözmeye bakmak gerekir. Durum şu ki veritabanından gelen datalar SOAP servisten yorumlandığı için PHP tarafında yaptığımız Türkçe karakter ayarları etkisiz kalıyor. Öyle bir durumda aşağıdaki gibi  UTF-8 SOAP servis ayarı yapmak gerekir.   
           
           $servis ->soap_defencoding = 'UTF-8';
           $servis ->soap_defencoding = 'UTF-8';
           $servis ->soap_defencoding = 'UTF-8';