数据驱动开关和案例PHP

时间:2016-03-16 00:54:43

标签: php

我试图弄清楚如何使用mysqli使用来自数据库的链接在php中构建一个开关。

执行$ d

if (isset($_GET['page'])) {
    $d = $_GET['page'];
} elseif (isset($_POST['page'])) { // Forms
    $d = $_POST['page'];
} else {
    $d = NULL;
}

Switch

$sw1 = "SELECT * FROM pages";
$sw2 = mysqli_query($connection, $sw1);
while($row = mysqli_fetch_assoc($sw2)) {
    $page = $row['page'];

    switch($d) {

    case ''.$page.'':
        include 'modules/'.$page.'.php';
        break;

    default:
        include 'modules/main.php';
        break;
      }
}

这不起作用,有不同的方法吗?想法是允许诸如/?page=thePage

之类的URl 处理

$connection并确认与数据库的连接,这不是问题。

任何帮助都会得到极大的赞赏。

1 个答案:

答案 0 :(得分:1)

简单回答:不要使用switch。请改用if-elseif-elseif-else

$sw1 = "SELECT * FROM pages";
$sw2 = mysqli_query($connection, $sw1);
$found = false;
while($row = mysqli_fetch_assoc($sw2)) {
    $page = $row['page'];

    if ($d === $page) {
        include 'modules/'.$page.'.php';
        $found = true;

        break;
    }
}

if (!$found) {
    include 'modules/main.php';
}