gpt4 book ai didi

php - 获取通知系统数组中的名称

转载 作者:行者123 更新时间:2023-11-29 14:36:53 24 4
gpt4 key购买 nike

你好,我正在尝试从我的通知系统的数据库中获取数组中的名称。这样我就满足了3个条件。在第二和第三我需要数组中的名称,任何人都可以帮我解决代码。同样在 $result 查询中,我无法避免同一用户的结果,即我想约翰对我的状态发表了两次评论,那么只应选择一个结果,我对此使用了不同的结果,但没有成功。

所以基本上有两个问题

  1. 使用数组从数据库中获取多个名称
  2. 避免使用相同的用户名会导致为数组选择用户名。

任何人都可以帮忙吗,它的一个大模块卡得很厉害。谢谢

<?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 命令仅选择其中 1 个记录。但是,选择 * 时,您将面临记录中其他字段唯一的风险,因此它们也会被选择。这是一个例子:

我的表中的数据:

用户名 |创建 #<--字段名称

约翰·多伊 | 2012-01-12 10:03:42

约翰·多伊 | 2012-04-12 14:24:55

方法一

"SELECT DISTINCT * FROM MYTABLE" 

将导致两条记录都被检索,因为每条记录的创建日期都是唯一的。

方法2 #<--正确方法

"SELECT DISTINCT Username FROM MYTABLE" 

将导致仅返回 1 个“JohnDoe”实例。

问题 2:使用数组时,我收到警告:mysql_fetch_array() 期望参数 1 为资源,在 C:\wamp\www\mihubs\test.php 第 5 行中给出的字符串

这很可能是由于您的 mysql_query() 导致失败造成的。在查询后添加 or die("query failed:".mysql_error() ) 如下所示:

 $myresults = mysql_query("SELECT DISTINCT Username FROM MYTABLE") 
or die("query failed:" . mysql_error() );

这将确保您的代码在遇到错误时不会继续。相反,它会将错误显示在屏幕上,您可以看到问题出在哪里。

或者,如果您不希望错误打印到屏幕上并停止站点功能,您可以删除 或 die() 并包装您的后续 while 语句 (或者在选择之后使用 if( $myresults ){ 中的结果的任何内容。这也确保如果您 mysql_query() 遇到该 block ,则不会执行该 block 一个错误。

关于php - 获取通知系统数组中的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8837380/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com