Php 获取通知系统的数组中的名称
你好,我正在尝试从我的通知系统的数据库中获取数组中的名称。这样我就有了3个条件。在第二和第三节中,我需要数组中的名称,有人能帮我完成代码吗。另外,在$result查询中,我无法避免相同用户的结果,即我想john对我的状态评论了两次,然后只应选择一个结果,我使用了distinct,但没有成功 所以基本上有两个问题Php 获取通知系统的数组中的名称,php,mysql,arrays,notifications,Php,Mysql,Arrays,Notifications,你好,我正在尝试从我的通知系统的数据库中获取数组中的名称。这样我就有了3个条件。在第二和第三节中,我需要数组中的名称,有人能帮我完成代码吗。另外,在$result查询中,我无法避免相同用户的结果,即我想john对我的状态评论了两次,然后只应选择一个结果,我使用了distinct,但没有成功 所以基本上有两个问题 使用数组从数据库中获取多个名称 避免使用相同的用户名会导致为数组选择用户名 有人能帮忙吗,这是一个大模块,卡得很厉害。谢谢 <?php include_once("includes
<?php
include_once("includes/connection.php");
$result = mysql_query("SELECT distinct * from notification inner join users_profile on notification.owner_user_id=users_profile.uid where notification.user_id=3 and notification.user_id!=notification.owner_user_id order by notification.time_stamp Desc");
while ($row=mysql_fetch_array($result)) {
$nfname[]=$row["fname"];
$npicid[]=$row["profile_pic"];
$sql2 =mysql_query( "SELECT COUNT(type_id) FROM notification where type_id='wall_comments' and user_id='3' and is_seen='0'");
while($row2=mysql_fetch_array($sql2)) {
$req_pending=$row2['COUNT(type_id)'];
$req_pending1=$row2['COUNT(type_id)']-3;
if ($req_pending==1) {
$result="$fname shared view on your Status Update";
}
elseif ($req_pending==3) {
$result="$nfname shared views on your Status Update";
}
else {
$result="$nfname and $req_pending1 shared their views on your Status Update";
}
}
}
?>
我将按顺序回答您的问题:
问题1:“是否有任何方法可以让我从两个同名记录中只取一个名”
对。如果数据表中有多条记录具有相同的名称,则可以使用distinct
sql命令仅选择其中的一条记录。但是,当选择*
时,您的记录中的其他字段可能是唯一的,因此也会被选择。以下是一个例子:
我的表格中的数据:
用户名|已创建#您好,谢谢您帮助大家。我解决了我的问题@sadmircowave谢谢你的建议否则就死(“查询失败:”.mysql_error())。我所做的就是改变了
$result到$sql1,while($row=mysql\u fetch\u array($result))到($row=mysql\u fetch\u array($sql1))。我认为使用相同的名称可能会导致问题,而数组如果表中有datetime或timestamp字段,则distinct将获得所有多个用户两次,因为您选择的是*
,并且每个记录的datetime不同。另外,您还没有真正解释在获取数组中的名称时面临的问题。看起来您已经通过$nfname[]=$row[“fname”]实现了这一点代码>感谢您的回复,第一种方式是我只能从两条同名记录中得到一个名称,第二种方式是我收到警告:mysql\u fetch\u array()希望参数1是资源,字符串在C:\wamp\www\mihubs\test.php第5行中给出,使用arrayhello时出现错误,谢谢大家的帮助。我解决了我的问题@sadmircowave谢谢你的建议否则就死(“查询失败:”.mysql_error())。我所做的是将$result改为$sql1,而($row=mysql\u fetch\u array($result))改为($row=mysql\u fetch\u array($sql1))。我认为使用相同的名称可能导致了这个问题,而数组部分现在也在运行。
"SELECT DISTINCT * FROM MYTABLE"
"SELECT DISTINCT Username FROM MYTABLE"
$myresults = mysql_query("SELECT DISTINCT Username FROM MYTABLE")
or die("query failed:" . mysql_error() );