我正在尝试将PDO
用于SELECT
选项,这是我的functions.php
代码:
<?php
class Benefits
{
public function fetch_all()
{
global $pdo;
$benfitssql = $pdo->query('SELECT * FROM lkup_benefits');
//$benfitssql->execute();
while ($row = $benfitssql->fetch(PDO::FETCH_ASSOC))
{
$ops.= "<option value='" . $row['BenefitOption'] . "'>"
. $row['Benfits'] . "</option>";
}
}
}
?>
这是我的主页:
<label>Benefit Type</label>
<select class="select2_category form-control" data-placeholder="Choose a Category" tabindex="1" id="benefittype" name="benefittype">
<?php echo $ops; ?>
</select>
当我选择
SELECT
选项时,它没有任何记录地打开,为什么会这样,我错过了什么? 最佳答案
您的代码有两个基本缺陷
首先,永远不要在函数内部格式化HTML,
其次,您应该从函数中返回一些信息
class Benefits {
public function fetch_all() {
global $pdo;
return $pdo->query('SELECT * FROM lkup_benefits') ->fetchAll();
}
}
?>
<label>Benefit Type</label>
<select class="select2_category form-control" data-placeholder="Choose a Category" tabindex="1" id="benefittype" name="benefittype">
<?php foreach ($benefits->fetch_all() as $row): ?>
<option value="<?=$row['BenefitOption']?>"><?=$row['Benfits']?></option>
<?php endforeach ?>
</select>