如果我的問題可能太簡單,我是新的w/OPP和大赦免:) 表類別,導航等包含多行(類別:三星,蘋果等;和導航:關於我們,條款等),都主張在所有頁面菜單(家,產品等)OOP PHP MySQL返回多行和變量
我以前的PHP代碼和工作的良好低於
<div id="categories">
<ul>
<?
$mydbcategories = new myDBC();
$resultcategories = $mydbcategories->runQuery("SELECT * FROM `category`");
while ($rowcategories = $mydbcategories->runFetchArray($resultcategories)) {
echo '<li><a href="'.ROOT_URL.$rowcategories[url].'">'.$rowcategories[title].'</a></li>';
}
?>
</ul>
</div>
<div id="navigation">
<ul>
<?
$mydbnavigation = new myDBC();
$resultnavigation = $mydbnavigation->runQuery("SELECT * FROM `navigation`");
while ($rownavigation = $mydbnavigation->runFetchArray($resultnavigation)) { echo '<li><a href="'.ROOT_URL.$rownavigation [url].'">'.$rownavigation [title].'</a></li>';
}
?>
</ul>
</div>
我想實現OOP PHP和創建班級然後存儲在classes.php
<?
class Menu{
var $title;
var $url;
function setMenu($db){
$mydbMenu= new myDBC();
$resultmenu = $mydbMenu->runQuery("SELECT * FROM `$db`");
$resultmenurows = mysqli_num_rows($resultmenu);
while ($rowmenu = $mydbMenu->runFetchArray($resultmenu)){
$this->title = $rowmenu[title];
$this->url = $rowmenu[url];
}
}
function getTitle() { return $this->title;}
function getUrl() { return $this->url;}
}
?>
然後我編輯我的舊代碼與下面的新的;
<div id="categories">
<ul>
<?
$catmenu = new Menu();
while ($catmenu ->setMenu('category')) {
echo '<li><a href="'.ROOT_URL.$catmenu->getUrl().'">'.$catmenu->getTitle().'</a></li>';
}
?>
</ul>
</div>
<div id="navigation">
<ul>
<?
$navmenu = new Menu();
while ($navmenu ->setMenu('category')) {
echo '<li><a href="'.ROOT_URL.$navmenu ->getUrl().'">'.$navmenu ->getTitle().'</a></li>';
}
?>
</ul>
</div>
我測試過,錯誤可能是因爲setMenu函數中有多行(來自表)。 我怎樣才能返回這多行?我應該使用數組嗎? 請幫我解決這個和任何答覆真的很感激
*我測試和錯誤* - 什麼是錯誤? – DanFromGermany