【发布时间】:2015-04-09 07:27:36
【问题描述】:
我正在尝试在 html 中创建一个表单,该表单有一个组合框,其中包含一个从我的 SQL 表自动创建的列表。 我已经设法在我的课堂上制作了一个集成的组合框,我在其中使用了我所有的数据库语句。 但是如何在我的表单编写的另一个位置使用代码? 我还在学习 php,这对我来说有点新,所以我希望我的问题很清楚。
代码:
class Lesdb
{
private static $lesdbInstantie = null;
private $dbh;
private function __construct($server, $username, $password, $database)
{
try
{
$this->dbh = new PDO("mysql:host=$server; dbname=$database", $username, $password);
//Bij error: exception opwerpen
$this->dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e)
{
die($e->getMessage());
}
}
public static function getLesdbInstantie($server, $username, $password, $database)
{
if(is_null(self::$lesdbInstantie))
{
self::$lesdbInstantie = new Lesdb($server, $username, $password, $database);
}
return self::$lesdbInstantie;
}
public function testComboBox()
{
echo "<h1> ComboBox functienamen </h1>";
$sql = "SELECT DISTINCT ftienaam FROM werknemers";
$stmt = $this->dbh->prepare($sql);
$stmt->execute();
$dropdown = "<select name='ftienaam'>";
foreach ($stmt as $row)
{
$dropdown .= "\r\n<option value='{$row['ftienaam']}'>{$row['ftienaam']}</option>";
}
$dropdown .= "\r\n</select>";
echo $dropdown;
}
}
?>
TestCombobox 函数确实有效,但它应该被实现到我的表单中,该表单不在 Lesdb 类中。 示例:
function ShowForm()
{
?>
<form action="Index.php?actie=zoekInLijst" method=post>
<label for=ComboBox>ComboBox</label>
<select name = "the_name">
<option value="name">SQL STATEMENTS
</select>
</form>
<?php
}
所以我只是想从我的表单中的 Lesdb 类中调用函数 testComboBox。
【问题讨论】: