【问题标题】:Export to CSV in php在 php 中导出为 CSV
【发布时间】:2017-02-06 05:59:57
【问题描述】:

遇到问题,我的导出文件在文件上方有错误

通知:未定义索引:C:\xampp\htdocs\new1v2\admin\exporttoexcel.php 中的年份在第 23
注意:未定义索引:C:\xampp\htdocs\new1v2\admin\exporttoexcel.php 中的 kurs 在第 25

但显然显示了结果。

这是我的表单,我将在其中选择三个选择选项中的一个:

<form method="post" action="exporttoexcel.php">
        <select name="year" style="padding:5px; height:40px;">
                <option disabled selected>--Year Graduated</option>
                <?php
                    $year_grad=1995;
                    while($year_grad<=2017)
                    {
                ?>
                <option>
                    <?php echo $year_grad; ?>
                </option>
                    <?php $year_grad++; } ?>
            </select>
            <select name="deprtmnt" style="padding:5px; height:40px;">
                <option disabled selected>--Department</option>
                <option>College of Computer Studies</option>
            </select>
            <select name="kurs" style="padding:5px; height:40px;">
                <option disabled selected>--Course</option>
                <option>Bachelor of Science in Information Technology</option>
                <option>Bachelor of Science in Computer Studies</option>
            </select>
            <button type="submit" name="submit" class="w3-btn w3-green"><font size="6"><i class="fa fa-file-excel-o" aria-hidden="true"></i> Export to CSV</font></button>
    </form>

现在是年,kurs 和 deprtment。 这是我的 exporttoexcel.php 的一部分

if (isset($_POST['submit'])) {
$year = $_POST['year'];

$kurs =  $_POST['kurs'];

$dept = $_POST['deprtmnt'];

$search_str= '';
        if ($year){
            $search_str .= $search_str ? ' AND ': 'WHERE' ;
            $search_str .= "`tblalumni`.`yeargrad` LIKE '%" .$year."%' "; 
        }
        if ($dept){
            $search_str .= $search_str ? ' AND ': 'WHERE' ;
            $search_str .= "`tblalumni`.`department` LIKE '%" .$dept."%' "; 
        }
        if ($kurs){
            $search_str .= $search_str ? ' AND ': 'WHERE' ;
            $search_str .= "`tblalumni`.`course` LIKE '%" .$kurs."%' "; 
        }


$output         = "";
$table          = "tblalumni"; // Enter Your Table Name
$sql            = mysql_query("SELECT fname as 'First Name', mname as 'Middle Name', lname as 'Last Name', yeargrad as 'Year Graduated', department as 'Department'  FROM tblAlumni {$search_str}  AND alum_status = 2");

功能是选择三个中的任何一个都会显示查询。

如何消除错误。请帮帮我。

【问题讨论】:

    标签: php mysql csv


    【解决方案1】:

    您没有为选择框定义&lt;option&gt; 标记中的值。这就是php无法获取值的原因。

    像这样将值添加到选项标签:

    $年

    <option selected value="">--Year Graduated</option>
    
    <option value="<?php echo $year_grad;">
        <?php echo $year_grad; ?>
     </option>
    

    $部门

    <select name="deprtmnt" style="padding:5px; height:40px;">
          <option selected value="">--Department</option>
           <option value="College of Computer Studies">College of Computer Studies</option>
    </select>
    

    $kurs

    <select name="kurs" style="padding:5px; height:40px;">
           <option selected value="">--Course</option>
           <option value="Bachelor of Science in Information Technology">Bachelor of Science in Information Technology</option>
           <option value="Bachelor of Science in Computer Studies">Bachelor of Science in Computer Studies</option>
    </select>
    

    接下来在你的 PHP 中,像这样修改获取输入代码:

    $year = (isset($_POST['year']) ? $_POST['year'] : "";
    
    $kurs =  (isset($_POST['kurs']) ? $_POST['kurs'] : "";
    
    $dept= (isset($_POST['dprtmnt']) ? $_POST['dprtmnt'] : "";
    

    在你的 if else 代码中做这样的检查:

    if($year != ''){
        // do your code here
    }
    if ($dept != ''){
        // do your code here
    }
    if ($kurs != ''){
        // do your code here
    }
    

    请记住,如果 PHP 抛出“未定义索引”错误,这意味着 PHP 无法访问该变量的值,该变量值为“未定义”。

    【讨论】:

    • 是的,我知道。因为该功能在 3 选择选项中,您可以选择 1 而无需选择其他选项。
    • 你不能那样做,哈哈。您仍然需要设置该值。在第一个 &lt;option&gt; 标记中,删除 disabled 属性。这样,如果用户不选择选择框,则发送的值为空。所以接下来在 php 中查找 if else 代码,您需要检查 if ($year != ''){ //code }
    猜你喜欢
    • 2017-06-24
    • 1970-01-01
    • 2016-03-21
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多