私は私のウェブサイトのための検索エンジンを作成していますし、私が見つけた結果の数を追加したい、私はそれを行う機能を探しましたが、私は見つけたものはすべて、PDOではありませんでした。だから私は2回クエリを実行することにしましたが、可能かどうかはわかりません。 PDOの結果を数える良い方法はありますか?それ以外の場合、同じクエリを2回実行するのは安全ですか?ありがとうございました!はどのように検索クエリーで見つかったレコード数を取得しますか?
あなたはすべてのレコードがクエリを形成し、あなたが返されたレコードの数を持っているcount($result)
を行うことができます取得するには、この
$result = $sth->fetchAll();
ようなものを使用すると仮定すると、
<?php
if(isset($_GET['tab']))
{
if($_GET['tab'] == 'all')
{
$query = $db->query('SELECT * FROM search WHERE title LIKE \'%'.$_GET['searchquery'].'%\' OR details LIKE \'%'.$_GET['searchquery'].'%\' OR link LIKE \'%'.$_GET['searchquery'].'%\' LIMIT 20');
}
else if($_GET['tab'] == 'products')
{
$query = $db->query('SELECT * FROM search WHERE (type = \'products\') AND (title LIKE \'%'.$_GET['searchquery'].'%\' OR details LIKE \'%'.$_GET['searchquery'].'%\' OR link LIKE \'%'.$_GET['searchquery'].'%\') LIMIT 20');
}
else if($_GET['tab'] == 'blogpost')
{
$query = $db->query('SELECT * FROM search WHERE (type = \'blogpost\') AND (title LIKE \'%'.$_GET['searchquery'].'%\' OR details LIKE \'%'.$_GET['searchquery'].'%\' OR link LIKE \'%'.$_GET['searchquery'].'%\') LIMIT 20');
}
else if($_GET['tab'] == 'forumthread')
{
$query = $db->query('SELECT * FROM search WHERE (type = \'forumthread\') AND (title LIKE \'%'.$_GET['searchquery'].'%\' OR details LIKE \'%'.$_GET['searchquery'].'%\' OR link LIKE \'%'.$_GET['searchquery'].'%\') LIMIT 20');
}
?>
<div id="resultsconainter">
<div id="tabsconatiner">
</div>
<?php
else
{
echo '<p>Sorry, this section is not available!</p>';
}
if(isset($query))
{
for($i=0; $i<100; $i++)
{
if($result = $query->fetch())
{
$_GET['searchquery'] = rawurlencode($_GET['searchquery']);
$result = preg_replace("#\\b(" . $_GET['searchquery'] . ")\\b#i", "<b>$1</b>", $result);
echo '<div class="result">
<a class="title" href="/qsoft/'.$result['link'].'">'.$result['title'].'</a>
<span class="link">
<span class="beforelink" style="font-size:1.1em;font-size:1.3vw;position:relative;top:1px;padding-right:1px;">‣</span>
localhost/QSoft/'.$result['link'].'
</span>
<span class="details">'.$result['details'].'</span>
</div>';
}
else
{
if($i==0)
{
echo '<p>Sorry, no resluts found here for : <b>'.$_GET['searchquery'].'</b></p>';
}
}
}
}
}
else
{
echo'<p>Missing tab informations, please retry</p>';
}
}
?>
私はコードを追加するのを忘れて申し訳ありませんああ、ここでは – QApps