Pozdrawiam!
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
print '<input type="text" style="width:160px;font-size:12;" onkeypress="sortuj(this.value);">'; ?>
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)
{
print $wiersz['kod_produkt']; $pierszy = 1;
}
else print ','.$wiersz['kod_produkt']; }
?>