Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php数据库中的整数_Php_Mysql - Fatal编程技术网

如何使用php数据库中的整数

如何使用php数据库中的整数,php,mysql,Php,Mysql,在我的数据库里我有 | minprice | mediumint(9) | YES | | NULL | | 我试图创建一个下拉列表,它将使用数据库中提供的整数填充select语句中的值 我尝试了单引号、双引号、数字周围没有引号,似乎不知道如何使用它 即 echo$row['maxprice'] //产量350000 >350000 >350000 >350000 select中的预期值为350000 如果产量是340000,我仍然期望350000 如果产量是360000,我估计是4

在我的数据库里我有

| minprice | mediumint(9) | YES |  | NULL |    |
我试图创建一个下拉列表,它将使用数据库中提供的整数填充select语句中的值

我尝试了单引号、双引号、数字周围没有引号,似乎不知道如何使用它

echo$row['maxprice']
//产量350000
>350000
>350000
>350000
select中的预期值为350000

如果产量是340000,我仍然期望350000

如果产量是360000,我估计是400000

<label for="">Max Price</label>
<select id="maxprice" name="maxprice">
<option<?php if ($row['maxprice'] < "100000"): ?> selected="selected"<?php endif; ?>>-100000</option>
<option<?php if ($row['maxprice'] <= "100000"): ?> selected="selected"<?php endif; ?>>100000</option>
<option<?php if ($row['maxprice'] <= "150000"): ?> selected="selected"<?php endif; ?>>150000</option>
<option<?php if ($row['maxprice'] <= "200000"): ?> selected="selected"<?php endif; ?>>200000</option>
<option<?php if ($row['maxprice'] <= "250000"): ?> selected="selected"<?php endif; ?>>250000</option>
<option<?php if ($row['maxprice'] <= "300000"): ?> selected="selected"<?php endif; ?>>300000</option>
<option<?php if ($row['maxprice'] <= "350000"): ?> selected="selected"<?php endif; ?>>350000</option>
<option<?php if ($row['maxprice'] <= "400000"): ?> selected="selected"<?php endif; ?>>400000</option>
<option<?php if ($row['maxprice'] <= "450000"): ?> selected="selected"<?php endif; ?>>450000</option>
<option<?php if ($row['maxprice'] <= "500000"): ?> selected="selected"<?php endif; ?>>500000</option>
<option<?php if ($row['maxprice'] <= "550000"): ?> selected="selected"<?php endif; ?>>550000</option>
<option<?php if ($row['maxprice'] <= "600000"): ?> selected="selected"<?php endif; ?>>600000</option>
<option<?php if ($row['maxprice'] <= "650000"): ?> selected="selected"<?php endif; ?>>650000</option>
<option<?php if ($row['maxprice'] <= "700000"): ?> selected="selected"<?php endif; ?>>700000</option>
<option<?php if ($row['maxprice'] <= "750000"): ?> selected="selected"<?php endif; ?>>750000</option>
<option<?php if ($row['maxprice'] <= "800000"): ?> selected="selected"<?php endif; ?>>800000</option>
<option<?php if ($row['maxprice'] <= "850000"): ?> selected="selected"<?php endif; ?>>850000</option>
<option<?php if ($row['maxprice'] <= "900000"): ?> selected="selected"<?php endif; ?>>900000</option>
<option<?php if ($row['maxprice'] <= "950000"): ?> selected="selected"<?php endif; ?>>950000</option>
<option<?php if ($row['maxprice'] >= "1000000"): ?> selected="selected"<?php endif; ?>>1000000+</option>
</select>
最高价格
>-100000
>100000
>150000
>200000
>250000
>300000
>350000
>400000
>450000
>500000
>550000
>600000
>650000
>700000
>750000
>800000
>850000
>900000
>950000
selected=“selected”>1000000+

要实现这一点,我认为您应该使用if…elseif…else语句

见参考资料:

或者您可以像这样修改if语句条件


我知道那样的编码是不好的练习,但这正是他所要求的


最高价格
>-100000
>100000
selected=“selected”>150000
selected=“selected”>200000
selected=“selected”>250000
selected=“selected”>300000
selected=“selected”>350000
selected=“selected”>400000
selected=“selected”>450000
selected=“selected”>500000
selected=“selected”>550000
selected=“selected”>600000
selected=“selected”>650000
selected=“selected”>700000
selected=“selected”>750000
selected=“selected”>800000
selected=“selected”>850000
selected=“selected”>900000
selected=“selected”>950000
selected=“selected”>1000000
selected=“selected”>1000000+

intval($row['maxprice'])从数据库接收的所有值都将是
字符串
数据类型。但是,PHP lexer会自动将数字字符串比较作为整数或浮点值进行计算

在数值上下文中计算字符串时,结果值和类型的确定如下所示

如果字符串不包含任何字符“.”、“e”或“e” 并且数值符合整数类型限制(如
PHP\u INT\u MAX
),字符串将作为整数计算。在所有其他方面 在某些情况下,它将作为浮动进行评估

这允许正确评估
“10”>2
“10”>“2”
,而无需打字或使用
intval

问题的主要原因是未使用范围限制要选择的最低和最高价格。因此,您将有多个值设置为选中的
,浏览器将仅显示第一个值作为选中的选项。要避免多个选择选项的问题,您需要使用一个条件范围,如
$price>=$min&&$price
最高价格
>

或者,您也可以通过使用生成值并使用条件来检测第一个
条目,或
$price>=$amount-49999&&$price>来实现所需的结果
>
>
结果

最高价格(20)
-100000
100000
150000
200000
250000
300000
350000
400000
450000
500000
550000
600000
650000
700000
750000
800000
850000
900000
950000
1000000
1000000+
最高价格(340000)
-100000
100000
150000
200000
250000
300000
350000
400000
450000
500000
550000
600000
650000
700000
750000
800000
850000
900000
950000
1000000
1000000+
最高价格(360000)
-100000
100000
150000
200000
250000
300000
350000
400000
450000
500000
550000
600000
650000
700000
750000
800000
850000
900000
950000
1000000
1000000+
最高价格(1000000)
-100000
100000
150000
200000
250000
300000
350000
400000
450000
500000
550000
600000
650000
700000
750000
800000
850000
900000
950000
1000000
1000000+
最高价格(1500000)
-100000
100000
150000
200000
250000
300000
350000
400000
450000
500000
550000
600000
650000
700000
750000
800000
850000
900000
950000
1000000
1000000+

您确实意识到,代码会在下拉列表中将多行设置为
已选
尝试在标记名和php标记之间留出一个空格
您可能还想添加一个
value=“”
属性,以便您知道以后php必须处理表单时选择了什么data@RiggsFolly我累了,空间不工作了,我有另一个选择,它拉取一个varchar值,这个很好,它有som
<label for="">Max Price</label>
<select id="maxprice" name="maxprice">
<option<?php if ($row['maxprice'] < "100000"): ?> selected="selected"<?php endif; ?>>-100000</option>
<option<?php if ($row['maxprice'] <= "100000"): ?> selected="selected"<?php endif; ?>>100000</option>
<option<?php if ($row['maxprice'] <= "150000"): ?> selected="selected"<?php endif; ?>>150000</option>
<option<?php if ($row['maxprice'] <= "200000"): ?> selected="selected"<?php endif; ?>>200000</option>
<option<?php if ($row['maxprice'] <= "250000"): ?> selected="selected"<?php endif; ?>>250000</option>
<option<?php if ($row['maxprice'] <= "300000"): ?> selected="selected"<?php endif; ?>>300000</option>
<option<?php if ($row['maxprice'] <= "350000"): ?> selected="selected"<?php endif; ?>>350000</option>
<option<?php if ($row['maxprice'] <= "400000"): ?> selected="selected"<?php endif; ?>>400000</option>
<option<?php if ($row['maxprice'] <= "450000"): ?> selected="selected"<?php endif; ?>>450000</option>
<option<?php if ($row['maxprice'] <= "500000"): ?> selected="selected"<?php endif; ?>>500000</option>
<option<?php if ($row['maxprice'] <= "550000"): ?> selected="selected"<?php endif; ?>>550000</option>
<option<?php if ($row['maxprice'] <= "600000"): ?> selected="selected"<?php endif; ?>>600000</option>
<option<?php if ($row['maxprice'] <= "650000"): ?> selected="selected"<?php endif; ?>>650000</option>
<option<?php if ($row['maxprice'] <= "700000"): ?> selected="selected"<?php endif; ?>>700000</option>
<option<?php if ($row['maxprice'] <= "750000"): ?> selected="selected"<?php endif; ?>>750000</option>
<option<?php if ($row['maxprice'] <= "800000"): ?> selected="selected"<?php endif; ?>>800000</option>
<option<?php if ($row['maxprice'] <= "850000"): ?> selected="selected"<?php endif; ?>>850000</option>
<option<?php if ($row['maxprice'] <= "900000"): ?> selected="selected"<?php endif; ?>>900000</option>
<option<?php if ($row['maxprice'] <= "950000"): ?> selected="selected"<?php endif; ?>>950000</option>
<option<?php if ($row['maxprice'] >= "1000000"): ?> selected="selected"<?php endif; ?>>1000000+</option>
</select>
<?php $maxprice = 350000; ?>
<label for="">Max Price</label>
<select id="maxprice" name="maxprice">
<option <?php if ($maxprice < 100000) : ?> selected="selected" <?php endif; ?>>-100000</option>
<option <?php if ($maxprice == 100000) : ?> selected="selected" <?php endif; ?>>100000</option>
<option <?php if ($maxprice <= 150000 && $maxprice > 100000) : ?> selected="selected" <?php endif; ?>>150000</option>
<option <?php if ($maxprice <= 200000 && $maxprice > 150000) : ?> selected="selected" <?php endif; ?>>200000</option>
<option <?php if ($maxprice <= 250000 && $maxprice > 200000) : ?> selected="selected" <?php endif; ?>>250000</option>
<option <?php if ($maxprice <= 300000 && $maxprice > 250000) : ?> selected="selected" <?php endif; ?>>300000</option>
<option <?php if ($maxprice <= 350000 && $maxprice > 300000) : ?> selected="selected" <?php endif; ?>>350000</option>
<option <?php if ($maxprice <= 400000 && $maxprice > 350000) : ?> selected="selected" <?php endif; ?>>400000</option>
<option <?php if ($maxprice <= 450000 && $maxprice > 400000) : ?> selected="selected" <?php endif; ?>>450000</option>
<option <?php if ($maxprice <= 500000 && $maxprice > 450000) : ?> selected="selected" <?php endif; ?>>500000</option>
<option <?php if ($maxprice <= 550000 && $maxprice > 500000) : ?> selected="selected" <?php endif; ?>>550000</option>
<option <?php if ($maxprice <= 600000 && $maxprice > 550000) : ?> selected="selected" <?php endif; ?>>600000</option>
<option <?php if ($maxprice <= 650000 && $maxprice > 600000) : ?> selected="selected" <?php endif; ?>>650000</option>
<option <?php if ($maxprice <= 700000 && $maxprice > 650000) : ?> selected="selected" <?php endif; ?>>700000</option>
<option <?php if ($maxprice <= 750000 && $maxprice > 700000) : ?> selected="selected" <?php endif; ?>>750000</option>
<option <?php if ($maxprice <= 800000 && $maxprice > 750000) : ?> selected="selected" <?php endif; ?>>800000</option>
<option <?php if ($maxprice <= 850000 && $maxprice > 800000) : ?> selected="selected" <?php endif; ?>>850000</option>
<option <?php if ($maxprice <= 900000 && $maxprice > 850000) : ?> selected="selected" <?php endif; ?>>900000</option>
<option <?php if ($maxprice <= 950000 && $maxprice > 900000) : ?> selected="selected" <?php endif; ?>>950000</option>
<option <?php if ($maxprice <= 1000000 && $maxprice > 950000) : ?> selected="selected" <?php endif; ?>>1000000</option>
<option <?php if ($maxprice > 1000000) : ?> selected="selected" <?php endif; ?>>1000000+</option>
</select>
intval($row['maxprice']) <= 350000