php - 导出查询结果

标签 php mysql html

我的程序运行方式有问题。情况是我有一个表格,它要求输入日期,然后当单击“提交”按钮时,将显示具有相同日期的记录。之后有一个按钮提取,如果我点击它,结果将导出到 CSV 文件中。

这是我的代码:

 <html>
        <h1> TC/GC Per Sales Frequency Bracket </h1>
            <body>
            <?php   
                $df = $_POST['df'];
                $dt = $_POST['dt'];
                $db = 'mds_reports';

                if($connect = mysql_connect("172.16.8.32", "mds_reports", "password"))
                $connect = mysql_select_db($db);
                    else die ("Unable to connect".mysql_error());

                echo '<form action = "TCFrequencyBracket.php" method = "post">';
                echo '<table>';

                echo '<tr><td>Date From :</td><td><input name = "df" type = "text" /></td></tr>';
                echo '<tr><td>Date To :</td><td><input name = "dt" type = "text" /></td></tr>';
                echo '<tr><td><input name = "submit" type = "submit" id = "submit" value = "submit"/></td></tr>';
                echo '</table>';
                echo '</div>';
                echo '</div>';
                echo '</form>';

                if (isset($_POST['submit']))
                {
                    echo '<table border = "1" cellspacing = "1">';
                    echo '<th>Restaurant Code</th>';
                    echo '<th>Restaurant Name</th>';
                    echo '<th>100 & BELOW</th>';
                    echo '<th>101-200</th>';
                    echo '<th>201-300</th>';
                    echo '<th>301-400</th>';
                    echo '<th>401-500</th>';
                    echo '<th>501-600</th>';
                    echo '<th>601-700</th>';
                    echo '<th>701-800</th>';
                    echo '<th>801-900</th>';
                    echo '<th>901-1000</th>';
                    echo '<th>1001 & ABOVE</th>';
                    echo '<th>TOTAL TC</th>';

                    $sql = "SELECT restaurant_master.code, restaurant_master.name,

                                COUNT(CASE WHEN mds_orders.GrossTotal < '100'
                                    THEN 1 END),

                                COUNT(CASE WHEN mds_orders.GrossTotal >= '100' AND mds_orders.GrossTotal < '200'
                                    THEN 1 END),

                                COUNT(CASE WHEN mds_orders.GrossTotal >= '200' AND mds_orders.GrossTotal < '300' 
                                    THEN 1 END),

                                COUNT(CASE WHEN mds_orders.GrossTotal >= '300' AND mds_orders.GrossTotal < '400'
                                    THEN 1 END),

                                COUNT(CASE WHEN mds_orders.GrossTotal >= '400' AND mds_orders.GrossTotal < '500'
                                    THEN 1 END),

                                COUNT(CASE WHEN mds_orders.GrossTotal >= '500' AND mds_orders.GrossTotal < '600'
                                    THEN 1 END),

                                COUNT(CASE WHEN mds_orders.GrossTotal >= '600' AND mds_orders.GrossTotal < '700'
                                    THEN 1 END),

                                COUNT(CASE WHEN mds_orders.GrossTotal >= '700' AND mds_orders.GrossTotal < '800'
                                    THEN 1 END),

                                COUNT(CASE WHEN mds_orders.GrossTotal >= '800' AND mds_orders.GrossTotal < '900'
                                    THEN 1 END),

                                COUNT(CASE WHEN mds_orders.GrossTotal >= '900' AND mds_orders.GrossTotal < '1000'
                                    THEN 1 END),

                                COUNT(CASE WHEN mds_orders.GrossTotal >= '1000'
                                    THEN 1 END),

                                COUNT(mds_orders.GrossTotal)

                                FROM mds_orders
                                    JOIN restaurant_master
                                        ON mds_orders.RestaurantID = restaurant_master.PKID

                                WHERE mds_orders.OrderDate BETWEEN '$df' AND '$dt'
                                      AND mds_orders.StatusFKID = 2

                                GROUP BY restaurant_master.code, restaurant_master.name";
                    // echo $sql;

                    echo 'Date select from ' . $df;
                    echo ' to ' . $dt;
                    echo '<br /><br />';

                    $result = mysql_query($sql)
                              or die("SELECT Error: ".mysql_error());
                    $num_rows = mysql_num_rows($result);
                    print "There are $num_rows records.<br>";
                    echo '<br />';

                    while ($get_info = mysql_fetch_row($result)){
                    print "<tr>\n";
                    foreach ($get_info as $fields)
                    print "\t<td>$fields</td>\n";
                    print "</tr>\n";
                    }
                    echo '</table>';

                echo '<form>';
                echo '<div>';
                echo '</div>';
                echo '<table>';
                echo '<br><input name = "extract" type = "submit" id = "extract" value = "extract"/></td><td></br></br>';
                echo '<tr><td></table></td></td>';
                echo '</form>';

                    $out = '';

                    if (isset($_POST['extract'])) {
                    $out .= $_POST['extract'];
                    }

                    $filename = $file."_".date("Y-m-d_H-i",time());

                    print stripslashes($out);

                    exit;


                }
            ?>
        </body>
</html>`

现在的错误是,当我尝试打开程序时,即使尚未显示主页,也已显示提示。而且文件的内容是代码而不是结果。

最佳答案

我不太明白这个问题,但我看到了一些问题:

  • 我没有看到任何对文件的写入。
  • 您的 $out 变量获取按钮的值 $_POST['extract'],它始终是 extract,仅此而已.

关于php - 导出查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8829003/

相关文章:

php pdo一次插入太多行的有效方法

mysql - "Where"语句 : contains a certain substring

mysql - 从子查询返回数据

javascript - 使用 JavaScript 制作动画 GIF 只循环一次

php - 包含内部函数被认为是不好的做法吗?

php - 用户注册失败后保留表单值

JavaScript 调整以更改文本的阴影

html - Css 内边框

php - 需要帮助在 PHP 中构建正则表达式

mysql - 在 MySql 中加入 - 哪个?