I'm doing a project with bands profiles. I'm trying to use the last.fm API.
For test database I downloaded the PHP API: link
The classes I left in Root / src / classes.php, and I started using Artist :: search ($ artistName, $ limit);
Only I want to display only the registered bands in the bank. Script actually works, but the site response takes 7 seconds to return . I'm not an "expert", so if anyone has an idea how to optimize this script.
<div class="grid-cont">
<div class="banda_search">
<!-- hot news -->
<form action="#">
<i class="fa fa-search"></i>
<input type="text" placeholder="Pesquise pelo nome da banda que você procura!">
</form>
</div>
<?php
$getPage = (!empty($Link->getLocal()[1]) ? $Link->getLocal()[1] : 0);
$Pager = new Pager(HOME . '/bandas/');
$Pager->ExePager($getPage, 12);
$readbanda = new Read;
$readbanda->ExeRead("ws_bands", "WHERE band_parent IS NOT NULL ORDER BY band_date DESC LIMIT :limit OFFSET :offset", "limit={$Pager->getLimit()}&offset={$Pager->getOffset()}");
if (!$readbanda->getResult()):
$Pager->ReturnPage();
WSErro("Desculpe, não existem bandas cadastradas no momento, favor volte mais tarde!", WS_INFOR);
else:
echo'<div class="banda_news">';
echo'<div class="grid-row">';
foreach ($readbanda->getResult() as $banda):
extract($banda);
$results = Artist::search($band_title,"1");
foreach($results as $artist):
echo' <div class="grid-col grid-col-3">
<a href="'.HOME.'/banda/'.$band_name.'" class="small" alt="'.$band_title.'" title="'.$band_title.'">
<span class="pic" alt="'.$band_title.'" title="'.$band_title.'" style="background-image: url(' . $artist->getImage(4) . ')"></span>
<h3>'.$band_title.'</h3>
</a>
</div>';
endforeach;
endforeach;
echo '</div>
</div>';
endif;
$Pager->ExePaginator("ws_bands", "ORDER BY band_date");
echo $Pager->getPaginator();?>
</div>
If someone has a better idea of getting artists' images through the API and faster, thank you.