重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你在插入之前要先对数据进行一次过滤也就是逻辑上得唯一判断后再作入库处理,否则提示已存在不插入即可。
创新互联-专业网站定制、快速模板网站建设、高性价比平潭网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式平潭网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖平潭地区。费用合理售后完善,十多年实体公司更值得信赖。
(1)利用php提供的函数,array_unique和array_diff_assoc来实现
.代码如下:
?php
function FetchRepeatMemberInArray($array) {
// 获取去掉重复数据的数组
$unique_arr = array_unique ( $array );
// 获取重复数据的数组
$repeat_arr = array_diff_assoc ( $array, $unique_arr );
return $repeat_arr;
}
// 测试用例
$array = array (
'apple',
'iphone',
'miui',
'apple',
'orange',
'orange'
);
$repeat_arr = FetchRepeatMemberInArray ( $array );
print_r ( $repeat_arr );
?
(2)自己写函数实现这个功能,利用两次for循环
.代码如下:
?php
function FetchRepeatMemberInArray($array) {
$len = count ( $array );
for($i = 0; $i $len; $i ++) {
for($j = $i + 1; $j $len; $j ++) {
if ($array [$i] == $array [$j]) {
$repeat_arr [] = $array [$i];
break;
}
}
}
return $repeat_arr;
}
// 测试用例
$array = array (
'apple',
'iphone',
'miui',
'apple',
'orange',
'orange'
);
$repeat_arr = FetchRepeatMemberInArray ( $array );
print_r ( $repeat_arr );
?
你好,这是我解决你这个问题的思路,希望能帮到你:比如你是根据a字段设置唯一,在每次插入之前就使用下一条需要插入的值去数据表里面查询,如果查询到了就跳出当前循环,下次循环继续(continue),希望能帮到你!
最近写了下英文搜索的小偷,为了让蜘蛛更好的享受链接的乐趣,因此使用了入库处理,将最近的搜索写入到mysql中,同时在首页调用这些查询数据,就可以达到网站地图的效果,但是弊端也出现了了,那就是重复记录的问题。
在网上找到一段实例,经过修改发现可行,现将代码公布如下:
$link=mysql_connect(‘localhost’,’root’,’1234’);
//得到MySQL数据库连接
$username=$_GET["name"];
//得到从客户端表单传过来的数据
$q="select
*
from
usertable
where
user_name='$username'";
mysql_query("SET
NAMES
gb2312");
//避免出现中文乱码
$rs
=
mysql_query($q,
$link);
//查询数据库
$num_rows
=
mysql_num_rows($rs);
//得到查询结果的总行数
if($num_rows==0)
//
烈火网
liehuo.net
欢迎复制,拒绝恶意采集
liehuo.net
{
$exec="insert
into
student
(user_name)
values
($username)";
mysql_query("SET
NAMES
gb2312");
mysql_query($exec,
$link);
//若没有此用户则将数据插入到数据库(注册用户)
echo
"用户注册成功!";
}
else
{
echo
"该用户名已存在,请重新选择用户名!";
}
?