Распечатать содержимое таблицы MySQL в формате TXT

Я работаю над веб-приложением (php, javascript, html), которое содержит большое количество пользовательской информации. Он предназначен для временных работ.

Дело в том, что у меня есть три таблицы (mysql) с информацией о пользователях. Один для адреса и других вещей, другой для водительских прав, сертификатов, … и последний для удобства пользователей.

Что я хочу сделать, так это иметь кнопку «печать», которая генерирует текстовый файл со всеми этими данными в одном файле. Дело в том, что у меня уже есть представление о том, как это сделать.

1) получить всю информацию для таблиц в объединении с именем пользователя.
2) у меня уже была функция «resource_to_array» для построения массива со всеми данными
3) Я мог бы просто перейти к каждому столбцу массива и сохранить нужную информацию

Но то, что я прошу, это опыт, чтобы сделать что-то подобное. Это впервые для меня, и я хочу, чтобы это было хорошо и масштабируемо для будущего.

Как будет хорошим способом сделать это реализовать? Кроме того, как я могу создать простой текст со всей этой информацией? (в этой части у меня больше сомнений)

Я знаю, что, возможно, это странный вопрос … но я не хочу код, я просто хочу видение для реализации. Кроме того, есть библиотека или нечто подобное, которые делают то, что я хочу сделать

Большое спасибо.

-1

Решение

Прежде всего сделайте ссылку, которая сгенерирует текстовый файл.

<a href="print.php">Print</a>

Сейчас в print.php Вы должны поставить свою логику.

  1. Выполните запрос соединения для извлечения данных.
  2. получать "array" для построения массива со всеми данными.
  3. Получить элемент из массива, в котором вы хотите сохранить text файл.
  4. Теперь логика здесь, используйте file handling для создания текстового файла с сохранением данных.

Логика здесь (print.php):

<?php

$conn = new mysqli("host-name","username","password","database-name");

$query = "....";
$result = $conn->query($query);
$rs = $result->fetch_array(MYSQLI_BOTH);

while($rs = $result->fetch_array(MYSQLI_BOTH))
{
$data = $rs['column-name']; // data you want to save in text file

$f = fopen("save.txt", 'a');
fwrite($f, $data);
fclose($f);

}

$filename = "save-data.txt"; // name of the file you want to download on clicking the link
$file = "save-data.txt";
$type = filetype($file);
// Send file headers
header("Content-type: $type");
header("Content-Disposition: attachment;filename=$filename");
header("Content-Transfer-Encoding: binary");
header('Pragma: no-cache');
header('Expires: 0');
// Send the file contents.
set_time_limit(0);
readfile($file);

?>

Sidenote: The a Переключатель добавляется в файл. Если вы не хотите продолжать добавлять к нему, используйте w переключатель:

$f = fopen("save.txt", 'w');

Я надеюсь, что это поможет вам.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]