我有用户和用户优惠券的数据库列表,如果数字之间大于两个,我想为每个优惠券添加+1票。
例如:
100 between 200 = 1 ticket
200 between 300 = 2 ticket
300 between 400 = 3 ticket
.......
.......
1200 between 1300 = 12 ticket
例如,我放照片:
我的代码是:
$q=$db->query("SELECT DISTINCT client_id FROM kuponlar ORDER BY client_id LIMIT 20");
foreach($q as $cat){
echo '<li id="'.$cat['client_id'].'" class="files">';
echo 'User ID: <a href="'.$cat['client_id'].'">'.$cat['client_id'].'</a>';
echo '<ul class="sub-menu">';
$linkq=$db->query("SELECT * FROM kuponlar WHERE client_id='" . $cat['client_id'] . "'");
foreach($linkq as $link){
echo '<li>Coupon ID: <a href="#">'.$link['kuponid'].'</a> - Coupon Price: '.$link['yatirimi'].' ₺ / Won Ticket: '.substr($link['yatirimi'], 0, 1).' </li>';
}
echo '</ul></li>';
}
答案 0 :(得分:3)
如评论中所述;
- 因此,如果数字为12000,结果是120?基本上除以100? –齐雷尔
- 是@Qirel,这是完美的评论。我的意思是这样。 (...)– IsmailAltunören
简而言之,您想将数字除以100。然后必须对其进行下限运算,以获得一个完整的整数并去除所有小数点。
floor($link['yatirimi']/100);
您可以将其替换为substr()
,然后整行显示
echo '<li>Coupon ID: <a href="#">'.$link['kuponid'].'</a> - Coupon Price: '.$link['yatirimi'].' ₺ / Won Ticket: '.floor($link['yatirimi']/100).' </li>';
答案 1 :(得分:2)
您可以使用floor()
进行此操作:
http://php.net/manual/en/function.floor.php
地板-向下舍入分数
这应该可以解决问题:floor($link['yatirimi'] / 100)
用它代替您的substr
。
答案 2 :(得分:0)
您可以使用以下名称:$wonTicketsCount = round(($link['yatirimi'] / 100 ) - 0.5);
代替substr($link['yatirimi'], 0, 1)
。
答案 3 :(得分:0)
如果仅使用数百步,请参考您的评论:
修改此行:
substr($link['yatirimi'], 0, 1)
此行将始终采用第一个数字。
通过:这个 除了两个倒数,它将取所有数字。
substr($link['yatirimi'],0,-2);
通过保留substr,它不适用于0-100之间的数字, 最好使用@Qirel的Anwser。