首先,写下PHP代码之前。我有一个名为mySQL数据库中的项目的表。 假设它有内部ITEM_NO以下reocrds:PHP简单搜索项目范围
- 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 />";
}
}
现在的问题从这里开始:假设我想搜索项目从1l900bk TO 2l900BK,它将输出所有ITEM_NO它们之间(1L900bk 1L900BE ------- 2L900BK)哪个是完美的!
但是,当我想寻找ITEM_NO FROM 1L9 TO 2L9 ...结果或输出是不正确的(1L900BK - 1L900BE - 1L900BR - 并停止!)哪里是2L900的?当for循环达到此值时它跳过2l9。
现在我想要的是输出所有2l900当我写下2l9 ...我认为在查询内部BETWEEN有问题,但我找不到另一种方法。
谢谢
什么是ITEM_NO数据类型? – Awemo
@Awemo varchar(20) – Alihamra