我有多个MySQL查询,我需要将它们分成Controller和View(CodeIgniter框架),这怎么可能?请参阅以下代码示例:
例如:
$SQL_Cat = mysql_query("SELECT * FROM categories WHERE restaurant_id = '$restaurantID'");
while ($category = mysql_fetch_array($SQL_Cat))
{
$CategoryID = $category['id'];
echo $category['name'];
if ($category['description'] != "") {
echo $category['description'];
}
$q = mysql_query("SELECT * FROM items WHERE category_id = '" . $CategoryID . "'");
while($item = mysql_fetch_array($q))
{
$item_name = $item['name'];
echo $item_name;
$item_des = $item['description'];
$sq = mysql_query("SELECT * FROM item_options WHERE item_id = '" . $item['id'] . "'");
$item_id = $item['id'];
if(mysql_num_rows($sq) > 0)
{
while($item_option = mysql_fetch_array($sq))
{
echo "---------<br />";
$item_option_name = $item_option['option_value'];
$item_option_price = $item_option['price'];
$item_option_id = $item_option['id'];
echo $item_name;
echo $item_des;
echo $item_option_name;
}
}
}
}
echo的部分应该在视图中(MVC)。
答案 0 :(得分:1)
嗯......最简单的方法就是这个
Controller.php这样
$id = $_GET[ 'id' ] ;
include_once 'model.php' ;
$content = getPage( $id ) ;
include 'view.php' ;
model.php
function getPage( $id ) {
$result = mysql_query( 'SELECT content FROM pages WHERE id = ' . intval( $id ) ) ;
$c = mysql_fetch_assoc( $result ) ;
return $c[ 'content' ] ;
}
view.php
<?= $content; ?>
只需在浏览器中输入http://site/controller.php?id=1(当然应该在你的数据库中输入)
在编写代码滚动时有点简化但没有乐趣:)
答案 1 :(得分:-1)
查看用户指南。这真的帮助我理解了MVC。
一旦你对使用这种模式有了很好的理解,分解你所拥有的东西不应该太难。