我有一个下拉列表来显示搜索的价格范围。
用于下拉列表的HTML:
<select name="price">
<option value="">All (-)</option>
<option value="">Rs.400 to Rs.1,000 (3)</option>
<option value="">Rs.1,000 to Rs.2,000 (6)</option>
<option value="">Rs.2,000 to Rs.4,000 (1)</option>
<option value="">Rs.4,000+ (1)</option>
</select>
使用此option
值,现在我需要将第一个和第二个价格与用户选择分开。
例如。如果有人选择Rs.400 to Rs.1,000 (3)
,那么我需要400
和1,000
。
任何人都可以告诉我如何在php中执行此操作。我用php explode
累了。但我无法正确理解这一点。
希望有人可以帮助我。 谢谢。
答案 0 :(得分:4)
这样的事情:
HTML
<select name="price">
<option value="all">All (-)</option>
<option value="400|1000">Rs.400 to Rs.1,000 (3)</option>
<option value="1000|2000">Rs.1,000 to Rs.2,000 (6)</option>
<option value="2000|4000">Rs.2,000 to Rs.4,000 (1)</option>
<option value="Over">Rs.4,000+ (1)</option>
</select>
PHP
<?php
//Get the data from the form
$price = $_POST['price'];
$prices = explode("|", $price);
?>
例如,如果用户选择&#34; Rs.400到Rs.1,000&#34;,$ price的值将是:
$price[0] = "400";
$price[1] = "1000";
我希望有所帮助。如果它没有,我想我不清楚你在问什么。
答案 1 :(得分:1)
受到之前答案的启发。我建议。
HTML
<select name="price">
<option value="|">All (-)</option>
<option value="400|1000">Rs.400 to Rs.1,000 (3)</option>
<option value="1000|2000">Rs.1,000 to Rs.2,000 (6)</option>
<option value="2000|4000">Rs.2,000 to Rs.4,000 (1)</option>
<option value="4000|">Rs.4,000+ (1)</option>
</select>
PHP
<?php
function get_numeric($val) {
if (is_numeric($val)) {
return $val + 0;
}
return false;
}
$price_selected = isset($_REQUEST['price']) && trim($_REQUEST['price'])!="" ? $_REQUEST['price'] : "|"; // sets a default value
list($lower, $upper) = array_map('get_numeric',explode('|', $price_selected, 2));
var_dump($lower); // false when there's no lower limit
var_dump($upper); // false when there's no upper limit
?>