我正在尝试设置一个 HTML pg 来显示我的数据库中的“snp”表。我已经把所有东西都启动并运行得很好,但我想添加一个功能,而不是:
my $sql = "SELECT * FROM snp WHERE cid LIKE ? ORDER BY pos LIMIT 10";
我可以做一些事情,允许用户输入任何关键字,它会从正确的表中拉出来。这就是我想做的:
sub get_snp{
my $sql = "SELECT * FROM snp WHERE ? LIKE ? ORDER BY pos LIMIT 10";
$snp_sth = $dbh->prepare($sql);
$snp_sth->execute("$User_Select","%$Search_String%");
更清楚地说,我的代码仅与 $Search_String 一起使用,但在之后添加 $User_Select 时却没有。这是我的参数:
my $Search_String = param("search_for");
my $User_Select = param("columns");
稍后在 HTML 部分中调用这两个参数,如下所示:
<TR BGCOLOR="#c0c0c0">
<TD><INPUT TYPE="text" NAME="search_for"
STYLE="color:#787878;"
VALUE="enter keyword | select option"
</TD>
<SELECT NAME="columns">
<OPTION SELECTED> --select option--</OPTION>
<OPTION VALUE ="cid"> cid</OPTION>
<OPTION VALUE ="pos"> Position #</OPTION>
<OPTION VALUE ="cdspos"> CDS Position</OPTION>
<OPTION VALUE ="m82base"> M82 base</OPTION>
<OPTION VALUE ="il"> Introgression Line</OPTION>
<OPTION VALUE ="ilbase"> IL base</OPTION>
<OPTION VALUE ="snptype"> SNP Type</OPTION>
<OPTION VALUE ="aachange"> SNP</OPTION>
</SELECT>
<TD><INPUT TYPE="submit" VALUE="Search"></TD>
<TD><INPUT TYPE="reset" VALUE="Reset"></TD>
</TR>
所以在上面你可以看到我为 8 个不同的表的 8 个不同的选择设置了一个下拉列表。同样,如果用户输入 SL2.40ch12 并选择染色体 ID(或 cid),那么我希望显示该数据,或者如果他们输入 IL10-1 并选择基因渗入线(或 il),则应提取该数据。
我可能不会以正确的方式去做,所以任何建议都会非常有帮助!让我知道是否需要更多代码或一般信息:)