繁体   English   中英

PHP_MYSQL-根据特定文件在两个查询之间进行选择

[英]PHP_MYSQL - Select between two query, according to a specific file

我想做一个可以选择的功能。 但是问题是,第一个条件始终是正确的。 因此,我想根据所选文件在这两个选择之间切换。

<?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”。

谢谢大家。

基本上,您要查找的是服务器当前正在执行的脚本名称,请使用如下所示的内容

<?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());
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM