我有以下MySQL表:PHP选择两者之间串
表名: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?它似乎只比较第三个字符?..如何确保它比较完整的字符串?
请帮忙!
它比较整个字符串。要比较您想要的值,请参阅此主题:http://stackoverflow.com/questions/12097368/mysql-order-by-string-with-numbers –