【问题标题】:Perl: info from database into a form(HTML)Perl:将数据库中的信息转换为表单(HTML)
【发布时间】:2016-12-04 16:25:29
【问题描述】:

我正在工作场所解决一个非常具体的问题,但无法找到我正在寻找的答案

我希望从 MySQL 数据库中检索信息并将其添加到表单中,以便可以将其添加(提交)到不同的数据库,但在提交之前,用户需要能够进行更改并将更多数据添加到从第一个数据库中检索到的信息。(想象一下“如果你愿意的话”从第一个数据库“复制和粘贴”到 HTML 表单中而不提交,如果有意义的话)

我已经准备好 HTML 按钮和 SQL statmenet,但不知道从哪里开始?

HTML:

print "   <div style=\"z-index:86;\" class=\"group-shell\">";
print "   <table>\n";
print "   <tr><td><input class=\"dial-red-button\" id=\"importFromCAD\"  type=\"submit\" value=\"Import Info\"></td></tr>\n";

Perl SQL 语句:

    $sql_statement20 = "select * FROM CT_AL_CAD_ID where CAD='$CAD' ORDER BY KeyField DESC";
    $sth20 = $dbh->prepare($sql_statement20);
    $sth20->execute();
    $sth20->bind_columns(undef, \$ID_data[0], \$ID_data[1], \$ID_data[2], \$ID_data[3], \$ID_data[4], \$ID_data[5], \$ID_data[6], \$ID_data[7], \$ID_data[8], \$ID_data[9], \$ID_data[10], \$ID_data[11], \$ID_data[12]);

    $sth20->fetch();

我已经被这个问题困扰了几天。感谢您提供任何帮助或想法。

【问题讨论】:

  • 这到底是怎么回事?
  • @MarcB 如何在表单字段中向用户显示从数据库检索到的信息,以便可以在不先将信息提交到第二个数据库的情况下对其进行修改。我的按钮也有这个 jquery 代码。希望它有所帮助' \$(document).ready(function() { \$('#importFromCAD').click(function () { \$('#importNav').val(''); return true; '

标签: html mysql forms perl cgi


【解决方案1】:

在生成 HTML 输出之前执行 SQL 语句。然后在 HTML 中使用包含您的数据库数据的变量 (@ID_data)。像这样的:

print "   <div style=\"z-index:86;\" class=\"group-shell\">";
print "   <table>\n";
foreach (0 .. $#ID_data) {
  print "<tr><td>ID data $_:</td><td><input name=\"ID_data_$_\" value=\"$ID_data[$_]\"></td></tr>\n";
}
print "   <tr><td><input class=\"dial-red-button\" id=\"importFromCAD\"  type=\"submit\" value=\"Import Info\"></td></tr>\n";

请注意,如果您学会使用 heredocs 和 qq(...),您的代码会更简洁。

print <<END_OF_HTML;
<div style="z-index:86;" class="group-shell">
<table>
END_OF_HTML

foreach (0 .. $#ID_data) {
  print qq(<tr><td>ID data $_:</td><td><input name="ID_data_$_" value="$ID_data[$_]"></td></tr>\n);
}
print qq(<tr><td><input class="dial-red-button" id="importFromCAD"  type="submit" value="Import Info"></td></tr>\n);

如果你使用a templating engine,它会变得更干净。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 2015-02-05
    • 2010-10-09
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多