2011-04-10 79 views
-5

我需要从名为wallpaper的表中选择宽度或高度分辨率的壁纸。我怎样才能做到这一点?我有:从分辨率选择宽度或高度

$sql_wallpaper = "SELECT * from wallpaper 
        WHERE height = '1600' ORDER BY RAND() LIMIT 0,3"; 
+2

什么问题呢? – Flinsch 2011-04-10 17:33:28

+0

我需要选择1600分辨率的壁纸 – Hassan 2011-04-10 17:37:07

+0

那么,这应该不成问题!那么,究竟是什么问题? – Flinsch 2011-04-10 17:39:22

回答

1

如果你的高度和宽度字段的类型是数字,所以我会救作为INT的宽度和高度(范围:-2.147.483.648 - 2.147.483.647,应该足够了),因为通常分辨率不会有任何小数,然后尝试将'1600'作为字符串,因为这里的1600被设置为单引号标记)而是作为数字并删除引号。

所以,你得到:

$sql_wallpaper = "SELECT * from wallpaper where height = 1600 order by RAND() limit 0,3"; 

我fyou要添加的宽度为第二个参数,你可以做到这一点是这样的:有或语句

$sql_wallpaper = "SELECT * from wallpaper where height = 1600 OR width = 1024 order by RAND() limit 0,3"; 

,或者你想与和语句来做到这一点:

$sql_wallpaper = "SELECT * from wallpaper where height = 1600 AND width = 1024 order by RAND() limit 0,3"; 

编辑: 如果你想选择所有可用的壁纸,或有高度1600,1920或1280你可以使用类似的东西:

SELECT * FROM wallpaper WHERE height = 1600 OR height = 1920 OR height =1280 
+0

如何选择多分辨率,如:height = 1600,1920,1280 等?? – Hassan 2011-04-10 22:05:00

+0

我已编辑上面的帖子... – 2011-04-10 22:51:49

2

您可以使用OR这里得到具有一定宽度或高度的东西,例如

$sql_wallpaper = "SELECT * FROM wallpaper 
    WHERE height = '1600' OR width = '1024' ORDER BY RAND() LIMIT 0,3"; 
相关问题