2012-04-26 11 views
0

私はデータベースから配列を作る方法に熱心ではありません。それらを学ぶことを避けようとしましたが、明らかにそれは今必要です。配列データベースから

基本的に私のデータベースは、何百万もの行で構成されています。プレイヤー名とスナップ(Unixタイムスタンプ)は通常 "複製"されますが、それらの行(都市、x、yなど)のデータは異なります。

理想的には、SELECT声明を経由して、アレイを作る方法を把握しようと、何かのように:

出力、私はのようになりたいと思います: 名=スナップ=>(どのようにそれらの日には多くの都市) (あなたがそれを呼んだ場合)適切な配列 "コマンド"は、名前をONCEにして複数のスナップをスナップに基づいてカウントします。

私のSELECTが行く:

// SELECT count(*), player, snap 
// FROM DB WHERE GROUP BY snap, player ORDER BY snap, player DESC 
while ($row = fetch_assoc($Result) { 
    // How you go about putting array here? 
} 
+0

ここではっきりわからないことを申し訳ありません。私は、SELECTステートメントとどのように開く/閉じるなどについて知っています 私はどのように配列を作成する(これまでに行わなかった)です。 ありがとう! – sgkdnay

答えて

1

は、私は基本的に、もう少しアップ読み取るために必要についてのコメントに同意していますが、多次元配列を作成するには、以下のような何かを行うことができます:

<?php 

$results = array(); 

$Result = 'SELECT count(*),player,snap FROM DB WHERE GROUP BY snap,player ORDER BY snap,player DESC'; 
while ($row = fetch_assoc($Result){ 
    if (!isset($results[$row['player']][$row['snap']]) { 
    $results[$row['player']][$row['snap']] = 0; 
    } 
    $results[$row['player']][$row['snap']] += $row['count(*)']; 
} 

?> 
+0

今これは私が探していたもので、今行われたことを理解しようとしています。正しい方向へ私を導いてくれてありがとう! :) – sgkdnay

2

それはこのように行われます:

$Result = mysql_query("SELECT count(*) as count, player, 
    snap FROM DB GROUP BY snap, player ORDER BY snap, player DESC"); 
while ($row = mysql_fetch_array($Result) { 
    print_r($row); 
    echo "This is the count value -> " . $row['count']; 
} 
+0

代わりにPDOを使用してください。 – Dyin

0

あなたが試すことができ

$sql = "SELECT count(*) as count, player, 
     snap FROM DB GROUP BY snap, player ORDER BY snap, player DESC"; 

/* Connect To Database */ 
$mysqli = new mysqli ("localhost", "username", "password", "database"); 

/* check connection */ 
if ($mysqli->connect_errno) { 
    printf ("Connect failed: %s\n", $mysqli->connect_error); 
    exit(); 
} 

$result = $mysqli->query ($sql); 
$array = array(); 
if ($result) { 
    while ($row = $mysqli->fetch_assoc ($result)) { 
     $array[$row['player']] += $row['count']; 
    } 

    print_r($array); // Return array 
} 
関連する問題