Я работаю над веб-приложением (php, javascript, html), которое содержит большое количество пользовательской информации. Он предназначен для временных работ.
Дело в том, что у меня есть три таблицы (mysql) с информацией о пользователях. Один для адреса и других вещей, другой для водительских прав, сертификатов, … и последний для удобства пользователей.
Что я хочу сделать, так это иметь кнопку «печать», которая генерирует текстовый файл со всеми этими данными в одном файле. Дело в том, что у меня уже есть представление о том, как это сделать.
1) получить всю информацию для таблиц в объединении с именем пользователя.
2) у меня уже была функция «resource_to_array» для построения массива со всеми данными
3) Я мог бы просто перейти к каждому столбцу массива и сохранить нужную информацию
Но то, что я прошу, это опыт, чтобы сделать что-то подобное. Это впервые для меня, и я хочу, чтобы это было хорошо и масштабируемо для будущего.
Как будет хорошим способом сделать это реализовать? Кроме того, как я могу создать простой текст со всей этой информацией? (в этой части у меня больше сомнений)
Я знаю, что, возможно, это странный вопрос … но я не хочу код, я просто хочу видение для реализации. Кроме того, есть библиотека или нечто подобное, которые делают то, что я хочу сделать
Большое спасибо.
Прежде всего сделайте ссылку, которая сгенерирует текстовый файл.
<a href="print.php">Print</a>
Сейчас в print.php
Вы должны поставить свою логику.
"array"
для построения массива со всеми данными.text
файл.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');
Я надеюсь, что это поможет вам.
Других решений пока нет …