Autor | Zpráva | ||
---|---|---|---|
swetko Profil |
#1 · Zasláno: 9. 1. 2010, 22:27:35 · Upravil/a: swetko
Dobrý deň,
mám formulár(v PHP) v ktorom sa zaškrtáva ktorá z funkcií sa má vykonať. príklad: "if" zaškrtnem možnosť 1 - v zozname mien sa vyhľadajú mená ktoré obsahujú -a- "if" zaškrtnem možnosť 2 - vypíšu sa mená s poradovým číslom 4-6 "if" zaškrtnem možnosť 3 - zoradia sa priezviská podľa abecedy . . . No a ja by som potreboval aby keď niekto zaškrtne viac ako jednu možnosť sa tie funkcie skombinovali. Napríklad zaškrtne možnosť 1 a 3 tak sa mu vypíšu priezviská podľa abecedy, ale iba tých ľudí ktorý majú v mene písmeno a. Možností na zašktrnutie je napríklad 10. Ako to urobiť aby sa dalo združiť viacero podmienok? (podľa množstva zaškrtnutých možností) Ďakujem. |
||
mckay Profil |
#2 · Zasláno: 9. 1. 2010, 22:45:00
swetko:
Jestli je to checkbox, dá se to kontrolovat tak, že otestuješ, jestli to existuje - tedy: if(isset($_POST["prvni"], $_POST["druhy"])){ #neco se stane. } |
||
swetko Profil |
#3 · Zasláno: 9. 1. 2010, 23:11:31
Mám:
(kód možno nie je 100% správne, je to len príklad) if (isset($prvy)){ if($vysledok_hladania){ echo $meno; } } if (isset($druhy)){ if($cislo<10){ echo $riadok; } } A ja by som chcel aby keď niekto zaškrtne obidve možnosti sa podmienky spojili a vykoná sa každý $riadok ktorý má menšie číslo ako 10 a zároveň obsahuje $meno v ktorom bolo nájdené písmeno z $vysledok_hľadania. |
||
Alphard Profil |
#4 · Zasláno: 9. 1. 2010, 23:25:24
A ta data taháte z databáze?
|
||
swetko Profil |
#5 · Zasláno: 9. 1. 2010, 23:30:42
Údaje ťahám listovaním txt súboru kde v každom riadku je zoznam údajov:
1|meno|velkost_chodidla|objem_motora a pod. |
||
Alphard Profil |
#6 · Zasláno: 9. 1. 2010, 23:45:39
swetko:
Chtěl jsem řešení naznačit na postupném sestavování databázového dotazu, ale to je jedno. Samotné spojení podmínek je možné třeba pomocí and nebo or, např. if ($jedna and $dva) // když platí zároveň jedna i dva Ale počet kombinací vašich podmínek by byl příliš vysoký, takže je potřeba řešit to postupně. Vyberte si nějaké logické pořadí podmínek a postupně upravujte výsledek, viděl bych to asi takhle: 1. Nejjednodušší bude kontrolovat pořadové číslo, takže to dejte jako první podmínku. Je-li zadáno, vyber řádky s požadovaným číslem, pokud ne, vyber všechny. Výsledek tohoto řádku předej dál. 2. Jesli je nastaven filtr, smaž veškeré řádky, které neobsahují "a" 3. Pokud je nastavené řazení, seřaď výsledek. Pak v závislosti na okolnostech lze některé podmínky spojit. Třeba se nabízí dát dohromady 1. a 2. krok. 1. Vem řádky, které začínají daným číslem a obsahuji ve jméně "a". 2. Seřaď výsledek podle zadání. |
||
swetko Profil |
#7 · Zasláno: 9. 1. 2010, 23:51:01
Čiže neexistuje "jednoriadkový" zápis :), niečo ako
if($jednna & or $dva & or $tri){...} |
||
Alphard Profil |
#8 · Zasláno: 10. 1. 2010, 00:06:19
swetko:
„Čiže neexistuje "jednoriadkový" zápis :), niečo ako“ Existuje, ale spočítejte si sám, kolik máte možností :-) if(($jedna and $tri) or $sedm) if($ctyri xor $osm) if($jedna and !$dve and $tri) Takových možností budou stovky. |
||
swetko Profil |
#9 · Zasláno: 10. 1. 2010, 00:08:26
Áno to mi je jasné, len som chcel vedieť či neexistuje na to v PHP nejaké riešenie.
|
||
Časová prodleva: 13 let
|
0