Autor Zpráva
Dave23
Profil
Zdravím,
narazil jsem na problém, kdy mám formulář s několika textovými políčky a pomocí nich chci filtrovat načtení záznamů z několika tabulek z databáze. Potřebuji ošetřit prázdné vstupní pole, protože např. podmínka WHERE book.name = '' by nevrátila žádný záznam. Zkusil jsem si ten řetězec poskládat před dotazem pomocí podmínek

  if(trim($_POST["BookName"]) != "")
    { 
       $where .= " book.name like '".$_POST["BookName"]."%' ";
    }
    
  if(trim($_POST["AuthorName"]) != "")
    { 
       $where .= " author.name like '".$_POST["AuthorName"]."%' ";
    }


nevím ale, jak do takového dotazu vložit operátory AND nebo OR.
Díky za jakoukoliv radu
Kcko
Profil
if(trim($_POST["BookName"]) != "")
{
$where .= " book.name like '".$_POST["BookName"]."%' ";
}


if ( trim($_POST["BookName"]) != "" && trim($_POST["AuthorName"]) != ""))
{
$where .= " OR nebo AND .. podle logiky ";
}


if(trim($_POST["AuthorName"]) != "")
{
$where .= " author.name like '".$_POST["AuthorName"]."%' ";
}
Kajman_
Profil *
Třeba si do where ukládat jako do pole a to pak zřetězit s and či or... jestli chcete and nebo or, musítě vědět Vy.
Dave23
Profil
Díky za reakce.
Podmínka od Kcko funguje a řešení od Kajman_ bude zase univerzální pro více polí, takže jej nejspíše použiju.
Toto téma je uzamčeno. Odpověď nelze zaslat.