我试图弄清楚如何使用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
$connection
并确认与数据库的连接,这不是问题。
任何帮助都会得到极大的赞赏。
答案 0 :(得分:1)
简单回答:不要使用switch
。请改用if-else
或if-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';
}