";数字之间的范围”;代码[HTML,PHP,SQL]


"range between numbers" code [HTML, PHP, SQL]

我已经尝试了几个小时,让两个文本框将价格从0到999排序。我尝试过谷歌,但大多数都不起作用。。只需不断给我在文本框1和2 之间的范围内找不到数据

我已经连接了所有的数据库和所有的排序方法工作期望价格范围(从-到)

以下是我为的价格范围所做的工作

<form  class="form-wrapper" action="Products.php" method="get" align="right"><div style="margin:0;padding:0">
	<input type="number" id="pricefrom" placeholder="0" pattern="[0-9]" min="0" max="99" size="2" maxlength="2" required name="pricefrom"/>
	<input type="number" id="priceto" placeholder="999" pattern="[0-9]" min="0" max="999" size="3" maxlength="3" required name="priceto"/>  
	<input type="submit" value="go" id="submit"/>
	</form>	
  <?php 
	if((isset($_GET['pricefrom'])) && (isset($_GET['priceto'])))
	{
	$sql="SELECT * FROM  products WHERE Price BETWEEN '%".$_GET['pricefrom']."%' AND '%".$_GET['priceto']."%' ORDER BY Price ASC" ;
	}
	else 
	{
	$sql="SELECT * FROM  products";
	}
?>

试用-

"SELECT * FROM  products 
WHERE Price BETWEEN '".$_GET['pricefrom']."' AND '".$_GET['priceto']."' 
ORDER BY Price ASC"

BETWEEN不需要%

删除BETWEEN的%

"SELECT * FROM  products
 WHERE Price 
BETWEEN ".$_GET['pricefrom']." AND ".$_GET['priceto']." ORDER BY Price ASC" 

将查询更改为:

if(isset($_GET['pricefrom']) && isset($_GET['priceto'])) {
    $sql="SELECT * 
          FROM products 
          WHERE Price BETWEEN ".$_GET['pricefrom']." AND ".$_GET['priceto']." 
          ORDER BY Price ASC";
}

此外,您还必须注意SQL注入

"SELECT * FROM  products WHERE Price BETWEEN ".$_GET['pricefrom']." AND .$_GET['priceto']." ORDER BY Price ASC" 

是SQL查询,但之后必须运行循环才能显示结果。。。

这只会得到信息。之后我们必须写:

$result = $conn->query($sql);
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo ;  // PHP code goes here [1]
    }
} else {
    echo "0 results";
}

[1] 在这里,您必须编写代码,其中提到如何显示数据。