PHP从mysql中选择数据文本范围

标签 php mysql select html-table range

我想从具有项目编号列表的项目表中选择一个范围,如下所示:

id  item_no  qty date
1   1l500bk  15  2015-03-20
2   1l501bu  10  2015-03-20
3   1l1501ye  5  2015-03-21
4   1l1520bu  5  2015-03-21
5   1l1521bk  1  2015-03-22

我创建了一个包含两个输入字段的表单,要求用户输入“起始商品编号”和“结束商品编号”,如下所示:

<input type="text" value="" placeholder="From Item Number" name="item1">
<input type="text" value="" placeholder="To Item Number" name="item2">

现在,当我输入 FROM 1l1500 - TO 1l1600 .. 它应该输出此范围内的所有值,但事实并非如此!输出没有显示任何内容。但是,如果我输入 1l1500bk1l1521bk,它只会显示 1 个输出( 1l1500bk )?!

这是页面提交后的 PHP 代码:

$query = "SELECT *,SUM(qty) from s_{$value} WHERE item_no BETWEEN '".$_POST['item1']."' AND '".$_POST['item2']."'";
$result = mysql_query($query);
while($row = mysql_fetch_assoc($result)){

    echo "<tr><td align=center width=19%>{$value}</td><td align=center width=19%>{$row['item_no']}</td><td align=center>{$row['qty']}</td><td align=center>{$row['date']}</td></tr>";

}

我希望这对你们来说有意义,我似乎找不到问题所在! 谢谢

<小时/>

感谢@Waleed Ahmed 的帮助 我的问题的解决方案是将 id 分组如下:

$query = "SELECT *,SUM(qty) from s_{$value} WHERE item_no BETWEEN '".$_POST['item1']."' AND  '".$_POST['item2']."'" GROUP BY id;

加:如果你想进行部分文本搜索

$length = max(strlen($_POST['item1']), strlen($_POST['item2'])); 

$query = "SELECT *,SUM(qty) from s_{$value} WHERE SUBSTRING(item_no, 1, ".$length.") BETWEEN '".$_POST['item1']."' AND  '".$_POST['item2']."'" GROUP BY id;

即使您不输入完整的商品编号,也会输出数据。

最佳答案

根据此查询,它将仅显示一个结果作为输出。要在这里使用聚合函数(sum(qty)),您必须使用“Group By”一词来显示所有结果。例如

未经测试,希望它能工作

$query = "SELECT *,SUM(qty) from s_{$value} WHERE item_no BETWEEN '".$_POST['item1']."' AND '".$_POST['item2']."'" GROUP BY id;

关于PHP从mysql中选择数据文本范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36116433/

相关文章:

javascript - Ajax - jQuery 和 Ajax 错误/不工作

php - laravel 包含进行迁移的路径

mysql - 连接值 MySQL

sql - 棘手的 SQL 查询,也许某种连接可以工作?

php - 通过 PHP FTP 上传整个目录

mysql - 在单个查询中更新具有不同值的多行 - MySQL

mysql - 存储过程返回所有记录,但期望是mysql中的一条记录

javascript - 如何将多选的值放入 echo 语句中?

mysql - 合并 MySQL 中 2 个表的数据

php - 将每个“名称”值形式的输入传递到动态创建的变量中