PHP在两个字符串之间选择


PHP Select between two strings

我有以下mysql表:

表名:items

item_no qty
1l1000bk 1
1l1020be 2
1l900bk 12
1l820be 19

创建一个form提交给包含以下PHP代码的其他页面后:

$from = $_POST['from'];
$to = $_POST['to'];
$length = max(strlen($from), strlen($to)); 
$query6 = "SELECT * FROM items WHERE SUBSTRING(item_no, 1, ".$length.")   BETWEEN '".$from."' AND '".$to."' ORDER BY item_no Desc";
$result6 = mysql_query($query6);
if(!$result6){
    mysqli_error();
    exit();
}

if(mysql_num_rows($result6)>0){
$num6 = mysql_num_rows($result6);
for($i=0;$i<$num6;$i++){    
$row6 = mysql_fetch_assoc($result6);
echo $row6['item_no']."</br>";
}
}

根据选择的统计,输出完全错误。。我需要将搜索到的item_no输出为降序!。。显示如下:

1l900bk
1l820be
1l1020be
1l1000bk

为什么1l1000比1l900小?它似乎只比较第三个字符?。。如何确保它比较完整的字符串?

请帮忙!

         SELECT column_name(s)
         FROM table_name
         WHERE column_name BETWEEN value1 AND value2;

这是因为它被排序为字符串,而不是整数。如果你想对is进行排序,你应该让shure所有的数字都一样:所以如果你有1000和900,就用0900。则它将正常排序。