Php 在一列中用a分隔单独的ID号,
我需要一些帮助来分离用逗号分隔的id,然后在下拉列表中显示它们 下面是我正在使用的代码,如果衣服类型id中只有一个数字,它可以正常工作,如果我添加更多的数字,以逗号分隔,即1,2,3,4,它将不再工作,我确定我需要使用explode,但我无法使它工作。任何帮助都将不胜感激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
<? $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)";