我想做一个能做出选择的功能。但问题是第一个条件总是如此。所以我想根据所选文件在这两个select之间切换。
<?php
function select_cat(){
if (file('index_cms.php')){
return "SELECT * FROM posts_anon";
} elseif(file('category.php')){
return "SELECT * FROM posts_anon WHERE category = '$_GET[cat_name]'";
}
return 1;
}
select_cat();
$run_side = mysqli_query($connexion, select_cat());
?>
也许有人可以帮我解决这个问题。 谢谢。
更新:
好的,我根据Mazhar Hussain的帖子找到了解决方案。
<?php
function select_cat()
{
if (isset($_GET['cat_name'])) {
if ($_GET['cat_name'] == true && file('category.php')) {
return "SELECT * FROM posts_anon WHERE category = '$_GET[cat_name]'";
} else {
return '';
}
} else {
return "SELECT * FROM posts_anon";
}
}
select_cat();
$run_side = mysqli_query($connexion, select_cat());
?>
我改变了订单。首先,我验证$ GET _ ['cat_name']中是否存在某些内容,以及它是否与category.php文件匹配。 如果一切都没问题,那么使用第二个“SELECT”。 如果不匹配,则不返回任何内容或返回第一个“SELECT”。
大家好。
答案 0 :(得分:0)
基本上你要找的是服务器当前正在执行的脚本名称,如下所示:
<?php
function select_cat()
{
$fname = basename(__FILE__, '.php');
if ($fname == 'index_cms.php'){
return "SELECT * FROM posts_anon";
} elseif($fname == 'category.php'){
return "SELECT * FROM posts_anon WHERE category = '$_GET[cat_name]'";
}
return 1;
}
select_cat();
$run_side = mysqli_query($connexion, select_cat());
?>