Na stronie mam <div-a> który zawiera <text> i <select>.
Gdy wpisuje jakieś znaki do <text-a> wywołuje funkcje sortuj() która zwraca do <select-a> efekt przeszukiwań bazy danych zawierających wprowadzoną frazę.
I tu pojawiaja się błędy:
1.Gdy fraza jest krótka zwiesza przeglądarkę.
2.Gdy reultat zapytania jest zbyt duży w treśći przeglądarki wyskakują krzaki.
Zpaytanie operuje na 14tys. rekordów
wywołanie funkcji:
<?php ?>
function sortuj(wartosc) { for (x=(document.getElementById("produkty"+maszyna).length-1);x>=0;x--) document.getElementById("produkty"+maszyna).removeChild(document.getElementById("produkty"+maszyna).options[x]) if (wartosc.length>3) advAJAX.get({ url: "plan/modyfikatory/pobierz_produkty.php", PHPSESSID : "<?php print session_id() ?>", ciag : wartosc, onSuccess : function(obj) { tablica = new Array(); ciagz = obj.responseText; i=0; while (ciagz.search(',')!=-1) { i++; tablica[i]=ciagz.substr(0,ciagz.indexOf(',')); ciagz = ciagz.substr((ciagz.indexOf(',')+1),ciagz.lastIndexOf(',')); } document.getElementById("znl").innerHTML=tablica.length-1; for (licznik=1;licznik<tablica.length;licznik++) { nowy = document.createElement('option'); document.getElementById("produkty"+maszyna).appendChild(nowy); nowy.text=tablica[licznik]; } } }); }
plik pobierz_produkty.php
<?php include('../../connect.php'); $pierszy = 0; $query = "select id_produkt,kod_produkt from produkt where kod_produkt like '%$_GET[ciag]%'"; $result = mssql_query($query); if ($result!=1) while ($wiersz = mssql_fetch_array($result)) { if ($pierszy==0) { $pierszy = 1; } } ?>