2015-03-31 5 views
1

Так у меня есть рабочий код, как этотЭкспорт файл в формате TXT с PHP

<html> 
<head> 
<title> COBA </title> 
<script language="javascript" type="text/javascript"> 
function urlorder(a) 
{ 
    var urlorder="order.php?on="+a; 
    var prmpt=window.open(urlorder,"test","left=200,top=150,scrollbars=yes,resizable=no,width=640,height=480"); 
} 
function printorder(a,b) 
{ 
    var urlorder="printorder.php?on="+a+"&nu=2&tgl="+b; 
    //var prmpt=window.open(urlorder,"test","left=200,top=150,scrollbars=yes,resizable=no,width=640,height=480"); 
    window.location = urlorder; 
    //alert (urlorder); 
} 
</script> 
</head> 
<body> 

<? 
//include "ceksession.php"; 
include 'connect.php'; 

//ambil tgl val 
$q = "select tgl_val from para_info_kntr"; 
$s = OCIParse($c,$q); 
OCIBindByName($s,":bind1",$ltid); 
OCIExecute($s,OCI_DEFAULT); 
while (OCIFetch($s)) 
{ 
    $tgl=ociresult($s,"TGL_VAL"); 
    echo $tgl."<br>"; 
} 
$tgl= date('d-m-Y', strtotime($tgl)); 
$tgl= date('d-m-Y'); 

$tgl = $_GET["tgl"]; 

echo "<div align=\"right\">"; 
echo "<input type=\"button\" onclick=\"window.location='month.php'\") value=\"HOME\">"; 
echo "</div>"; 
echo "<div align=\"center\">"; 
echo "<table border=\"1\">"; 
echo "<tr><td colspan=\"44\">"; 
echo "<div align=\"center\">PAYMENT LIST</div>"; 
echo "</td></tr>"; 

$q = "Select AMOUNT, SERVICES, BILL_NO, ORDER_NUMBER, TOTAL_AMOUNT, to_char(PAY_DATE,'YYYY-MM-DD HH:MI:SS') as PAY_DATE from payment_final where bt_number=".$bt_number." and to_char(tgl_val,'DD-MM-YYYY')='".$tgl."' order by bill_no"; 

$s2=OCIParse($c_slave,$q); 
OCIBindByName($s2,":bind1",$ordernumber); 
OCIExecute($s2,OCI_DEFAULT); 

    echo "<tr><td>"; 
    echo "PAY_DATE"; 
    echo "</td><td>"; 
    echo "ORDER_NUMBER"; 
    echo "</td><td>"; 
    echo "AMOUNT"; 
    echo "</td><td>"; 
    echo "SERVICES"; 
    echo "</td><td>"; 
    echo "BILL_NO"; 
    echo "</td></tr>"; 

while (OCIFetch($s2)) 
{ 
    $V_GUEST_FOLIO  = oci_result($s2,'GUEST_FOLIO'); 
    $V_PAY_DATE   = oci_result($s2,'PAY_DATE'); 
    $V_ORDER_NUMBER  = oci_result($s2,'ORDER_NUMBER'); 
    $V_AMOUNT    = oci_result($s2,'AMOUNT'); 
    $V_SERVICES   = oci_result($s2,'SERVICES'); 
    $V_BILL_NO   = oci_result($s2,'BILL_NO'); 

    echo "</td><td>"; 

    echo "<a href=\"order.php?on=".$V_ORDER_NUMBER."\">"; 
    echo $V_PAY_DATE; 
    echo "</a>"; 
    echo "</td><td>"; 
    echo $V_ORDER_NUMBER; 
    echo "</td><td>"; 
    echo $V_AMOUNT; 
    echo "</td><td>"; 
    echo $V_SERVICES; 
    echo "</td><td>"; 
    echo $V_BILL_NO; 
    echo "</td><td>"; 
    echo "<input type=\"button\" onclick=\"printorder(".$V_ORDER_NUMBER.",'".$tgl."')\") value=\"PRINT\">"; 
    echo "</td></tr>"; 

} 
?> 
</body> 
</html> 

результат выглядит следующим образом: enter image description here

Теперь я хочу, чтобы добавить кнопку «СОХРАНИТЬ». При нажатии кнопки он экспортирует текстовый файл (txt). Содержимое текстового файла следует взять из запроса (то, что показано в таблице в веб-страницы) и отформатированный как это:

PAY_DATE   |ORDER_NUMBER | AMOUNT | SERVICES| BILL_NO  
02/01/2015 08:35:58 |298479   | 130200 | 6510 | RS01022015001 
02/01/2015 08:40:43 |298485   | 25800 | 1290 | RS01022015002 
02/01/2015 08:41:04 |298480   | 239600 | 11980 | RS01022015003 
02/01/2015 08:44:37 |298484   | 269400 | 13470 | RS01022015004 
02/01/2015 08:48:18 |298482   | 286400 | 14320 | RS01022015005 
02/01/2015 09:09:11 |298490   | 417000 | 20850 | RS01022015006 
02/01/2015 09:09:16 |298492   | 49600 | 2480 | RS01022015007 
02/01/2015 09:18:45 |298499   | 119200 | 5960 | RS01022015011 
... until end of file. 

Можете ли вы, ребята, помочь мне с этим?

+0

Есть несколько JQuery плагин для экспорта HTML таблицы. Попробуйте google, что – Phate01

ответ

0

Несколько вариантов. 1) Не знаком с OCI (oracle?), Но, возможно, есть функция экспорта, аналогичная mysql «INTO OUTFILE».

2) Вы можете взять HTML через Javascript некоторого fgrep магии

3) То же, что вы делаете сейчас, но вместо того, чтобы использовать ... Я думаю, что обивка довольно неудобно в вашей выборке - я буду на самом деле игнорировать это.

//first headers 
$headers = array(); 
$headers[] = str_pad("PAY_DATE", 20); 
$headers[] = str_pad("ORDER_NUMBER", 16); 
//etc. 
$headers = implode('|', $headers); 

//data 
$rows = array(); 
while (OCIFetch($s2)) 
{ 
    //this is really similar to what you do 
    $V_PAY_DATE = oci_result($s2,'PAY_DATE'); 
    $V_ORDER_NUMBER = oci_result($s2,'ORDER_NUMBER'); 
    //but this instead (follow pattern from header-section) 
    $datarow = array(); 
    $datarow[] = str_pad($V_PAY_DATE, 20); 
    $datarow[] = str_pad($V_ORDER_NUMBER, 16); 
    $rows[] = implode('|', $datarow); 
} 

$data = $headers . "\n" . implode("\n", $rows); 
file_put_contents('/path/to/file.txt', $data); 

Осторожно - Не тестировался - я печатаю, как обезьяна, так что, вероятно, полна ошибок опечатка х и синтаксических ...

+0

Ah - теперь я увидел «оракул» -tag. –

Смежные вопросы