【问题标题】:perl CGI radio_group: populate values from DB queryperl CGI radio_group:从数据库查询中填充值
【发布时间】: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


【解决方案1】:

是的,我想我会取消这部分的 CGI 单选按钮方法并让它打印print "<input type="radio">;,它就是这样工作的。我只是尝试使用这种方法,因为我没有意识到有 start_div 和 end_div 方法。在找到这些之前,我认为这是我在 q->div() 容器内实现单选按钮的唯一方法。

我排除了代码的 Div 部分,因为它似乎无关紧要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-12
    • 1970-01-01
    • 1970-01-01
    • 2013-06-09
    • 1970-01-01
    • 2014-09-05
    相关资源
    最近更新 更多