Извличване на лист от DB във файл

  • Автор Автор Hous
  • Начална дата Начална дата

Hous

Registered
Мъчих мъчих и се отказах, искам ако може при клик на бутон да се запишат всички записи от дадена заявка (всеки на нов ред) във един txt файл с орпеделено от мен име, но не на сървъра а да се появи като диалог със въпрос за download...
Някой да помогне?
Благодаря :)
 
PHP:
<?php
$db = array(
    0 => array(
        'row1' => 'content1',
        'row2' => 'content2',
    ),
    1 => array(
        'row1' => 'content1',
        'row2' => 'content2',
    ),
    2 => array(
        'row1' => 'content1',
        'row2' => 'content2',
    ),
);

$content = "row1,row2\n";

foreach($db as $row) {
	$content .= "{$row['row1']},{$row['row2']}\n";
}

$filename = "yourfile.txt";

header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Length: ". strlen($content).";");
header("Content-Disposition: attachment; filename=$filename");
header("Content-Type: application/octet-stream; "); 
header("Content-Transfer-Encoding: binary");

echo $content;

Ако не е ясно, вместо $db масива - това ти е масива от базата данни, и съответните полета. $filename можеш да го взимаш от input type="text". :)
 
PHP:
<?php
$query = mysql_query('SELECT * FROM `table` WHERE ...');

$content = "row1,row2\n";

while($row = mysql_fetch_assoc($query)) {
	$content .= "{$row['row1']},{$row['row2']}\n";
}

$filename = "yourfile.txt";

header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Length: ". strlen($content).";");
header("Content-Disposition: attachment; filename=$filename");
header("Content-Type: application/octet-stream; "); 
header("Content-Transfer-Encoding: binary");

echo $content;

Ако имаш въпроси, питай :)
 
Малко играчка беше (така написан трудно се разбра кое точно е стойността) но се справих.
+1 :)
 

Back
Горе