8 Ekim 2016 Cumartesi

PHP'de CSV Doyası Oluşturma:




PHP'de Veritabanından Veri Çekerek CSV Dosyası Oluşturma:


// Veritabanına Bağlanma //

<?php

 $host        = "host=domain_adresi";
 $port        = "port=5432";
 $dbname      = "dbname=veritabani_adi";
 $credentials = "user=veritabani_kullnici password=veritabani_sifre";
 $db = pg_connect( "$host $port $dbname $credentials"  );

// Veritabanına Bağlanamama Durumunda JavaScript ile Alert  Verme //

 if(!$db)
{
     echo '<script language="javascript">';
     echo 'alert("Veritabanina baglanma hatasi..!")';
     echo '</script>';
     exit;
 }



//Veritabanından Gelecek Veriler ile CSV Dosyası Oluşturma  //

function cleanData(&$str)
{
$str = preg_replace("/\t/", "\\t", $str);
$str = preg_replace("/\r?\n/", "\\n", $str);
if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}



$filename = "website_data_" . date('Ymd') . ".xls";

$option=$_POST['name'];// post yolu ile önceki .php sayfasındaki formun name="name" nesnesinden veri çekmek 
$start_date=$_POST['start_date'];// post yolu ile önceki .php sayfasındaki formun name="start_date" nesnesinden veri çekmek 
$end_date=$_POST['end_date'];



header("Content-Disposition: attachment; filename=\"$filename\"");

header("Content-Type: application/vnd.ms-excel");


$flag = false;

$result = pg_query("Select * from table_name") or die('Veritabanı hatası..!');

pg_close($db);


while(false !== ($row = pg_fetch_assoc($result))) {

if(!$flag) {

  // display field/column names as first row

echo implode("\t", array_keys($row)) . "\r\n";
$flag = true;

}

array_walk($row, 'cleanData');
echo implode("\t", array_values($row)) . "\r\n";

}

exit;
?>


Hiç yorum yok:

Yorum Gönder