Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.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 在一列中用a分隔单独的ID号,_Php_Sql_Drop Down Menu - Fatal编程技术网

Php 在一列中用a分隔单独的ID号,

Php 在一列中用a分隔单独的ID号,,php,sql,drop-down-menu,Php,Sql,Drop Down Menu,我需要一些帮助来分离用逗号分隔的id,然后在下拉列表中显示它们 下面是我正在使用的代码,如果衣服类型id中只有一个数字,它可以正常工作,如果我添加更多的数字,以逗号分隔,即1,2,3,4,它将不再工作,我确定我需要使用explode,但我无法使它工作。任何帮助都将不胜感激 <? $clothing=intval($_GET['clothing_var']); include 'classes.php'; mysql_select_db('database'); $query="SELECT

我需要一些帮助来分离用逗号分隔的id,然后在下拉列表中显示它们

下面是我正在使用的代码,如果衣服类型id中只有一个数字,它可以正常工作,如果我添加更多的数字,以逗号分隔,即1,2,3,4,它将不再工作,我确定我需要使用explode,但我无法使它工作。任何帮助都将不胜感激

<? $clothing=intval($_GET['clothing_var']);
include 'classes.php';
mysql_select_db('database');
$query="SELECT ID,Qty_Values FROM Quantity WHERE Clothing_Type_ID='$clothing'";
$result=mysql_query($query);
$test=explode(',', '$result');

?>
<select name="state" onchange="getCity(<?=$clothing?>,this.value)">
<option>Select State</option>
<? while($row=mysql_fetch_array($test)) { ?>
<option value=<?=$row['ID']?>><?=$row['Qty_Values']?></option>
<? } ?>
</select>

我认为您应该使用
IN()
运算符,而不仅仅是比较逗号分隔的字符串:

$query = "SELECT ID, Qty_Values FROM Quantity WHERE Clothing_Type_ID IN($clothing)";

将SQL更新到此

$query="SELECT ID,Qty_Values FROM Quantity WHERE Clothing_Type_ID in ($clothing)";
摆脱爆炸。这将返回一个结果集,该结果集包含$clothing列表中列出的衣物类型Id

我的一部分认为你是在倒退。我假设DB中的每个项目只有一个衣服类型ID,并且ID列表在$WINDONGS字符串中

如果不是这样,请给我一个示例,看看您的DB表。

试试这个

$clothing=“1,2,3,4”


$query=“从数量中选择ID,数量值,其中服装类型为($COUNTAIN)”

您需要将查询更改为使用,并且-您也不希望这样做,因为您不愿意接受$clothing变量中包含的SQL注入攻击?嗨,matt,这将是第一个选择框的结果,请参阅第二次更新,因为我已经发布了html和js,希望这能让您更好地理解Hi,粘贴你的代码,虽然它可以工作,但它只会显示第一个选择,如果我单击第二个id,则不会显示任何内容。我刚刚进行了更新,以便让你更好地了解我正在尝试执行的操作。您好,感谢您的回复,id列有1,2,3,4,5,但此脚本仅显示1。。。之后的任何事情,都不会出现意外,它不起作用,放入$WINDONGS=“1,2,3,4”;忽略第一个选择框中的结果
$query = "SELECT ID, Qty_Values FROM Quantity WHERE Clothing_Type_ID IN($clothing)";
$query="SELECT ID,Qty_Values FROM Quantity WHERE Clothing_Type_ID in ($clothing)";