我有一个列名=recording_size 的表。在本专栏中,我以字节为单位存储大小,但在 Web 上,我以 KB 为单位显示大小。
public static function getKbFromBytes($string){
if($string){
return ($string/1024);
}
}
现在我在 Web 中有一个过滤功能。因此,当我以 KB 显示大小时,我肯定会以 KB 而不是字节为单位进行用户搜索输入,尽管在 DB 中我以字节为单位。为此,我以 KB 为单位输入,然后将其再次转换为以下字节:
public static function getBytesFromKb($string){
if($string){
return ($string * 1024);
}
}
例子:
size in Bytes = 127232
当我应用我的函数时它 = 124.25 KB 现在当用户写完全像 124.25 然后搜索工作,但我希望该用户不写完全相同。用户也可以写 124 而不是 124.54,当用户写 124 时,我的搜索不起作用——这意味着它不显示任何记录。我还从转换后的字节中添加并减去 50,但它不起作用。
$sql = $sql->where('r.recording_size BETWEEN "'.(Engine::getBytesFromKb($opt['sn']) - 50) .'" AND "'.(Engine::getBytesFromKb($opt['sn']) + 50) .'"');
我怎样才能做到这一点?