Edit.View.php中的showQa_cate_name()方法function showQa_cate_name(){
require_once ('modules/QA_home/QA_ask/db_ask.php');
$projecttable3 = new projecttable3; //定义一个实例对象
$projecttable3->setDBMng($this->m_dbManage); //操作句柄
$headerdata = $projecttable3->getDefaultShowItems(); //获取默认的数据 一个qa_sort_id字段一个qa_sort_name 字段·
$queryFeild = array();
$queryFeild[] = $projecttable3->getTableID(); // 增加一个id
foreach ((array)$headerdata as $hd){
$queryFeild[] = $hd['fldname']; //获取数据 付给$queryFeild
}
$orderby = null; //为空 下面不参与排序
$tableData = $projecttable3->getData($queryFeild,$orderby); //获得数据 写入$tableData
foreach ($tableData as $ud){
$udarray= $ud['qa_sort_name']; //读取表中的一个qa_sort_name字段
}
$this->m_smarty->assign("udarray", $udarray);
}tpl代码如下:
<tr>
<td width=20% nowrap align=right> <{$APP_STRING.QA_CATE_NAME}>
</td>
<td width=70% align=left> <select name="" style="width:150px" action="index.php?module=QA_home&submodule=QA_ask&action=Edit&request=showQa_cate_name" >
<{foreach from=$udarray key=value item=item}>
<option value="<{$item.value}>" <{if $tabledata.qa_sort_name == $item.value}>selected="selected"<{/if}>><{$item.value}></option>
<{/foreach}>
</select> </td>
</tr>
现在想把$udarray数组(一维的)中的数据(即字段为qa_sort_name的数据)读入到 tpl模板中的下拉列表中
但没显示 求高手解答
require_once ('modules/QA_home/QA_ask/db_ask.php');
$projecttable3 = new projecttable3; //定义一个实例对象
$projecttable3->setDBMng($this->m_dbManage); //操作句柄
$headerdata = $projecttable3->getDefaultShowItems(); //获取默认的数据 一个qa_sort_id字段一个qa_sort_name 字段·
$queryFeild = array();
$queryFeild[] = $projecttable3->getTableID(); // 增加一个id
foreach ((array)$headerdata as $hd){
$queryFeild[] = $hd['fldname']; //获取数据 付给$queryFeild
}
$orderby = null; //为空 下面不参与排序
$tableData = $projecttable3->getData($queryFeild,$orderby); //获得数据 写入$tableData
foreach ($tableData as $ud){
$udarray= $ud['qa_sort_name']; //读取表中的一个qa_sort_name字段
}
$this->m_smarty->assign("udarray", $udarray);
}tpl代码如下:
<tr>
<td width=20% nowrap align=right> <{$APP_STRING.QA_CATE_NAME}>
</td>
<td width=70% align=left> <select name="" style="width:150px" action="index.php?module=QA_home&submodule=QA_ask&action=Edit&request=showQa_cate_name" >
<{foreach from=$udarray key=value item=item}>
<option value="<{$item.value}>" <{if $tabledata.qa_sort_name == $item.value}>selected="selected"<{/if}>><{$item.value}></option>
<{/foreach}>
</select> </td>
</tr>
现在想把$udarray数组(一维的)中的数据(即字段为qa_sort_name的数据)读入到 tpl模板中的下拉列表中
但没显示 求高手解答
在方法中打印一下数组看看有没有值print_r($udarray);
如果没有值说明你的方法不对;
有值的话,说明你的foreach循环中的option……那段代码有问题
你应该是要把读取的数据放在$udarray数组中,而不能单独的是一个变量,
这样读出来,后面的就把前面的数据覆盖了,读出来的当然就只有最后一个了
foreach ($tableData as $ud){
$udarray[]= $ud['qa_sort_name']; //这里 $udarray[]
//最好加个 $udarray["qa_sort_name的ID值"] = $ud['qa_sort_name'];
}
//输出结果应该是: array(2 => "selec1",3=>selec2);
$this->m_smarty->assign("udarray", $udarray);客户端:
<{foreach from=$udarray key=value item=item}>
<option value="<{$value}>" ><{$item}></option>
<{/foreach}>
先看看是不是正确的.
$tableData = $projecttable3->getData($queryFeild,$orderby); //获得数据 写入$tableData
//如果这边 $tableData 是查询出来 数组的话 比如 array(0 => array('id'=>1,'qa_sort_name' => 'aa'),1=> array('id'=>1,'qa_sort_name'=>'bb').... );
直接给下面代码就行:
$udarray = $tableData;
$this->m_smarty->assign("udarray", $udarray);客户端:
<{foreach from=$udarray key=value item=item}>
<option value="<{$item.id}>" ><{$item.qa_sort_name}></option>
<{/foreach}>试试
$this->udarray[]= $ud['qa_sort_name'];<option value="<{$item}>" <{if $tabledata.qa_sort_name == $item.value}>selected="selected"<{/if}>><{$item}></option>