Получение информации с html страницы

101
18 апреля 2019, 01:50

Есть страница, с таблицей из дивов, куда добавляются ордера пользователей из БД, мне нужно эти ордера экспортировать в csv таблицу, как это можно сделать? Читал, что можно как-то информацию вытащить в файл на сервере и после его уже скачивать, но не совсем понимаю как это сделать.

<?php   
session_start();
include_once('db.php');
if(isset($_SESSION['userid'])){
    $sesion_id=$_SESSION['userid'];
    $result = $mysqli->query("SELECT * FROM `user` where id=$sesion_id");
    $row = $result->fetch_assoc(); 
    $result2 = $mysqli->query("SELECT * FROM `user_prefs` where id=$sesion_id");
    $user_prefs_row = $result2->fetch_assoc();
    $validsql=$mysqli->query("SELECT * FROM `wallets` WHERE id='".$sesion_id."'");
    $valid_row = $validsql->fetch_assoc();
}
else{
    header("");
    exit;
}
if(isset( $_POST['btnexp'] ) )
{
    $check = $mysqli->query("SELECT * FROM `trade_history`  where $sesion_id=ID_mycode.phpprod");
    $results = array();
    while ($row = $check->fetch_assoc())
    {
        $results[] = $row['Val'] . ',' . $row['Prod'];
    }
    $content = join($results, "\n"); 
    $result->free();
    header("Content-Type: text/csv");
    header("Content-Disposition: attachment;filename=myfilename.csv");
    echo $content;
}
?>
Answer 1

Вы в правильном направлении читали. Вы должны написать сценарий на сервере (это будет PHP, Java, Ruby или любой другой серверный язык) который будет выбирать нужные данные из БД, формировать ответ(содержимое файла) и возвращать его на ваш запрос, установив нужные заголовки

"Content-Disposition": "attachment;filename=myfilename.csv"
"Content-Type": "text/csv"

Более точно как это сделать можно сказать только зная что вы используете на сервере

Пример для PHP (можно посмотреть на phpfiddle)

<?php
/**
 * Mysqli initial code
 * 
 * Export to CSV example
 * 
 * @package         PhpFiddle
 * @link            http://phpfiddle.org
 * @since           2012
*/
require_once "dBug!.php";
require "util/public_db_info.php";
$short_connect = new mysqli($host_name, $user_name, $pass_word,   $database_name, $port);
$sql = "SELECT * FROM books";   
$result = $short_connect->query($sql);
if (($result) && ($result->num_rows > 0))
{
    $results = array();
    while ($row = $result->fetch_assoc())
    {
        $results[] = $row['id'] . ',' . $row['title'];
    }
    $content = join($results, "\n"); 
    $result->free();
    header("Content-Type: text/csv");
    header("Content-Disposition: attachment;filename=myfilename.csv");
    echo $content;
}
$short_connect->close();

?>
READ ALSO
Изменение цвета объекта на изображении [закрыт]

Изменение цвета объекта на изображении [закрыт]

Например у меня есть изображение

179
Можно ли в JS вывести содержимое папки?

Можно ли в JS вывести содержимое папки?

Задача: создать некий FolderViewerМорда такая:

110
Загрузить контент страницы через Ajax

Загрузить контент страницы через Ajax

Мне нужно загрузить статью на сайт с помощью Ajax, в инете есть следующий пример: Создадим 3 файлаindex

138
Замена значений атрибута value тега input

Замена значений атрибута value тега input

разбираюсь с api интернет-эквайринга, для успешной отправки формы необходимо передать параметр receipt, у которого есть ряд обязательных значенийВыглядит...

122