我有一些PHP代码可以正常工作。然而,我想输出下拉列表到我的TPL文件。我该怎么做呢?
<?php
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name ORDER BY SORT_ORDER ASC";
$result=mysql_query($sql);
if ($result === false) { echo "An error occurred."; }
?>
<html>
<head>
<title></title>
</head>
<body>
<select name="usrname" id="usrname">
<option>Select employ</option>
<?php
while($rows=mysql_fetch_array($result)){
?>
<option value="<? echo $rows['ID']; ?>"><? echo $rows['TITLE']; ?></option>
<?php
}
mysql_close();
?>
</select>
</body>
</html>
<option value="<? echo $rows['ID']; ?>"><? echo $rows['TITLE']; ?></option>
你忘记了php text in <?php .... ?>
..请像这样修改代码。
<option value="<?php echo $rows['ID']; ?>"><?php echo $rows['TITLE']; ?></option>
.tpl是什么意思?
你可以直接转到"while(…){…}"部分放到另一个文件中(比如select.inc.php)包括它
,但如果你想要一个$tpl对象,先创建一个类,例如在template.class.php:
class Template {
private $file;
public $result;
public function __construct($file) {
$this->file = $file;
}
public function display() {
ob_start();
include $this->file;
ob_end_flush();
}
}
包含它并创建模板文件select.tpl:
<select name="usrname" id="usrname">
<?
while($rows=mysql_fetch_array($this->result)) {
?>
<option value="<?=$rows['id']?>"><?=$rows['name']?></option>
<?
}
?>
</select>
最后在脚本中创建实例并调用display()方法:
$tpl = new Template('select.tpl');
$tpl->result = $result;
$tpl->display();