dj.drezyna Napisano Sierpień 23, 2008 Autor Zgłoś Share Napisano Sierpień 23, 2008 W Polsce jest często tak, że jak sobie nie pomożesz to nikt Ci nie pomoże... Problem rozwiązał się jakoś, bo wpadłem na takie rozwiązanie: Są pola: abc def i ghi. Sprawdza się czy te pola są null. Jeżeli tak, to daje się zmienne wyszukujące wabc wdef i wghi na null i robi się ifa: if ((abc == wabc) (def == wdef) (ghi == wghi)) { jakaś instrukcja; } W ten sposób otrzymuje się ify tylko przy danym polu i if zbiorczy co bardzo przyspiesza wyszukiwanie, bo parser nie musi przedzierać się przez if 2^(liczba pól)-1, a dodatkowo z dużą ilością pól uzyskuje się plik stosunkowo niewielki - u mnie reducja z 49 do 7 kB! (przy 8 polach) Poniżej przedstawiam przykład z części mojego ifa: if ($kalendarz == null) { $wkalendarz = null; $wosobne[7] = null; } else { $wosobne[7] = $osobne[7]; $wkalendarz = $kalendarz; } if ($stacja == null) { $wstacja = null; $wosobne[9] = null; } else { $wstacja = $stacja; $wosobne[9] = $osobne[9]; } if ($miasto == null) { $wmiasto = null; $wosobne[8] = null; } else { $wmiasto = $miasto; $wosobne[8] = $osobne[8]; } if (($rok_od == null) and ($rok_do == null) and ($miesiac_od == null) and ($miesiac_do == null) and ($dzien_od == null) and ($dzien_do == null)) { $wgranicag = 99990000; $wgranicad = 1; } else { $wgranicag = $granicag; $wgranicad = $granicad; } if (($wosobne[7] == $wkalendarz) and ($wosobne[9] == $wstacja) and ($wosobne[8] == $wmiasto) and (($daty <= $wgranicag) and ($daty >= $wgranicad))) { {include "Galera.php";} } U W A G A ! Ważne jest zrobienie do każdej zmiennej dodatkowej zmiennej z jakimś tam przedrostkiem u mnie ,,w'', bo inaczej uzyska się efekt kasowania danych w prawdziwych zmiennych (Mi służy plik Spis_.csv, który na początku zbiera rekordy pasujące, a potem wyświetla je pętli for i jeżeli się tego nie zastosuje, to będzie problem polegający na tym, że rekordy nie wyszukiwane uzyskają wartość null) Galeria przyrodnicza http://fotokrajobrazy.warmia.pl Link do komentarza Udostępnij na innych stronach More sharing options...
Polecane posty
Zarchiwizowany
Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.