Autor | Zpráva | ||
---|---|---|---|
Dave23 Profil |
#1 · Zasláno: 7. 5. 2009, 12:31:32
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 |
#2 · Zasláno: 7. 5. 2009, 12:47:21 · Upravil/a: Kcko
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 * |
#3 · Zasláno: 7. 5. 2009, 12:49:33
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 |
#4 · Zasláno: 7. 5. 2009, 13:04:56
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. |
||
Časová prodleva: 15 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0