0

そのままで正常に動作する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>
4

2 に答える 2

1
<option value="<? echo $rows['ID']; ?>"><? echo $rows['TITLE']; ?></option>

あなたは忘れphp text in <?php .... ?>ました..このコードを次のように変更してください..

<option value="<?php echo $rows['ID']; ?>"><?php echo $rows['TITLE']; ?></option>
于 2013-03-09T07:07:38.753 に答える
0

.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();
于 2013-03-09T10:27:27.240 に答える