Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.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
通过PHP从SQL生成Excel_Php_Sql_Excel_Pear - Fatal编程技术网

通过PHP从SQL生成Excel

通过PHP从SQL生成Excel,php,sql,excel,pear,Php,Sql,Excel,Pear,我正在使用下面的代码通过php从sql生成excel。这是一个工作代码的模式验证 工作代码(无错误) 修改从数据库检索数据的代码(显示错误) 它显示了以下错误 警告:mysql_fetch_array()希望参数1是资源,布尔值在第13行的/home/content/58/9508458/html/subexcel.php中给出 警告:无法修改标题信息-第67行/home/content/58/9508458/html/phpxls/Writer.php中的/home/content/5

我正在使用下面的代码通过php从sql生成excel。这是一个工作代码的模式验证

工作代码(无错误)


修改从数据库检索数据的代码(显示错误)


它显示了以下错误

警告:mysql_fetch_array()希望参数1是资源,布尔值在第13行的/home/content/58/9508458/html/subexcel.php中给出

警告:无法修改标题信息-第67行/home/content/58/9508458/html/phpxls/Writer.php中的/home/content/58/9508458/html/phpxls/Writer.php中已发送标题(输出从/home/content/58/9508458/html/phpxls/subexcel.php:13开始)

警告:无法修改标题信息-第68行/home/content/58/9508458/html/phpxls/subexcel.php:13)中的/home/content/58/9508458/html/phpxls/Writer.php中已发送标题(输出开始于/home/content/58/9508458/html/phpxls/subexcel.php:13)

警告:无法修改标题信息-第69行/home/content/58/9508458/html/phpxls/Writer.php中的/home/content/58/9508458/html/phpxls/Writer.php中已发送标题(输出从/home/content/58/9508458/html/phpxls/subexcel.php:13开始)

警告:无法修改标题信息-第70行/home/content/58/9508458/html/phpxls/Writer.php中的/home/content/58/9508458/html/phpxls/Writer.php已发送标题(输出从/home/content/58/9508458/html/phpxls/subexcel.php:13开始)


警告:无法修改标题信息-标题已由/home/content/58/9508458/html/psychical/subexcel.php:13中/home/content/58/9508458/html/psychical/phpxls/Writer.php的第71行发送。现在,您正在尝试查询数据库后选择数据库:

$numrow12 = mysql_query("SELECT * FROM mastertable WHERE pdfstatus = 1 ORDER BY tstamp DESC");

mysql_select_db("brainoidultrafb", $link);
那不行。只需交换订单,选择数据库,然后查询:

mysql_select_db("brainoidultrafb", $link);

$numrow12 = mysql_query("SELECT * FROM mastertable WHERE pdfstatus = 1 ORDER BY tstamp DESC");

至于第二个问题,在循环的每次迭代中都要覆盖
$sheet1
。改为这样做:

$sheet1 = array(
    array('StudentID','Students Email' ,'Diagnosis','TimeStamp' ,)
);

while($row = mysql_fetch_array($numrow12)) {
    $sheet1[] = array($row['student_id'], $row['email_id'], $row['diagnosis'], $row['tstamp'],);
}

现在,您正在尝试查询数据库后选择数据库:

$numrow12 = mysql_query("SELECT * FROM mastertable WHERE pdfstatus = 1 ORDER BY tstamp DESC");

mysql_select_db("brainoidultrafb", $link);
那不行。只需交换订单,选择数据库,然后查询:

mysql_select_db("brainoidultrafb", $link);

$numrow12 = mysql_query("SELECT * FROM mastertable WHERE pdfstatus = 1 ORDER BY tstamp DESC");

至于第二个问题,在循环的每次迭代中都要覆盖
$sheet1
。改为这样做:

$sheet1 = array(
    array('StudentID','Students Email' ,'Diagnosis','TimeStamp' ,)
);

while($row = mysql_fetch_array($numrow12)) {
    $sheet1[] = array($row['student_id'], $row['email_id'], $row['diagnosis'], $row['tstamp'],);
}

对于第二个问题,请使用:
$sheet1[]=

将元素附加到$sheet1数组。当前,在循环的每次迭代之后都要替换它


您可能希望在while循环之外初始化
$sheet1
,以避免出现警告<代码>$sheet1=array()

对于第二个问题,请使用:
$sheet1[]=

将元素附加到$sheet1数组。当前,在循环的每次迭代之后都要替换它


您可能希望在while循环之外初始化
$sheet1
,以避免出现警告<代码>$sheet1=array()

此查询:
从主表中选择*,其中pdfstatus=1 ORDER BY tstamp DESC
可能失败。
mastertable
是否存在?是的……工作正常。此查询取自另一个页面,工作正常。此查询:
SELECT*from mastertable,其中pdfstatus=1 ORDER BY tstamp DESC
可能失败。
mastertable
是否存在?是的…它工作正常..此查询取自另一个页面,工作正常抱歉弄错了。。嘿,谢谢。它工作正常,但在excel中只显示表格的一行file@Tom我认为在while循环中,您将sheet1的值再次赋给一个新数组。因此,它将只包含while循环执行中的最后一个值。你能查一下吗that@Tom:您在循环中每次都覆盖
$sheet1
;请参见编辑。但是,当我在第一个数组中添加while循环时,我显示了错误,因为它不是数组格式?我怎样才能解决这个问题?我希望你明白什么是输出needed@minitech它工作得很好,正如我所希望的谢谢对不起弄错了。。嘿,谢谢。它工作正常,但在excel中只显示表格的一行file@Tom我认为在while循环中,您将sheet1的值再次赋给一个新数组。因此,它将只包含while循环执行中的最后一个值。你能查一下吗that@Tom:您在循环中每次都覆盖
$sheet1
;请参见编辑。但是,当我在第一个数组中添加while循环时,我显示了错误,因为它不是数组格式?我怎样才能解决这个问题?我希望你明白什么是输出needed@minitech它工作得很好,正如我所希望的……谢谢:):)