Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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中选择现有的单个值_Php_Mysql_Select - Fatal编程技术网

Php 如果存在多个值,请避免使用默认值,或者在Mysql中选择现有的单个值

Php 如果存在多个值,请避免使用默认值,或者在Mysql中选择现有的单个值,php,mysql,select,Php,Mysql,Select,在我的网站上,我有一个产品图像显示区域。当用户单击产品时,它将重定向到图像显示页面。我设置了一个默认图像。当用户看到产品时将显示。但是当用户转到产品图像页面时,如果存在多个图像,我不想显示默认图像。但是如果数据库中只有一个图像,我需要显示默认图像。目前我用两个查询来完成这项工作。有没有办法通过一个查询来实现这一点 我需要像这样的东西 select image from table where if exists more than 1 then select 'non-featured' els

在我的网站上,我有一个产品图像显示区域。当用户单击产品时,它将重定向到图像显示页面。我设置了一个默认图像。当用户看到产品时将显示。但是当用户转到产品图像页面时,如果存在多个图像,我不想显示默认图像。但是如果数据库中只有一个图像,我需要显示默认图像。目前我用两个查询来完成这项工作。有没有办法通过一个查询来实现这一点

我需要像这样的东西

select image from table where if exists more than 1 then select 'non-featured' else select 'featured'

请提供帮助

您可以使用组函数
max()
来解决问题。这个函数应该总是只返回一个图像,如果它能找到它的话。否则它将返回
null
。然后使用函数
ifnull()
获取默认图像

select ifnull(max(image),'default_image.jpg') from table

+1我只想添加一个带有
COUNT()
if
的答案,但这更简洁、更好,如果你想回答问题,我想你也可以学习:谢谢你的答案。但是我不知道如何用这个查询添加它
从image\u details中选择image\u name加入image\u details.id\u fk=product.id其中product.p\u name='product'和image\u details.featured=“non\u featured”和image\u details.image\u status='active'
如果存在非特色图片,我需要获取,否则,选择特色图片。感谢you@Arun您只需在查询中输入
ifnull(max(image\u name),'default\u image.jpg')
而不是
image\u name
。@Arun您在宽限期内是否更改了问题?您所说的是在没有图像的情况下获取默认图像。