博主做一个轮播图,从数据库中获取数据,这个轮播图php页面调用给其他几个页面用,但是每个页面加载的图片都不一样,只需要换一个sql语句就可以了,怎么单独把这个sql拿出来,调用的时候DIY加入sql语句。博主用include载入其他页面的

解决方案 »

  1.   

    在顶部定义变量 规定好每个页面需要查询轮播图的sql数组 然后后面根据页面去执行数组下的某一条sql就行了 举个例子:$bannerSql = [
        'indexPage' => 'select * from album_Advertisement limit 8',
        'listPage' => 'select * from album_Advertisement order by xxxx desc limit 9 offset 3',
        'commentPage' => 'select * from xxxxx where xxxx limit x offset x',
    ];// 进入页面 根据页面带的不同的值 取 数组中 不同的sql
    $page = empty($_GET['page']) ? 'indexPage' : $_GET['page'];$mysql = mysql->query($bannerSql[$page]);#输出结果......
    再或者另一种方式:在数据库的表中加入 img_type 字段 用来区分是哪个页面的banner图 
    然后在执行sql的时候 把 页面作为where条件 取查询 建议这样做 举例:$page = empty($_GET['page']) ? 'indexPage' : $_GET['page'];$sql = "select * from album_Advertisement where img_type = '{$page}' order by xxx limit x offset x"; $mysql = mysql->query($sql);
    方式很多种 选择最适合你的那一种吧
      

  2.   

    $mysql = mysql->query($bannerSql[$page]);
    你这个我用了报错
      

  3.   

    报错是你代码写的不对吧 你要看错误信息 mysqli 的执行 mysql->query(xxxx) 随便写的 你不能直接粘贴只是给你思路 代码自己写的 检查一下代码吧