0

Name と対応する Score を最新の時刻で取得したい。だから私は試しました:

    $queryObj = mysql_query("SELECT `Name`,`Score` from `Table`.`Score` where `Date` = (    SELECT max(`Date`)    from `Table`.`Score`) and `Name`<>'' "); 

次に、次の方法で値を取得します。

  while( $obj = mysql_fetch_object( $queryObj ) )  {
  $data = array();
  $data['Name'] = $obj->Name;
  $data['Score'] = $obj->Score;
  $searches[] = $data;
  }

しかし、印刷すると:

    print_r(array_values($searches));

配列の最初の値が欠落しているため、正しい方法ではありません。私も試しました:

    $row = mysql_fetch_assoc($queryObj);
    for ($i = 0; $i <3; $i++)
    print( $row['Name'][$i]." Score: ".$row['Score'][$i]."<br />\n");

しかし、正しい結果も得られません。そのクエリから値を取得するにはどうすればよいですか? (クエリは正しいです、私はそれをテストしました)。提案はありますか?

編集:ここにサンプルデータを追加します:

Name   Score      Date
abc     3   2013-08-29 10:11:47
abc     2   2013-08-29 09:39:23
abc     1   2013-08-28 10:22:28
jane    2   2013-08-29 09:39:23
        2013-08-29 10:08:36
jane    1   2013-08-29 10:11:47
tarzan  1   2013-08-29 10:11:47

注: はい、空白の値がいくつかあります。

私の期待される結果は次のようになります。

abc score 3
jane score 1
tarzan score 1
4

1 に答える 1