Otóż wybierałem sobie z bazy sporą liczbe rekordów (6 000 + ich pasujace odpowiedniki z innej tabeli, czyli razem cos jakbym mial tablice 6000 x 20 elementów, gdzie nie bylo wiekszej kolumny od VARCHAR 255), i potem mialem je wyświetlic w polu <SELECT>.
jako ze kiedystam zmienialem sposob wybierania rekordow, to zostaly mi w skrypcie zle "odwolania" do elementow tablicy.
i tak zamiast $dane['nazwa_firmy'] wybieralem cos w rodzaju $dane['firmy']['nazwa_firmy'].
kod byl mniej wiecej taki:
Kod
foreach ($tablica as $dane) {
$tekst.='<option value="'.$dane['id'].'">'.$dane['firmy']['nazwa_firmy'].'</option>';
}
echo $tekst;
$tekst.='<option value="'.$dane['id'].'">'.$dane['firmy']['nazwa_firmy'].'</option>';
}
echo $tekst;
Zgodnie z logika spodziewalem sie pustych <option>-ów, i po czesci tak wlasnie bylo, ale do pewnego momentu:
Kod
<option value="4312"></option><option value="4313"></option><option value="4314"></op="3316"></option><option value="3317"></option><option value="3318"></option>
po chwili numerki leciały juz dalej
<option value="4316"></option>
po chwili numerki leciały juz dalej
<option value="4316"></option>
itd..
ale przy ktoryms zamknieciu znowu wygladalo to tak:
Kod
</op="3316"></option>
(znowu dokleił sie znikad ten sam kawałek kodu)
potem jeszcze kolejny raz,
za to w innym miejscu pojawiło mi się
Kod
</op<!DOCTYPE html PUBLIC ..... i cała reszta początku strony
Strone buforuje przed wyswietleniem, podejrzewam ze stamtad pobralo mi ten kawalek i wepchalo go gdzies posrodku zmiennej $tekst.
Zmienna $dane podejrzewam ze miala ok 6MB, wygenerowana tresc (HTML w buforze) mial ok 10MB, zmienna $tekst ok 8-9MB. w php.ini limit pamieci 128MB albo 64MB.
Spotkał sie ktos z czyms takim? Zeby wybierało cuda z pamieci przy odwolywaniu sie do nieistniejacej zmiennej?