|
查看: 1432|回复: 16
|
php 找最靠近的NUMBER
[复制链接]
|
|
|
小弟有一个难题,折腾了几天,请各位可以帮帮我吗。
我有个 database 是这样的
100cm = RM100
200cm = RM200
300cm = RM300
但 输入120 它会找最靠近的NUMBER。
eg:
输入100 - 199 属于 RM100,
输入200 - 299 属于 RM200,
输入》300 属于 RM300,
我该怎样写这个呢? 请帮帮帮忙???折腾了几天,小弟不才。
谢谢 |
|
|
|
|
|
|
|
|
|
|
发表于 23-10-2010 08:55 AM
|
显示全部楼层
if(( $varcm >= 100) && ($varcm < 200))
{
echo "RM100";
}
elseif($varcm < 300)
{
echo "RM200";
}
elseif( $varcm >= 300)
{
echo "RM300";
} |
|
|
|
|
|
|
|
|
|
|
发表于 23-10-2010 09:51 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 23-10-2010 01:07 PM
|
显示全部楼层
本帖最后由 ipaxnet 于 23-10-2010 01:08 PM 编辑
谢谢你们的帮助。
如果我的 有很多呢?
100cm = RM100
200cm = RM200
300cm = RM300
400cm = RM450
500cm = RM600
600cm = RM1000
输入380cm 出来的result是RM300
输入450cm 出来的result是RM450
该怎样呢。
对不起,太多问题了。 |
|
|
|
|
|
|
|
|
|
|
发表于 23-10-2010 02:18 PM
|
显示全部楼层
谢谢你们的帮助。
如果我的 有很多呢?
100cm = RM100
200cm = RM200
300cm = RM300
400cm = RM450
5 ...
ipaxnet 发表于 23-10-2010 01:07 PM 
用DB来control咯。。。二楼已近插不多都给了你 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 23-10-2010 10:31 PM
|
显示全部楼层
我明白二楼的帮忙。但如果我有100个record 在 database呢, 我该怎样找那最靠近的NUMBER, 然后show出result呢。
eg:
id width price
1 100cm RM200
2 250cm RM530
3 360cm RM760
4 420cm RM900
continue 100 record
单我的 input 360cm, result RM760...
370cm, result RM760...
380cm, result RM760.......
400cm, result RM760....
410cm, result RM760.... 单 input 420cm result 出来是RM900
我 try很多方发还是不能。伤脑经。 |
|
|
|
|
|
|
|
|
|
|
发表于 23-10-2010 10:45 PM
|
显示全部楼层
樓主之後問的問題好像已經乘離你原先要的.
你之後要的除非是有邏輯可尋不然就必需一對一的對比. |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 23-10-2010 10:53 PM
|
显示全部楼层
对不起,可能我开是表答错了。
在烦着 。。。。  |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 23-10-2010 11:02 PM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 24-10-2010 12:34 AM
|
显示全部楼层
|
|
|
|
|
|
|
|
|
|
发表于 24-10-2010 01:44 PM
|
显示全部楼层
如果是要找最接近的話應該讀出 N筆你質料庫的資料存入二維陣列 ,然後將(二維陣列的比較值-你的輸入值) 再取絕對值,然後對N筆結果做排序,取第一筆就是最接近的值了.
應該是這樣沒有錯吧 |
|
|
|
|
|
|
|
|
|
|
发表于 24-10-2010 02:14 PM
|
显示全部楼层
我明白二楼的帮忙。但如果我有100个record 在 database呢, 我该怎样找那最靠近的NUMBER, 然后show出resul ...
ipaxnet 发表于 23-10-2010 10:31 PM 
你可以这样做的。。。
0-99 = RM250
100-249 = RM300
250-359 = RM350
360-9999 = RM500
就这样...然后用SQL来query出来就ok了 |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 24-10-2010 05:16 PM
|
显示全部楼层
如果是要找最接近的話應該讀出 N筆你質料庫的資料存入二維陣列 ,然後將(二維陣列的比較值-你的輸入值) 再取 ...
desmond_0321 发表于 24-10-2010 01:44 PM 
desmond大哥,什么是二維陣列的比較值呢? 您的方法不错,我想下。但不知什么是二維陣列的比較值? 可以解释吗?
谢谢个位的帮助。 |
|
|
|
|
|
|
|
|
|
|
发表于 24-10-2010 10:17 PM
|
显示全部楼层
desmond大哥,什么是二維陣列的比較值呢? 您的方法不错,我想下。但不知什么是二維陣列的比較值? 可以 ...
ipaxnet 发表于 24-10-2010 05:16 PM 
就是把你资料库的资料[size=15.8333px]query出来存入阵列,像下面表格那样,100cm 和 170cm 就是你的比较值,[size=15.8333px]然后用回圈把它们跟你的输入值相减之后存回阵列,再对他们做排序取最小的,然后就可以得到最接近的价钱了,这样可以明白吗?
价钱 比较值
|
|
|
|
|
|
|
|
|
|
|
发表于 25-10-2010 12:26 PM
|
显示全部楼层
|
SELECT * FROM TABLENAME WHERE width >= yourUserInput limit 1; |
|
|
|
|
|
|
|
|
|
|
发表于 27-10-2010 09:02 AM
|
显示全部楼层
|
select price from table where width >= width order by width desc limit 0,1; |
|
|
|
|
|
|
|
|
|
|

楼主 |
发表于 21-12-2010 10:29 AM
|
显示全部楼层
|
Sorry, 忘记谢谢各路英雄。小弟的问题解决了。 谢谢 |
|
|
|
|
|
|
|
|
| |
本周最热论坛帖子
|