通过PHP从SQL生成Excel
我正在使用下面的代码通过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
修改从数据库检索数据的代码(显示错误)
它显示了以下错误
警告: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它工作得很好,正如我所希望的……谢谢:):)