Kategoriler
Dersler

C++ ile Mesaj Kutusu Göstermek

C++ kodlaması yaparken, bir işlem sonucu veya bir soruya evet / hayır şeklinde cevap verdirmek istediğimizde ekrana uyarı mesajı ya da hata mesajı belirtmek isteyebiliriz. C++ kodlarken herhangi bir görsel editöre sahip olmadığımızı düşürsek, bu yazıda ayrıntılı bir şekilde mesaj kutusu mantığını kavrayabiliriz.

Kategoriler
Dersler

PHP ile MySQL verilerini Excele Aktarma

MySQL de tuttuğumuz bilgileri bazen Excele aktarmamız gerekebiliyor. Php ile bunu yapmak oldukça basit. Fakat kodlamaya başlamadan önce gidiş haritamızı çizelim. MySQL verilerini aktarırken oluşacak Türkçe karakter sorunlarını çözelim.

  1. Veritabanı bağlantısı oluştur.
  2. Dosya adını belirle.
  3. Hangi tabloyu bastıracağımız belirt.
  4. Döngüye  alarak satırları ve sütunları doldur.
  5. Satır ve sütunlarda oluşacak Türkçe Karakter sıkıntılarını çöz.
  6. Dosyayı serverımıza kaydet.
  7. Yazdırdığımız dosyayı indir.

MySQL veritabanımızı Excele aktarırken öncelikle 2 sayfa oluşturacağız ve bunlar olustur.php ile indir.php adında olacaklar. Ardından aşağıdaki kodları kullanabiliriz.

>> olustur.php

 
<?
// Veritabanı Bağlantısı
$host="alperenozlu.com";
$db="alperenozludatabaseadi";
$user="alperenozlu_kullaniciadi";
$pass="alperenozlu_sifree";
$conn=@mysql_connect($host,$user,$pass) or die("Mysql Baglanamadi");
mysql_select_db($db,$conn) or die("Veritabanina Baglanilamadi");
mysql_set_charset('utf8',$conn);
mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci' ");
if(isset($_POST["excelolustur"])){ // FORM SONUC
$dosya = "olusturalacakdosya.xls"; // EXCEL TABLOSU ADI
$yaz = @fopen($dosya,'w+'); 
$tablo_adi = "tabloadi"; // Tablo Adi
$tablo_sorgu = mysql_query("select * from $tabloadi");

fwrite($yaz,"Adt Soyadt Bolumt Emailt Telefont n");
// Bu kod aşağıdaki şemayı çıkarmaktadır.
// A  | B  |   C   |  D  |   E   
// -----------------------------
// ID | Ad | Soyad | Yaş | Email
// -----------------------------

while ($tablo_sonuc = mysql_fetch_row($tablo_sorgu)) {
// Türkçe karakterini çözmek için;
// mb_convert_encoding($tablo_sonuc[sayi], "iso-8859-9", "UTF-8"); kullanılır.
$sutun0 = $tablo_sonuc[0]; // Id olduğu için karakter düzeltmedik. 
$sutun1 = mb_convert_encoding($tablo_sonuc[1], "iso-8859-9", "UTF-8");
$sutun2 = mb_convert_encoding($tablo_sonuc[2], "iso-8859-9", "UTF-8");
$sutun3 = $tablo_sonuc[3]; // Yaş olduğu için karakter düzeltmedik. 
$sutun4 = $tablo_sonuc[4]; // E-posta olduğu için karakter düzeltmedik. 

fwrite($yaz,"$sutun0t $sutun1t $sutun2t $sutun3t $sutun4tn"); 

//Gelen verileri satırlara yazdırdık.
}

mysql_free_result($tablo_sorgu); 
fclose($yaz);
echo "İşlem Tamamlandı"; 
exit;
}
?>
<FORM ACTION="?page=olustur" method="post">
<INPUT TYPE="submit" value="Verileri Aktar" name="excelolustur"> 
</FORM>

İndirme sayfası için ise şöyle bir kod yazabiliriz. ( Bazı excel sürümlerinde otomatik indirmeyebilir, eğer bir hata olursa yorum kısmına yazınız)

>> indir.php

<?php
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="indirelecekdosyaaadi.xls"'); // <-- düzenleyin
header ('Content-Transfer-Encoding: binary');
header('Cache-Control: max-age=0');
$dosyayolu = "uploads/excel.xls"; // <-- düzenleyin
readfile($dosyayolu);

?>

Ardından indir.php’yi çalıştırarak, excel dosyanızı indirebilirsiniz.