| 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: 17 let
|
|||
Toto téma je uzamčeno. Odpověď nelze zaslat.
0