如何使用条件获取sql php或使用条件合并获取?
我有一个名为如何使用条件获取sql php或使用条件合并获取?,php,sql,Php,Sql,我有一个名为links的表,其中的列名为linklink2link3和score 我希望始终获取链接,但仅当得分大于等于100时,才能获取链接2。仅当得分大于等于200时,才能获取link3。然后将所有这些结果放在一行中,以便一行读取。 查看我的脚本(根本没有加载) $sql=“从useron=1的链接中选择链接、链接2、链接3、分数”; $liste=数组('link'); $list2=数组('link2'); $list3=数组('link3'); 如果($list2['score']>=
links
的表,其中的列名为link
link2
link3
和score
我希望始终获取链接
,但仅当得分
大于等于100时,才能获取链接2
。仅当得分
大于等于200时,才能获取link3
。然后将所有这些结果放在一行中,以便一行读取。
查看我的脚本(根本没有加载)
$sql=“从useron=1的链接中选择链接、链接2、链接3、分数”;
$liste=数组('link');
$list2=数组('link2');
$list3=数组('link3');
如果($list2['score']>=100&&<200){
$liste[]=“link2”;
如果($list3['score']>=200)
$liste[]=“link3”;
if($result=mysqli_查询($link,$sql)){
如果(mysqli_num_行($result)>0){
while($row=mysqli\u fetch\u数组($result)){
echo$row['link']。“\n”;
}
//自由结果集
mysqli_免费_结果($result);
}否则{
echo“未找到与您的查询匹配的记录。”;
}
}否则{
echo“错误:无法执行$sql。”.mysqli_错误($link);
}
您可以执行以下操作:
SELECT link,
CASE
WHEN score >= 100 THEN link2
ELSE ''
END as link2,
CASE
WHEN score >= 200 THEN link3
ELSE ''
END as link3,
score
FROM links
WHERE useron = 1
然后获取所有行并显示所有非空链接。这就是我所做的Lajos Arpad,我的意思是我看不到结果,因为我的页面根本没有加载…@Specimenx33你没有做这个确切的事情,你在PHP级别上做了这个逻辑,但更重要的是,你在某个地方出错了,所以你需要向我们提供关于您得到的实际错误。很抱歉@Lajos Arpad我是php新手,这是我的项目要完成的最后一步。错误只是错误500(此页面未加载)当我转到url时。请问你的帮助帖子有什么错误吗?我正在努力让它工作,但更重要的是我想learn@Specimenx33500表示内部服务器错误。您需要检查服务器日志以了解确切的错误是什么。当我只回显一个基本sql请求的链接时,我的页面正在工作。错误更像关于我的语法,我想,但我不知道在哪里。。。
SELECT link,
CASE
WHEN score >= 100 THEN link2
ELSE ''
END as link2,
CASE
WHEN score >= 200 THEN link3
ELSE ''
END as link3,
score
FROM links
WHERE useron = 1