Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 自动执行mysql查询数值$\u GET变量_Php_Mysql_Sql - Fatal编程技术网

Php 自动执行mysql查询数值$\u GET变量

Php 自动执行mysql查询数值$\u GET变量,php,mysql,sql,Php,Mysql,Sql,我有mysql查询的代码 $sql = "SELECT * FROM `".$data."` UNION SELECT d2.* FROM `".$data2."` d2 WHERE NOT EXISTS (SELECT 1 FROM `".$data."` d1 WHERE d1.id = d2.id) AND created_at >= NOW() - INTERVAL 35 HOUR LIMIT 50 "

我有mysql查询的代码

$sql = "SELECT * FROM `".$data."` 
UNION
SELECT d2.* FROM `".$data2."` d2
WHERE NOT EXISTS (SELECT 1 FROM `".$data."` d1 WHERE d1.id = d2.id)
AND created_at >= NOW() - INTERVAL 35 HOUR
LIMIT 50
";


if (isset($_GET['page-2'])) {
    $sql = "SELECT * FROM `".$data."` 
    UNION
    SELECT d2.* FROM `".$data2."` d2
    WHERE NOT EXISTS (SELECT 1 FROM `".$data."` d1 WHERE d1.id = d2.id)
    AND created_at >= NOW() - INTERVAL 35 HOUR
    LIMIT 50,50
    ";
}


if (isset($_GET['page-3'])) {
    $sql = "SELECT * FROM `".$data."` 
    UNION
    SELECT d2.* FROM `".$data2."` d2
    WHERE NOT EXISTS (SELECT 1 FROM `".$data."` d1 WHERE d1.id = d2.id)
    AND created_at >= NOW() - INTERVAL 35 HOUR
    LIMIT 100,50
    ";
}
你怎么看,我有example.com/?page-2、example.com/?page-3、example.com/?page-4等页面。。对于每个带有数字get参数的页面,我都有单独的mysql查询

$sql = "SELECT * FROM `".$data."` 
UNION
SELECT d2.* FROM `".$data2."` d2
WHERE NOT EXISTS (SELECT 1 FROM `".$data."` d1 WHERE d1.id = d2.id)
AND created_at >= NOW() - INTERVAL 35 HOUR
LIMIT 50
";


if (isset($_GET['page-2'])) {
    $sql = "SELECT * FROM `".$data."` 
    UNION
    SELECT d2.* FROM `".$data2."` d2
    WHERE NOT EXISTS (SELECT 1 FROM `".$data."` d1 WHERE d1.id = d2.id)
    AND created_at >= NOW() - INTERVAL 35 HOUR
    LIMIT 50,50
    ";
}


if (isset($_GET['page-3'])) {
    $sql = "SELECT * FROM `".$data."` 
    UNION
    SELECT d2.* FROM `".$data2."` d2
    WHERE NOT EXISTS (SELECT 1 FROM `".$data."` d1 WHERE d1.id = d2.id)
    AND created_at >= NOW() - INTERVAL 35 HOUR
    LIMIT 100,50
    ";
}
优化代码的最佳方法是什么?

试试这个

    <?php

    // If pageNo given
    if(sizeof($_GET) > 0){
        $pageGetKey = array_keys($_GET)[0];
        $pageNo = explode("-", $pageGetKey)[1];
    } else{

        // If no pageNo given
        $pageNo = 0;
    }
    
    
    echo $pageNo;

    $limitMin = $pageNo * 50;
    $limitMax = $limitMin + 50;



    $sql = "SELECT * FROM `".$data."` UNION SELECT d2.* FROM `".$data2."` d2 WHERE NOT EXISTS (SELECT 1 FROM `".$data."` d1 WHERE d1.id = d2.id) AND created_at >= NOW() - INTERVAL 35 HOUR LIMIT ".$limitMin." , ".$limitMax;


?>