0

我在页面上有一个下拉菜单,在用户将内容添加到数据库后,我不希望从 dorpdown 菜单中添加的特定值再次显示在列表中。我不想从下拉表中删除该特定值。你的帮助会做的。

下面是我的代码:

    <?php
$query = "SELECT * FROM vreg_no order by vreg desc";
$rs = mysql_query($query);
while($row = mysql_fetch_assoc($rs))
{{
$_SESSION['svregx'] = $row['vreg'];
}}
?>
<select name="svreg" class="bodytxt" id="svreg">
<option>Select Vehicle #</option>
<?php
$query = "SELECT * FROM vreg_no order by vreg desc";
$rs = mysql_query($query);
while($row = mysql_fetch_assoc($rs))
{{
$vreg = $row['vreg'];
if($_SESSION['svregx'] == $vreg){
//do nothing
}
elseif($_SESSION['svregx'] != $vreg){
echo"<option value='$vreg'>$vreg</option>";
}else{}
}}
?>
</select>
4

2 回答 2

1

您正在执行相同的查询两次。

第一个应该是这样的:

$query = "SELECT * FROM vreg_no WHERE user_id = YOUR_USER_ID";

或者可能是取决于您的数据库结构的连接。

您可以将所有值添加到数组中,并使用类似in_array的方法来检查某个用户是否存在此值。

您应该转储已弃用的mysql_*函数并切换到 PDO 或 mysqli 中带有绑定变量的准备好的语句。

于 2012-11-15T21:59:14.423 回答
0

如果问题不是产生重复的用户生成内容,那不只是发出 DISTINCT 查询的问题吗?

$query = "SELECT DISTINCT vreg FROM vreg_no order by vreg desc";
于 2012-11-15T22:05:37.463 回答