我有以下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 –