データベースにクエリを実行し、データを表示しています。ユーザーのプロフィール写真を表示するために使用するタイムスタンプと Facebook ID があります (Facebook グラフを使用)。ただし、これは FB グラフの質問というよりは PHP/Loop の質問です。これが私が取り組んでいるコードの一部です:
$sql = "SELECT * FROM fb_id ORDER BY timestamp DESC";
$result = $mysqli->query($sql);
echo "<h1>".$lastone_month." ".$year_lastone."</h1>";
while($row = mysqli_fetch_array($result)){
$fb_id = $row['fb_id'];
$timestamp = date_parse($row['timestamp']);
$month = $timestamp['month'];
$year = $timestamp['year'];
echo "<a href='http://www.facebook.com/".$fb_id."' target='_blank'><img src='http://graph.facebook.com/".$fb_id."/picture/' /></a>";
}
本質的に何が起こるかというと、私は最新の月をエコーしているということです (これは、この前の少しのコードにあります)。$lastone_month は数字です (サインアップした最新のユーザーの月の数字です)。1 月だとすると、h1 は 1/2013 を表示します。次に、while ループでデータベースをループし、ユーザーのプロフィール写真をタイムスタンプ順にエコーします。私がやりたいことは、$month が $last_month と等しくない行に到達するまで while ループを実行することです。
その時点で $month 値がまだ宣言されていないため、while ループで "&& $month==$lastone_month を使用できません。エコー行の周りで if ステートメントを試しましたが、1 つのエントリが無限に表示されました。 while ループの前に行を宣言し、そこで $month と $year も宣言してからループを実行しようとしましたが、それも機能しませんでした. 本当に簡単な解決策だと思いますが、それが何であるかわかりません. どんな助けでも大歓迎です. どうもありがとうございました!