まず、PHP コードを書き留める前に。mySQL データベースに items という名前のテーブルがあります。item_no 内に次のレコードがあるとします。
- 1L900BK
- 1L900BE
- 1L900BR
- 2L900BK
- 2L902BE
- 2L910PU
PHPコードは次のとおりです。
require_once('connect_db.php');
$from = $_POST['from'];
$to = $_POST['to'];
$query = "SELECT * FROM items WHERE item_no BETWEEN '".$from."' AND '".$to."' ORDER BY item_no Asc";
$result = mysql_query($query);
if(mysql_num_rows($result)>0){
$num = mysql_num_rows($result);
for($i=0;$i<$num;$i++){
$row = mysql_fetch_assoc($result);
echo $row['item_no'];
echo "<br /><br />";
}
}
問題はここから始まります: FROM 1l900bk TO 2l900BKの項目を検索したいとします。それらの間のすべての item_no が出力されます ( 1L900bk 1L900BE ------- 2L900BK) これは完璧です!
しかし、item_no を検索したいとき FROM 1L9 TO 2L9 ...結果または出力が正しくありません (1L900BK - 1L900BE - 1L900BR - そして停止します!!) 2L900 はどこにありますか? for ループがこの値に達すると、2l9 をスキップします。
今私が望むのは、2l9を書き留めるときにすべての2l900を出力することだけです...クエリ内のBETWEENに何か問題があると思いますが、それを行う別の方法が見つかりませんでした。
ありがとうございました