Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于Datepicker从Mysql选择和显示数据库的PHP脚本_Php_Mysql_Datepicker_Export To Excel - Fatal编程技术网

用于Datepicker从Mysql选择和显示数据库的PHP脚本

用于Datepicker从Mysql选择和显示数据库的PHP脚本,php,mysql,datepicker,export-to-excel,Php,Mysql,Datepicker,Export To Excel,在互联网上花了3天的时间,在这么多不同的论坛上苦苦挣扎之后,我在这里找到了一个匹配和类似的问题案例 朋友们,我对PHP一窍不通,但我还是设法做了一些事情来满足我的要求 我现在只有一件事…所以我需要帮助 我正在使用一个html+php表单将数据库提交到mysql中。 我通过网页上的php脚本创建了该表的显示。 现在,我希望在显示的页面上有一个datepicker选项,通过该选项,我应该能够选择日期范围并从mysql表中显示该日期范围的数据。 然后导出excel中所选日期范围显示的数据 此显示的页面

在互联网上花了3天的时间,在这么多不同的论坛上苦苦挣扎之后,我在这里找到了一个匹配和类似的问题案例

朋友们,我对PHP一窍不通,但我还是设法做了一些事情来满足我的要求

我现在只有一件事…所以我需要帮助

我正在使用一个html+php表单将数据库提交到mysql中。 我通过网页上的php脚本创建了该表的显示。 现在,我希望在显示的页面上有一个datepicker选项,通过该选项,我应该能够选择日期范围并从mysql表中显示该日期范围的数据。 然后导出excel中所选日期范围显示的数据

此显示的页面受登录保护,因此我希望在登录后,下一个输入的内容应显示一个状态选择选项,该选项应为from date to to date,然后应显示数据库中的记录,我可以将这些显示的结果导出到excel文件中。 我在本页上使用的代码如下所示,其中未包含excel导出和日期选择器脚本的任何内容,我将在此处粘贴代码,并请您根据需要在其中包含所需的代码

提前谢谢

<?php
//database connections
$db_host = 'localhost';
$db_user = '***********';
$db_pwd = '*************';

$database = 'qserves1_uksurvey';
$table = 'forms';  
$file = 'export';
if (!mysql_connect($db_host, $db_user, $db_pwd))
    die("Can't connect to database");

if (!mysql_select_db($database))
    die("Can't select database");

// sending query
$result = mysql_query("SELECT * FROM {$table} ORDER BY date desc");
if (!$result) {
    die("Query to show fields from table failed");
}
$num_rows = mysql_num_rows($result);
$fields_num = mysql_num_fields($result);

echo "$num_rows"; 
echo "<h1></h1>";
echo "<table border='1'><tr>";
// printing table headers
for($i=0; $i<$fields_num; $i++)
{
    $field = mysql_fetch_field($result);
    echo "<td>{$field->name}</td>";
}
echo "</tr>\n";
// printing table rows
while($row = mysql_fetch_row($result))
{
    echo "<tr>";

    // $row is array... foreach( .. ) puts every element
    // of $row to $cell variable
    foreach($row as $cell)
        echo "<td>$cell</td>";

    echo "</tr>\n";
}
mysql_free_result($result);
?>
</body></html>

这不是一个“请为我编写代码”的网站,所以你需要更具吸引力和积极性。但我们当然可以提供一些指导。让我们看看

当前有一个页面显示给定表中的所有记录,对吗?你需要做两件事:

在显示任何记录之前,请用户选择日期范围。并在页面上保留日期范围选择,以便用户可以重新选择。 提供一个按钮,允许用户将所选记录导出到Excel。 对于其中任何一个,您都需要向页面添加一个实际的表单。目前还没有。对于日期选择器,我建议自然使用。因此,其形式如下所示:

<form method="POST" action="myPHPFile.php">
  <input type="text" id="fromDate" name="fromDate" />
  <input type="text" id="toDate" name="toDate" />
  <input type="submit" name="filterDate" value="Submit" />
</form>
<script>
  $(function() {
    $("#fromDate").datepicker();
    $("#toDate").datepicker();
  });
</script>
您可能需要将JavaScript封装在$document.ready{}中,为了使其正常工作,您需要对其进行测试。无论如何,这将为您提供一个表单,用于向脚本提交日期。将脚本中输出数据的部分包装成一个条件,该条件决定表单值是否存在。如果没有,就不要取任何记录。如果是,请执行一些基本的输入检查,确保值是有效值,确保fromDate在toDate之前,等等,并构造SQL查询以按日期范围进行筛选。在这里一定要小心避免SQL注入漏洞

对于Excel输出,您需要一个现成的解决方案,只需稍加修改。如果我从头开始创建一个,我可能只会输出到一个.csv文件,而不是一个完整的Excel文件。大多数用户不知道/不关心这一区别。在这种情况下,您只需要创建与现有脚本几乎相同的第二个脚本,或者向现有脚本添加一个在HTML和CSV输出之间切换的标志,例如通过隐藏的表单字段

对于CSV的输出,首先确保设置了。您需要编写一个标题,告诉浏览器您正在输出一个CSV文件而不是文本/html,并可能建议浏览器保存一个文件名。然后,SQL查询的表单输入将与以前几乎相同。唯一的区别是输出的HTML。与HTML标记不同,您应该使用逗号、双引号(如果合适)和回车来包装记录

与HTML相比,输出文件没有什么特别之处,因为HTTP协议对两者没有区别。它总是只包含标题的文本


现在,我相信你还有更多关于这个的问题。那很好。事实上,我们喜欢在这里鼓励提问,当然也鼓励回答问题。因此,请随时在对本答案或其他答案的评论中要求澄清,或者通过编辑和精炼您的原始问题,或者如果您有需要帮助的特定主题,请提出一个全新的问题。理想情况下,关于堆栈溢出的一个好问题包括您试图编写的示例代码、对代码应该执行的操作的解释、对代码实际结果输出的描述以及与代码相关的任何有用信息。就目前而言,您的问题提供的代码与您的问题有些不相关,您只是要求我们为您直接添加一些功能。

Hmmm,纯为我编写代码请求在堆栈溢出方面不太受重视,尤其是考虑到你的两个要求都需要大量工作,而且你的要求也不是很清楚。你考虑过雇佣一个自由职业者吗?@Pekka:谢谢:这是jQuery最长的一次使用!真是太棒了!回答,最长的让我谷歌一下,为你回答,最长的你需要问一个更好的问题 这是我给过的最好的回答。