我正在尝试使用if session和我当前的sql表选择英文菜单标题“see code”
if($_SESSION['lang_code'] == 'en') {
echo $courseCat['course_cat_title'];
} else
echo $courseCat['course_cat_title'];
它打印到目前为止很好,但只有荷兰菜单标题,当我查看我的数据库时,我有这个表显示语言国家ID course_cat_lang_country ,现在我需要知道如何打印页面为www.yourdomain.nl/en/时的英文标题。我现在使用的完整代码就是这个。
$QcourseCat = mysql_query("SELECT * FROM web_course_cat WHERE course_cat_id = 1");
$courseCat = mysql_fetch_assoc($QcourseCat);
echo "< h4>";
if($_SESSION['lang_code'] == 'en') {
echo $courseCat['course_cat_title'];
} else
echo $courseCat['course_cat_title'];
echo "< h4>";
答案 0 :(得分:0)
您没有对结果进行排序以检查语言国家/地区ID。你只获得了第一行。您需要更改查询以获取所需的语言。或者循环查看结果,检查它们是哪种语言。
在您发布的代码中,if
语句在每个分支中执行相同的操作。而且你永远不会用它来选择数据。
同样根据评论使用MYSQLi或PDO作为您的查询,因为不推荐使用MYSQL。
答案 1 :(得分:0)
这个怎么样:
if($_SESSION['lang_code'] == 'en') {
$table='course_cat_eng';
}
else {
$table='course_cat_title';
}
$sql = "SELECT * FROM $table WHERE course_cat_id = 1";
if (! $resource = mysql_query($sql) ){
echo "Error reading from table $table";
}
else {
if (!mysql_num_rows($resource ) ){
echo "No records foin in $table";
}
else {
$courseCat = mysql_fetch_assoc($resource);
echo "<h4>";
echo $courseCat['course_cat_title'];
echo "</h4>";
//...
// other stuff you might want to do
}
}
如果这不是你想要的,请评论,我会修改我的答案。