16k 行のテーブルから 10 個の結果を取得しようとしています。
この表には、アーティストが表示されるたびに +1 を取得するビューと呼ばれる行があります。しかしトップアーティストだけに意外な結果が出ています。速度を上げるためにビュー行にインデックスを付けました。ループする必要があることはわかっていますが、10行すべてを取得する方法がわかりません
ループや一度に複数の行を取得することを扱っていないので、新しい mysqli でフォーマットするのに助けが必要です
// Get Top Viewed Artist
$TopViewedArtist = mysql_query("SELECT * FROM `artists` ORDER BY `artists`.`views` DESC LIMIT 10");
$TopViewedArtistInfo = mysql_fetch_assoc($TopViewedArtist);
$TopViewedArtist_TotalRows = mysql_num_rows($TopViewedArtist);
print_r($TopViewedArtistInfo); // the data returned from the query
これは、アーティスト名の結果を読み取り可能な形式で表示するためのソリューションです。
$TopViewedArtists = mysql_query('SELECT * FROM `artists` ORDER BY `artists`.`views` DESC LIMIT 10');
while (($TopArtist = mysql_fetch_assoc($TopViewedArtists)) !== FALSE) {
//print_r($TopArtist);
echo $TopArtist['artist']; echo "<br>";
}
このコードは、他の人のために変更できます。ただし、mysqli に更新する必要があります