M.b.v. onderstaande query kan ik perfect booleaanse zoekwaarden maken in twee verschillende velden.
Het werkt precies zoals ik het wil hebben.
Het probleem is echter wanneer ik in één veld geen waarde invoer dan wordt er niets gevonden. Lijkt mij ook logisch als je de AND operator gebruikt. Gebruik ik inplaats van de AND operator de OR operator dan krijg ik een zoekresultaat waarbij de twee waarden niet alleen beide in een row staan maar ook waar één van de waarden in een row staan, dit wil ik dus niet.
Wat ik zoek is wanneer een zoekveld geen waarde krijgt dat de lege waarde wordt vervangen door een teken/operator of e.d. waardoor het mogelijk is om ook met 1 veld te kunnen zoeken.
Ik zit zelf te denken aan 'if $keywords heeft geen waarde dan $keywords=???' Bij de vraagtekens weet ik niet wat daar in te vullen.
Ik hoop dat ik een beetje duidelijk ben. Zo niet vraag rustig door.
Iemand misschien een idee hoe dit op te lossen. B.v.d.
<?php
$keywords = ???? ;
mysql_select_db($database_museum, $museum);
$query_Recordset1 = sprintf("SELECT rapporten.rapnaam, rapporten.omschrijving, rapporten.vliegtuig_type, rapporten.auteur, rapporten.datum, rapporten.bestellen FROM `rapporten` WHERE MATCH (`omschrijving`)\n"
. "AGAINST ('$keywords' IN BOOLEAN MODE) AND MATCH (`vliegtuig_type`)\n"
. "AGAINST ('$keywordsvl' IN BOOLEAN MODE) ", GetSQLValueString($colname_Recordset1, "text"));
$Recordset1 = mysql_query($query_Recordset1, $museum) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
?>
1.790 views