Экспорт результатов SQLite в CSV с веб-страницы - PullRequest
0 голосов
/ 10 января 2020

Я создал веб-страницу, которая размещена на внутреннем сервере. Эта страница позволяет пользователю искать в базе данных часть информации, которая предопределена, и они имеют. Я ищу возможность взять результаты этого поиска и экспортировать их в CSV-файл. Сейчас я установил go в папку tmp на сервере для тестирования функции. Тем не менее, он не работает, поэтому мне любопытно, почему так же, как и стремление получить его на go для машины, получающей доступ к сайту. Ниже приведен код, используемый для поиска и отображения, а также то, что я пытался использовать для экспорта

<form action="" method="post">  
<label>Seach by Name: </label><input type="text" name="name" />
 <input type="submit" name="search" />
</form>

<center>
<?php
if( $_POST['search'] ){

$name= $_POST[ 'name' ];

try

{

$db = new PDO("sqlite:Name.db");
$count = $db->query("SELECT COUNT(*) from reported WHERE name= '$name'");
foreach($count as $row)
{
        print "Dupi appears ".$row['COUNT(*)']. " times in database";
}

print "<table border=10 bordercolorlight=YELLOW bordercolordark=BLUE>";
print "<tr><td><u>House</u></td><td><u>ID</u></td><td><u>Color Code</u></td><td><u>Date</u></td><td><u>Name</u></td></tr>";
$result = $db->query("SELECT * FROM reported WHERE name= '$name'");
foreach($result as $row)
        {
        print "<tr><td>".$row['House']."</td>";
        print "<td>".$row['ID']."</td>";
        print "<td>".$row['color_code']."</td>";
        print "<td>".$row['date']."</td>";
        print "<td>".$row['name']."</td></tr>";
    }
    print "</table>";

    $db = NULL;
}
 catch(PDOException $e) {
  echo $e->getMessage();
}}
?>

<form action="" method="post">  
<label>Export</label>
 <input type="submit" name="export" />
</form>

<?php
if( $_POST['export'] ){

$name= $_POST[ 'name' ];

try

  {

$db = new PDO("sqlite:Name.db");
$results = $db->query("SELECT * FROM reported WHERE name= '$name'");
Pick a filename and destination directory for the file
 Remember that the folder where you want to write the file has to be writable
$filename = "/tmp/".$name.".csv";

 Actually create the file
 The w+ parameter will wipe out and overwrite any existing file with the same name
$handle = fopen($filename, 'w+');

 Write the spreadsheet column titles / labels
fputcsv($handle, array('House','ID', 'Color Code', 'Date', 'Name'));

 Write all the user records to the spreadsheet
foreach($results as $row)
{
    fputcsv($handle, array($row['House'], $row['ID'], $row['color_code'], $row['date'], $row['name']));
}

 Finish writing the file
fclose($handle);
}
  catch(PDOException $e) {
      echo $e->getMessage();
}}

    ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...