Am incercat sa fac search in mysql cu match() against(), dar nu prea imi pare mie ok.
nu se boldeaza toate cuvintele gasite .... doar daca scriu doua cuvinte unul dupa altul boldeaza ...
si cateodata imi da eroare la linia 6, linia 6 fiind
Cod: Selectaţi tot
$programe = $dbh->query("SELECT COUNT(*) FROM `test` WHERE MATCH (denumire,descriere) AGAINST ('$search')")->fetch(PDO::FETCH_NUM);
universitateamaritimaconstanta.tk/1.jpg
iar codul este urmatorul :
Cod: Selectaţi tot
<?php include('conectare.php');
if($_POST)
{
$search = $_POST['searchword'];
$programe = $dbh->query("SELECT COUNT(*) FROM `test` WHERE MATCH (denumire,descriere) AGAINST ('$search')")->fetch(PDO::FETCH_NUM);
$rezprograme = $programe[0];
// asociere rezultate //
$rowprograme = $dbh->query("SELECT * FROM `test` WHERE MATCH (denumire,descriere) AGAINST ('$search') ORDER BY RAND() LIMIT 5");
if($rezprograme == 0)
{ ?>
<div class="display_box" align="left" style="color:red;">
<center>
Fara rezultate. Este posibil sa nu existe momentan pe site ceea ce cauti! <br>
<b>Sfat: Scrie corect ceea ce doresti sa cauti! </b>
</center>
</div><?php }
else {
// daca se gaseste ceva in programe //
if($rezprograme > 0) {
while ($searchs = $rowprograme->fetch(PDO::FETCH_ASSOC)){
$final = str_ireplace($_POST['searchword'], '<b><font color="red" size="3">'.ucwords($_POST['searchword']).'</font></b>', ''.ucwords($searchs['denumire']).'');
$finals = str_ireplace($_POST['searchword'], '<b><font color="red" size="3">'.ucwords($_POST['searchword']).'</font></b>', ''.ucwords($searchs['descriere']).''); ?>
<a href="/programe.php#program<?php echo $search['id']; ?>" style="text-decoration:none;" target="_blank">
<div class="display_box" align="left;color:red;">
<?php echo $final; ?>
</div>
</a>
<a href="/programe.php#program<?php echo $search['id']; ?>" style="text-decoration:none;" target="_blank">
<div class="display_box" align="left;color:red;">
<?php echo $finals; ?>
</div>
</a>
<?php }
}
// end rezultate programe //
}
}
?>