链接将为index.php?page=PAGENAME
。 PAGENAME
主要存储在数据库中,但有些是静态的。我想要一个if / else语句来回显标题。静态部分并不那么难。
function current_page() {
$uri = $_SERVER["REQUEST_URI"];
$goal = explode("?page=", $uri);
$keyone = $goal[1];
return $keyone;
}
这只会显示?page=
之后的内容,因此我有页面名称。一些静态页面是仪表板和设置。以下if语句用于显示静态页面的标题:
$current = current_page();
if ($current == 'dashboard') {
echo 'Dashboard';
}
elseif ($current == 'settings') {
echo 'Settings';
}
现在,我似乎无法开始工作的部分是,对于存储在数据库中的每个国家/地区,都应该有一个elseif
语句。 PAGENAME
是国家iso代码,存储在数据库中(作为countryISO)。但是,当在if/else
语句中建立数据库连接时,会发生错误unexpected 'elseif'
。
我尝试使用数据为数据库中的每一行创建foreach
。
$conn = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$sql = "SELECT * FROM countries";
$result = $conn->query($sql);
while($row = mysqli_fetch_assoc($result)) {
$iso = $row['countryISO'];
elseif ($current == $iso) {
echo $row['countryname'];
}
}
$conn->close();
答案 0 :(得分:1)
试试这个:
$conn = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
$sql = "SELECT * FROM countries";
$result = $conn->query($sql);
while($row = mysqli_fetch_assoc($result)) {
$iso = $row['countryISO'];
if ($current == $iso) {
echo $row['countryname'];
}
}
$conn->close();
使用if来检查$ current是否与$ iso相同,而不是使用'elseif'。你还需要做的一件事就是定义$ current。