只获得一个通知结果

时间:2014-07-17 21:13:30

标签: php mysql sql arrays

所以我有一个通知系统,这里是表格布局

+-----------+------------------+------+-----+---------+----------------+
| Field     | Type             | Null | Key | Default | Extra          |
+-----------+------------------+------+-----+---------+----------------+
| id        | int(11) unsigned | NO   | PRI | NULL    | auto_increment |
| from_user | varchar(255)     | YES  |     | NULL    |                |
| to_user   | varchar(255)     | YES  |     | NULL    |                |
| type      | varchar(255)     | YES  |     | NULL    |                |
| date      | varchar(255)     | YES  |     | NULL    |                |
+-----------+------------------+------+-----+---------+----------------+

这就是一行的样子

+----+-----------+---------+--------+------+
| id | from_user | to_user | type   | date |
+----+-----------+---------+--------+------+
| 32 | allex     | scott   | hgjghj | NULL |
+----+-----------+---------+--------+------+

现在我的方法是获得结果

    //Check if any records of notifications exists & loop em' back
$stmt = $con->prepare("SELECT * FROM notifications WHERE to_user = :user");
$stmt->bindValue(':user', $username, PDO::PARAM_STR);
$stmt->execute();

$notifications = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
    $notifications[] =  array(
        'id' => $row['id'],
        'from_user' => $row['from_user'],
        'to_user' => $row['to_user'],
        'type' => $row['type'],
        'date' => $row['date']
    );
}

现在最后我的问题,说我有另一行,类型不同,一旦我循环查询,我得到的整体返回相同的type,所以不是

Alelx hgjghj scott,

并说我有另一个结果说

Alelx ghfjhgj scott

我无法看到它,因为第一个结果中的Type最终成为“显性”。任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

根据您的代码,您的$ notifications数组将如下所示:

Array
 0 => (... type=>'hgjghj' ...)
 1 => (... type=>'ghfjhgj' ...)

数据库的每一行都会获得此数组的另一个元素。 因此,您需要遍历该数组并查看您获得的值。