php里查看一个array里是否含有某个值
假设我有一组数据,要用这组数据做成一个selectlist,但是这组数据里有些重复的,那么在做selectlist的时候就需要把重复的去掉。我用的是in_array()的...
假设我有一组数据,要用这组数据做成一个select list,但是这组数据里有些重复的,那么在做select list的时候就需要把重复的去掉。我用的是in_array()的方法来查看是否存在同样的值,但是结果却跟代码表达的不一样,求高手帮忙看看哪里出错了~感激不尽~下面是我写的代码:echo "Colour: <select name=\"colour\" id=\"colour\">";$sql = "SELECT * FROM shoe";$queryresult1=mysql_query($sql) or die(mysql_error());while($shoeresult1 = mysql_fetch_assoc($queryresult1)){ $colour = $shoeresult1['colour']; $colourarray = array(); if (in_array($colour,$colourarray, false)) { echo "<option value = \"$colour\">$colour</option>\n"; $colourarray[] = $colour; }}mysql_free_result($queryresult1);echo "</select><br/>";这个代码的意思是把数据库里的一组数据(颜色)做成一个select list, 但是这组数据里有些是重复的,我希望select list里的值没有重复的。不知道我这个代码哪里出错了,求高手帮忙看看~
展开
3个回答
展开全部
$colourarray
=
array();
这个定义了一个新的数组,里面是空的啊,你的 $colour
在一个空数组里查找当然
找不到;而且查找是否有重复值,我个人意见是从sql语句着手,而不是用程序控制
=
array();
这个定义了一个新的数组,里面是空的啊,你的 $colour
在一个空数组里查找当然
找不到;而且查找是否有重复值,我个人意见是从sql语句着手,而不是用程序控制
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$sql = "SELECT * FROM shoe";
$queryresult1=mysql_query($sql) or die(mysql_error());
$colourarray = array();
while($shoeresult1 = mysql_fetch_assoc($queryresult1)){
$colour = $shoeresult1['colour'];
if (!in_array($colour,$colourarray)) {
echo "<option value = \"$colour\">$colour</option>";
$colourarray[] = $colour;
}
}
mysql_free_result($queryresult1);
$queryresult1=mysql_query($sql) or die(mysql_error());
$colourarray = array();
while($shoeresult1 = mysql_fetch_assoc($queryresult1)){
$colour = $shoeresult1['colour'];
if (!in_array($colour,$colourarray)) {
echo "<option value = \"$colour\">$colour</option>";
$colourarray[] = $colour;
}
}
mysql_free_result($queryresult1);
参考资料: www.oscodes.net
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以在从数据库里查询的时候 ,就把重复的颜色值去掉啊 (distinct),
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询