2012-01-13 19 views
1

私はphp通知システムを構築しています(facebookのようなものです)。PHPが同様の結果になる

すべてのイベントを必要に応じてリストしてください。しかし、私はそれが同じポストで3つ以上のイベントを取得した場合、これらのイベントを1つの通知に結合することを理解するようにしています。

今では次のようになります。

user 1 and 2 others wrote on article-x 

は私がこれを行うために必要なものをよく読んしようとしているが、ない幸運されて:

User 1 wrote on article-x 
User 2 wrote on article-x 
user 3 wrote on article-x 
user 1 wrote on article-y 

ではなく、私はそれがこのように印刷することにしたいです。任意のポインタが大いに感謝します。それはこのように照会されています :完全なコードで

$sesname = $_SESSION['user_name']; 
$sesid = $_SESSION['full_name']; 
$dbh = new PDO("mysql:host=$hostname;dbname=$db", $username, $password); 
$stmt = $dbh->prepare("select * from comments WHERE full_name = '$sesid' and checked ='1' "); 
$stmt->bindParam(':full_name', $safe_name, PDO::PARAM_INT, 5); 

$stmt->execute(); 
$result = $stmt -> fetchAll(); 
foreach($result as $row) { 
$name = $row['name']; 
$pid = $row['pid']; 
$commentid = $row['id']; 
$fullink = $row['fullink']; 
$datetime = $row['dt']; 

if ($name == $sesname){ 
} else { 
echo "<div id='commentnote'><a href='http://{$fullink}'>{$name}</a>kommenterte ditt <a href='{$fullink}'>blogginnlegg</a><br><div class='updentry' style='color: red ! important; cursor: pointer; margin-top: -35px; position: absolute; right: 8px;'>x</div></div>"; 
} 

} 

を編集し

はなく、運のない、下にあなたの答えを使用してみました。しかし答えるためのおかげで、私は本当に感謝:)

答えて

0

たぶん、あなたはこのような2次元配列を作成できます。どのような多次元配列に記事を回すことについて

Array 
(
    [article-x] => Array 
        (
         [0] => User1 
         [1] => User2 
        ) 
    [article-y] => Array 
        (
         [0] => User1 
        ) 
) 
1

を? (ただ、たとえば、構造は、私はあなたが持っている必要がどのようなデータを知らないので、最適ではない。)

if(count($post['comments']) >= 3) { 
    echo $post['user'][0] ."and". (count($post['comments'])-1). " others wrote on .."; 
} else { 
    //Just one 
} 
0

あなたがPHPでこれを実行したい場合は、このような何か:

$events = array(); 
foreach($result as $row) { 
    if(isset($events[$row['article'])){ 
     $events[$row['article']]['counter']++; 
    }else{ 
     $row['counter'] = 0; 
     $events[$row['article']] = $row; 
    } 
} 

foreach($events as $event){ 
    echo "<div id='commentnote'>{$event['user']}".($event['counter']?' and '.$event['counter'].' others':'')." wrote on {$event['article']}</div>"; 
} 
関連する問題