Скачать данные через mysql

0

//Соединение с базой данных

$host="localhost";
$uname="root";
$pass="";
$database = "xyz";  

$connection=mysql_connect($host,$uname,$pass); 

echo mysql_error();

//или умереть ("Ошибка подключения к базе данных");

$selectdb=mysql_select_db($database) or die("Database could not be selected");  
$result=mysql_select_db($database)
or die("database cannot be selected <br>");

//Получение записи из базы данных

$output         = "";
$table          = ""; // Enter Your Table Name
$sql            = mysql_query("select * from $table");
$columns_total  = mysql_num_fields($sql);

//Получить имя поля

for ($i = 0; $i < $columns_total; $i++) {
    $heading    =   mysql_field_name($sql, $i);
    $output     .= '"'.$heading.'",';
}
$output .="\n";

//Получить записи из таблицы

while ($row = mysql_fetch_array($sql)) {
for ($i = 0; $i < $columns_total; $i++) {
$output .='"'.$row["$i"].'",';
}
$output .="\n";
}

//Загрузите файл

$filename =  "myFile.csv";
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename='.$filename);

echo $output;
exit;
Теги:

1 ответ

0

Создайте соединение и используйте следующий код для генерации CSV в PHP.

$result = mysqli_query ($mysqliConn,"SELECT * FROM core ORDER BY start_datetime ASC");

$fields = mysqli_fetch_fields($result);

if (!$result) die('Couldn\'t fetch records');
$num_fields = mysqli_fetch_fields($result);
$headers = array();

foreach ($fields as $field) {
                $headers[] = $field->name;
}

$fp = fopen('php://output', 'w');
if ($fp && $result) {
    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename="core.csv"');
    header('Pragma: no-cache');
    header('Expires: 0');
    fputcsv($fp, $headers);
    while ($row = $result->fetch_array(MYSQLI_NUM)) {
        fputcsv($fp, array_values($row));
    }
    die;
}

Надеюсь это поможет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню