【发布时间】:2011-03-11 20:19:43
【问题描述】:
我试图动态生成一个表,该表的每行都有一个单选按钮,其值设置为 SQL 表的 ID 字段。我不确定如何使用 CGI radio_group 引用这个值。在我的研究中,radio_group 使用关联数组,但是如果我将 SQL 查询转换为关联数组,则值将不匹配,因为查询中有超过 2 个表。如果可能的话,我想避免第二次 SQL 调用:
use CGI;
use DateTime::Format::MySQL;
$epoch = DateTime->now(time_zone=>"America/New_York");
$fmtnow = DateTime::Format::MySQL->format_datetime($epoch);
$iasql = qq { select * from alert where endtime > '$fmtnow'};
$iaqry = $iadb->prepare($iasql);
$iaqry->execute() || die "Fail $DBI::errstr"
print $query->start_table({-border=>1, -cellpadding =>1});
while(@iarows = $iaqry->fetchrow_array()) {
print $query->Tr(print $query->td([print $query->radio_group('iaselect',\@iarows[0]),'@iarows[1]','@iarows[2]','@iarows[3]','@iarows[4]','@iarows[5]']));
}
print $query->end_table();
【问题讨论】:
-
抱歉,该代码无法编译。问题描述也很难理解。请解释什么是 »ID« 以及您的确切含义 »引用值«。请提供一个与
use strict; use warnings;配合使用的最小但完整 程序,描述您的数据库架构/表结构的相关部分,并提供一些以@iarows结尾的示例数据。 -
use strict; use warnings;请。占位符发生了什么? -
我不知道你做错了什么,但我建议你不要使用 CGI 中的 HTML 生成例程。他们往往会碍事,而且通常很烦人。如果您只需要简单的 HTML 输出,请使用“此处文档”。如果您需要很多花哨的东西,模板工具包是一个经过充分尝试和测试的解决方案。
标签: mysql perl cgi radio-group