Oznámení
Omlouváme se, provoz fóra byl ukončen
Rozdělení slov do vyhledávání
Upozornění: Tohle vlákno je hodně staré.
před 8 lety
- iwory
- Člen | 147
Zdravím, mohl bych poprosit o nakopnutínějakým směrem?
Začal jsem používat dibi a vše v pohodě. Teď jsem se ale zaseknul na
vyhledávání.
Dříve jsem to měl řešené následovně:
$conditions = array();
$conditions[] = "(`DocName` LIKE '%" . implode("%' OR `DocName` LIKE '%",$word) . "%')";
$conditions[] = "(`DocContent` LIKE '%" . implode("%' OR `DocContent` LIKE '%",$word) . "%')";
$condition = implode(" OR ", $conditions);
$condition = " ( " . $condition . " ) ";
Při vyhledávání jednoho slova je vše v pořádku, ale když někdo vyhledáva třeba dvě slova, tak je rozdělím a na každý bych chtěl udělat dotaz. Buď najde jedno slovo někde, nebo druhý.
Akorá nevím přesně jak se stavit dotaz do dibi. Mohi poprosit o radu?
Díky moc Z.
před 8 lety
- Milo
- Nette Core | 1119
Cca.
$words = array( 'slovo1', 'slovo2', 'slovo3' );
$conds = array();
foreach( $words AS $word )
{
$conds[] = array( '[DocName] LIKE %~like~', $word );
$conds[] = array( '[DocContent] LIKE %~like~', $word );
}
dibi::query( 'SELECT [xxx] FROM [table] WHERE %or', $conds );
před 8 lety
- iwory
- Člen | 147
Díky moc, jede to přesně podle představ… Z.