Chciałem stworzyć jakąś wyszukiwarkę bazodanową z prawdziwego zdarzenia wykorzystującą operatory logiczne.
Narazie probuje napisać coś prostego, później wyszukiwarke rozbudować. Do tej pory mam coś takiego, a jako że moje umiejętności programowania są jak narazie baaaaaardzo ograniczone to być może ktoś powie czy to co napisałem ma sens...

Więc w formularzu chce przekazywa jakąś zmienną do zapytania (w później zastąpie ją zmienną pobieraną z listy wybieranej) i porównanie ją ze zmiennymi odpowiadającymi za operatory logiczne.
formularz
<?php
include ("define.php");
{
include ("dbmysql.php");
$aDBC = new DBMySQL($MySQLServer,$MySQLDB,$MySQLUser,$MySQLPass);
}
{
echo "Brak podlaczenia do bazy danych!"; }
//$autor = $aDBC->FieldByName ("autor");
$autor = $_REQUEST['autor'];
?>
<form action="set_szukaj.php" method='POST'>
<b>Znajdź wyniki</b><br>
Jakakolwiek z tej frazy<input type="text" length=40 name="any" value='
<?php print($autor); ?>'> <br>
Wszystkie frazy z<input type="text" length=40 name="all" value='
<?php print($autor); ?>'> <br>
Żadna z tych fraz<input type="text" length=40 name="none" value='
<?php print($autor); ?>'> <br>
<input type="submit" value="Szukaj">
</form>
plik set_szukaj.php
<?php
include ("define.php");
{
include ("dbmysql.php");
$aDBC = new DBMySQL($MySQLServer,$MySQLDB,$MySQLUser,$MySQLPass);
}
{
echo "Brak podlaczenia do bazy danych!"; }
//$autor = $aDBC->FieldByName ("autor");
$autor = $_REQUEST['autor'];
if((!$all) || ($all == "")) { $all = ""; } else { $all = "+(".$all.")"; }
if((!$any) || ($any == "")) { $any = ""; }
if((!$none) || ($none == "")) { $none = ""; } else { $none = "-(".$none.")"; }
$SQL = "SELECT autor MATCH('$autor') AGAINST ('$all $none $any' IN BOOLEAN MODE) AS alias FROM przy_dokumenty WHERE MATCH('$autor') AGAINST ('$all $none $any' IN BOOLEAN MODE)";
$aDBC->ExecSQL ($SQL);
{
}
else
{
}
?>
Pozdrawiam
Ten post edytował Czapla 3.07.2008, 10:10:35
Life is a game, continue playing and try to be a pr0.