PlainSQLiteBlog/pages/search.php

55 lines
1.5 KiB
PHP

<?php
global $c;
$strPath = "/";
$strPath .= implode("/", Request::getPathParts());
$varPosts = [];
$strQuery = Request::getParam("q");
if ($strQuery !== null && strlen($strQuery) > 0)
{
$varPosts = $c->query(
"SELECT *
from posts as p
where
content like concat('%', ?, '%')
order by
created desc",
$strQuery);
$i = 0;
for ($i = 0; $i < count($varPosts); $i++)
{
$varOld = $varPosts[$i];
$varOld["content"] = preg_replace("/({$strQuery})/i", "<mark>$1</mark>", $varOld["content"]);
$varPosts[$i] = $varOld;
}
}
?>
<form method="get">
<div class="navbar navbar-expand bg-body-tertiary d-flex px-3 sticky-top">
<div class="container justify-content-between">
<div class="navbar-nav d-inline-flex align-items-center">
<span class="navbar-brand">Search</span>
<input class="form-control me-2" type="text" name="q" value="<?= $strQuery; ?>" />
<button type="submit" class="btn btn-outline-info text-nowrap"><i class="fa fa-fw fa-search"></i> Go</a>
</div>
<div class="navbar-nav d-inline-flex"></div>
</div>
</div>
</form>
<div class="container">
<div class="row">
<div class="col-lg-4">
<?php BootstrapRender::message(); ?>
</div>
</div>
</div>
<?php PostRender::rows($varPosts); ?>