以下のように動作するコードを作成しようとしていますが、以下のコードが複数回フェッチされているため、データを一度だけフェッチする必要があり、サーバーが遅くなる恐れがあります。下のものと同じことをするより良い方法があります。基本的に以下のコードはデータベースからのリストを独自のdivカテゴリに入れます。はこの方法にとってより良い方法ですか?
<div class="popular-video">
<h2>Popular</h2>
<ul>
<?php
global $connection;
$sexy = "sexy";
$query = "SELECT `videoname`,`username`,`videourl`,`uploaddate`,`duration`,`views`,`tags` FROM `videolist` WHERE `tags` = ? ";
$stmt = $connection->prepare($query);
$stmt->bind_param("s",$sexy);
$stmt->execute();
$stmt->store_result();
if($stmt->num_rows > 0){
$stmt->bind_result($videoname,$username,$videourl,$uploaddate,$duration,$views,$tags);
while ($stmt->fetch()) {
if($username == 'ichigo'){
echo "
<a href='video.php?watch=$videourl'>
<li>
<div class='leftside'>
<img src='' width='100%' height='100%' style='background-color: blue;' >
</div>
<div class='rightside'>
<h4>$videoname</h4>
<p>$username</p>
<p>$views views</p>
<p>$duration</p>
</div>
</li>
</a>
";
}
}
}
?>
</ul>
</div>
<div class="subcription-video">
<h2>Subcription</h2>
<ul>
<?php
global $connection;
$sexy = "sexy";
$query = "SELECT `videoname`,`username`,`videourl`,`uploaddate`,`duration`,`views` FROM `videolist` WHERE `tags` = ? ";
$stmt = $connection->prepare($query);
$stmt->bind_param("s",$sexy);
$stmt->execute();
$stmt->store_result();
if($stmt->num_rows > 0){
$stmt->bind_result($videoname,$username,$videourl,$uploaddate,$duration,$views);
while ($stmt->fetch()) {
echo "
<a href='video.php?watch=$videourl'>
<li>
<div class='leftside'>
<img src='' width='100%' height='100%' style='background-color: blue;' >
</div>
<div class='rightside'>
<h4>$videoname</h4>
<p>$username</p>
<p>$views views</p>
<p>$duration</p>
</div>
</li>
</a>
";
}
}
?>
</ul>
</div>
<div class="related-video-by-subcription">
<h2>Related-Video</h2>
<ul>
<?php
global $connection;
$sexy = "sexy";
$query = "SELECT `videoname`,`username`,`videourl`,`uploaddate`,`duration`,`views` FROM `videolist` WHERE `tags` = ? ";
$stmt = $connection->prepare($query);
$stmt->bind_param("s",$sexy);
$stmt->execute();
$stmt->store_result();
if($stmt->num_rows > 0){
$stmt->bind_result($videoname,$username,$videourl,$uploaddate,$duration,$views);
while ($stmt->fetch()) {
echo "
<a href='video.php?watch=$videourl'>
<li>
<div class='leftside'>
<img src='' width='100%' height='100%' style='background-color: blue;' >
</div>
<div class='rightside'>
<h4>$videoname</h4>
<p>$username</p>
<p>$views views</p>
<p>$duration</p>
</div>
</li>
</a>
";
}
}
?>
</ul>
</div>
私はいくつかのクエリがあなたのサーバの速度にそれほど影響を与えないと思います。 –
これに似た9つのクエリがあり、このようにするとサーバーが遅くなります。 – freelixa