-1

Ok。これがシナリオです。データベース テーブルの (ステータス メッセージの) データを取得し、すべての結果を配列に格納しています。すべての結果には複数の行が含まれます。を含む

statusID, posterID, statusMessage, dateTime, sumRating, sumVotes

そのため、テーブルに複数のステータス メッセージが表示された場合、それらすべてをサイトに出力したいと考えています。論理的に私はこれを行うことを知っています

for($i = 0; $i < sizeof($results); $i++)
        {
            echo $results[i];
        }

そして今、私はすべてのタイプのすべてのデータを取得します。しかし今、データを少しいじってフォーマットしたいときや、たとえば、データを次々に印刷したくないときなどです。posterID が必要です。それから、ちょっとした PHP コードか CSS か何かが必要です。

だから、私が今していることは、現在このようにデータを保存することです

foreach($statusMessageResult as $row){
            $results[] = $row['statusID'] . "," . $db->getUsername($db->getUserNameById($row['posterID'])) . "," . $row['statusMessage'] . "," . $row['dateTime'] . "," . $row['sumRating'] . "," . $row['sumVotes'];   
        }

そのため、for ループでは、結果配列の現在のエントリをカンマごとに分割しました。

$statusMessage = $results[$i];
            $statusMessageSplit = explode(",", $statusMessage);
            echo "This status is written by: " . $statusMessageSplit[1] . " and has the ID: " . $statusMessageSplit[0] . "<br>";

私の問題は、ユーザーが

,

彼のステータスメッセージでは、再び分割されます。では、これをよりよく解決するにはどうすればよいでしょうか。

4

1 に答える 1

2

2 次元/ギザギザの配列を使用して、次のようにすることができます。

foreach($statusMessageResult as $row)
    $results[$row['statusID']] = array($db->getUsername($db->getUserNameById($row['posterID'])), $row['statusMessage'], $row['dateTime'], $row['sumRating'], $row['sumVotes']);

//usage:
foreach($results as $index => $rowArr)
    echo "StatusID: $index:\r\n" . var_export($rowArr);
于 2013-03-21T18:48:24.740 に答える