PHP+;MsSQL=复选框问题。需要帮助!
我已经为这个话题工作了好几个星期了。我正在创建一个网页,从MsSQL服务器获取信息。我的问题是,有一个部分几乎没有复选框。 如果在SQL数据库中找到复选框,则假定选中这些复选框。 如果借款人使用“储蓄”、“支票”和“股票”中的资金,则应在HTML页面中选中这些复选框。在我的例子中,它只检查SQL搜索列表第一行上的内容。因此,如果列表的第一行有“Saving”,则只选中“Saving”复选框,而不选中列表中的其余复选框。我尝试使用循环(while($r->EOF)),但它会选择列表末尾的任何内容。下面是我用来从SQL server中提取数据的内容。提前感谢您的帮助。真的很感激PHP+;MsSQL=复选框问题。需要帮助!,php,mysql,smarty,Php,Mysql,Smarty,我已经为这个话题工作了好几个星期了。我正在创建一个网页,从MsSQL服务器获取信息。我的问题是,有一个部分几乎没有复选框。 如果在SQL数据库中找到复选框,则假定选中这些复选框。 如果借款人使用“储蓄”、“支票”和“股票”中的资金,则应在HTML页面中选中这些复选框。在我的例子中,它只检查SQL搜索列表第一行上的内容。因此,如果列表的第一行有“Saving”,则只选中“Saving”复选框,而不选中列表中的其余复选框。我尝试使用循环(while($r->EOF)),但它会选择列表末尾的任何内容。
function __construct($_ldid, $_lrid)
$this->ldid = $_ldid;
$this->lrid = $_lrid;
//$loan is defined in the PHP.class (which is shown below).
$q = ("SELECT * FROM Tabel_name where loan_id = 885775")
$v = array($_ldid, $_lrid);
$r = $db->Execute($q, $v);
$this->downpaymenttype = $r->fields; //<- I think I have this line done wrong because it is suppose to store the outputs to an array.
//So wherever the "$loan" is in HTML page, it will take the outputs from the above statement.
//The above code, which is in PHP.class file, outputs the following(or suppose to):
1 885775 Checking
2 885775 Saving
3 885775 Gift
在显示和设置标志之前,添加一个循环以遍历结果$r->fields只获取当前行的字段。您需要检查整个行集,以查看其他行是否已设置 类似(看起来您正在使用adodb或类似的东西) 现在在您的视图上检查标志。我没有使用smarty,但您必须将这些标志传递给模板,我相信您知道,然后更改复选框行以检查每个标志是否为真/假
希望有帮助 他是对的。如果从数据库中提取列,结果将以数组形式返回,每列一项。这意味着,如果只提取一列,结果行将是一个包含该列的一项数组。为了得到多行(每行是一个具有多列的数组),您必须不断从结果中提取行。感谢fredley的回复以及代码和dqhendricks,非常感谢。我正试图利用你的建议。到目前为止,我还没有幸运地让它工作。一旦我对这种情况有了更多的了解,我就会发帖子。是的,我正在使用smarty和adodb。
<input type="checkbox" name="DPS1[]" id="DPS1-{$key}" {if $loan-> downpaymenttype.downpaymentsource == "Checking"} checked {/if}/>
<input type="checkbox" name="DPS2[]" id="DPS2-{$key}" {if $loan-> downpaymenttype.downpaymentsource == "Saving"} checked {/if}/>
<input type="checkbox" name="DPS3[]" id="DPS3-{$key}" {if $loan-> downpaymenttype.downpaymentsource == "Gift"} checked {/if}/>
$q = ("SELECT Tabel_name FROM loan_downpaymentsource where loan_id = 885775");
$v = array($_ldid, $_lrid));
$r = $db->Execute($q, $v);
while(!$r->EOF) {
$this->downpaymenttype = $r->fields;
$r->MoveNext();
}
$checking = false;
$saving = false;
$gift = false;
while(!$r->EOF){
$row = $r->fields;
switch($row->downpaymenttype){
case 'Checking':
$checking=true;
break;
case 'Saving':
$saving=true;
break;
case 'Gift':
$gift=true;
break;
default:
break;
}
$r->moveNext();
}