Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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中执行此多IF语句_Php_Mysql_If Statement_Nested - Fatal编程技术网

Php 如何在MySQL中执行此多IF语句

Php 如何在MySQL中执行此多IF语句,php,mysql,if-statement,nested,Php,Mysql,If Statement,Nested,我有这张桌子: scanner name | maxwidth | maxlength ==================================== scanner A | 50 | 100 scanner B | 60 | 120 在我的PHP中,我有: $paperW = 70; $paperL = 55; 如何进行mysql查询,以便我的结果返回: scanner name ============ scanner B 这样做的目的是找

我有这张桌子:

scanner name | maxwidth | maxlength
====================================
scanner A    | 50       | 100
scanner B    | 60       | 120
在我的PHP中,我有:

$paperW = 70;
$paperL = 55;
如何进行mysql查询,以便我的结果返回:

scanner name
============
scanner B
这样做的目的是找到适合纸张大小的扫描仪。虽然纸张宽度为70,长度为55,打印机B的最大宽度为60,但我们始终可以旋转纸张方向,使纸张宽度变为55,长度变为70,以适合扫描仪B

在伪代码中,检查扫描仪是否适合纸张将如下所示:

if (paperW <= maxWidth && paperL <= maxLength)
 return true
else{
 if (paperW >  maxWidth){
    if (paperW <= maxLength && paperL <= maxWidth)
       return true;
    else
       return false;
 }
 else
  return false;
}
if(paperW
$query=
“从扫描仪中选择

WHERE(maxwidth您可以使用类似于以下内容的WHERE子句:

WHERE (paperW <= maxWidth AND paperL <= maxLength) OR 
      (paperL <= maxWidth AND paperW <= maxLength)
WHERE(paperW这是正确的答案(我认为xD):


Saludos;)

只需在php中获取矩形区域即可

RectArea = width * length;
并在where子句中使用
矩形区域

 SELECT 
     SCANNER_NAME,
     MAX_WIDTH,
     MAX_LENGTH,
     (MAX_WIDTH * MAX_LENGTH) PAGE_AREA 
 FROM Scanners
    WHERE (MAX_WIDTH * MAX_LENGTH)  >=  RectArea ;
试试这个

 select scanner_name from your_table 
 where ('$paperW' <= maxwidth and $paperL <= maxlength ) 
  OR  ('$paperW' <= maxlength and $paperL <= maxwidth )
从您的\u表中选择扫描仪\u名称
where(“$paperW”?您是否查看了
where
语句?
 SELECT 
     SCANNER_NAME,
     MAX_WIDTH,
     MAX_LENGTH,
     (MAX_WIDTH * MAX_LENGTH) PAGE_AREA 
 FROM Scanners
    WHERE (MAX_WIDTH * MAX_LENGTH)  >=  RectArea ;
 select scanner_name from your_table 
 where ('$paperW' <= maxwidth and $paperL <= maxlength ) 
  OR  ('$paperW' <= maxlength and $paperL <= maxwidth )