-1

我确定我在这里做错了什么,但我无法弄清楚。我尝试了几种方法,但没有运气。

这是我的控制器:

$result = mysql_query("SELECT name FROM spa_packages") or die(mysql_error()); 
$names=array();
while ($row = mysql_fetch_row($result)) $names[]=$row[0]; 
mysql_free_result($result);
foreach ($names as $asd => $lol) {}
$this->set('anything', $lol);

这是我展示它的地方:

if(!empty($anything)) {
    echo " '<option value=" . $anything . '">' . $anything . '</option>';
}
4

2 回答 2

2

除了我的评论和更多的答案。你做错了什么完全没有理由使用mysql_函数(它们已被弃用)并且您不应该在像 CakePHP 这样的 MVC 框架中使用任何直接的数据库访问

您的代码应该更符合

在您的 Controllers/SpaPackagesController.php 索引操作中:

$spaPacakges = $this->SpaPackage->find('all');
$this->set('spaPackages', $spaPackages):

在您的 Views/SpaPackages/index.ctp

<?php foreach ($spaPackages as $package): ?>
<!-- some html -->
<?php endforeach;?>

您确实需要阅读一些 CakePHP 初学者教程,因为您的问题显示了对该框架如何工作的很大误解

于 2013-06-05T09:39:04.307 回答
1

看起来你正在尝试这样做:

$result = mysql_query("SELECT name FROM spa_packages") or die(mysql_error()); 

$names = array();
while ($row = mysql_fetch_assoc($result)) {
    $names[] = $row["name"]
}
$this->set('anything', $names);

mysql_free_result($result);

和:

if(!empty($anything)) {
    foreach($anything as $name){
        echo " '<option value=" . $name . '">' . $name . '</option>';
    }
}
于 2013-06-05T09:38:11.087 回答