我对MySQL世界很陌生,所以我很抱歉,如果这可能是显而易见的事情!
我尝试做的是一个查询,它在不同页面上输出价格数据,此时它工作正常 - 但是在每个页面上我使用查询我必须更改查询中的产品页面名称。如何自动获取页面的文件名(不包括.PHP)并将该名称插入查询中? (我在DB中有一个具有所有不同页面名称的相应列)
$query=("SELECT *
FROM database e
JOIN validdate1 r ON e.datevalid1=r.id
JOIN validdate2 d ON e.datevalid2=d.id
WHERE productpage='page01'
ORDER BY price2,
所以不是手动输入page01,而是希望从文件名中取出它(在本例中是page01.php)。
提前谢谢!
答案 0 :(得分:1)
echo __FILE__;
输出当前文件名。
echo preg_replace('/\.php$/', '', __FILE__);
输出当前文件名,而不是' .php'。
答案 1 :(得分:1)
在查询中使用变量插值:
$pageName = basename(__FILE__, '.php');
$query=("SELECT * FROM database e JOIN validdate1 r ON e.datevalid1=r.id JOIN validdate2 d ON e.datevalid2=d.id WHERE productpage='$pageName' ORDER BY price2");
...或使用预准备语句并将页面名称作为参数提交
答案 2 :(得分:0)
使用以下代码
阅读php页面名称$page=basename($_SERVER['PHP_SELF']); /* Returns PHP File Name */
$page_name=str_replace(".php","",$page);
$query=("SELECT *
FROM database e
JOIN validdate1 r ON e.datevalid1=r.id
JOIN validdate2 d ON e.datevalid2=d.id
WHERE productpage='$page_name'
ORDER BY price2,
答案 3 :(得分:0)
如果页面链接是这样的事情: http://yourhost/abc/page1
你可以使用这个来获取/ abc / page1:
$path = parse_url($url, PHP_URL_PATH)
取决于您的网址结构,您可以使用explode来获取第1页