Thread View: pl.comp.lang.php
5 messages
5 total messages
Started by bambaja
Fri, 17 Aug 2001 19:22
Baza SQL przeszykiwana na bieżąco - kto jest w tym MOCNY?
Author: bambaja
Date: Fri, 17 Aug 2001 19:22
Date: Fri, 17 Aug 2001 19:22
40 lines
2038 bytes
2038 bytes
Witam, Ma ktoś może namiary w sieci albo sugestie jak zrobić coś takiego co działa jak mechanizm w Outlooku Expresie przy wyszukiwaniu grup dyskusyjnych. A więc chodzi mniej więcej o coś takiego: Na górze (bo strona www z ramkami wydaje się jedynym rozwiązaniem) formatka tekstowa gdzie wpisujemy szukane stringi. Na dole wyniki wyszukiwania. Po wpisaniu litery pierwszej np. "p" na dole znajduja sie wszystkie rekordy mySQL'a ktore w danym polu maja litere "p" (bez klikania "szukaj" lub "enter" koniecznie!!!) Potem piszesz "i" - więc na dole pojawiają się wszystkie rekordy które w danym polu mają string zawierający ciąg "pi" itd. po wpisani każdej litery np. słowa "pisarz", na dole pojawiaja sie wynik - za każdym wpisaniem litery, wyników jest oczywiście mniej. Aby to skomplikować to po wpisaniu spacji i zaczęciu nowego wyrazu wyszukiwane jest jak w przykładzie na dole wpisujesz "crack pl" a odnajdywane są rekordy pl.news.crack cracking.pl crackingowanie na placu plac crackowski :) itd. Co wy na to? dzieki za pomoc i informacje bambaja@poczta.onet.pl
Re: Baza SQL przeszykiwana na bieżąco - kto jest w tym MOCNY?
Author: bambaja
Date: Fri, 17 Aug 2001 20:46
Date: Fri, 17 Aug 2001 20:46
11 lines
1210 bytes
1210 bytes
Uzupełnienie: - Działać to może lokalnie na PHP + mySQL ale efektywnie (zamiast PHP moze być "JavaScript, albo inny wynalazek") - lepiej żeby nie używać funkcji "refresh" w ramce dolnej - bo wygląda to nie ciekawie dzieki za pomoc i informacje bambaja@poczta.onet.pl
Re: Baza SQL przeszykiwana na bieżąco - kto jest w tym MOCNY?
Author: Krzysztof Walkowicz
Date: Sat, 18 Aug 2001 19:52
Date: Sat, 18 Aug 2001 19:52
23 lines
2054 bytes
2054 bytes
> Ma ktoś może namiary w sieci albo sugestie jak zrobić coś takiego co działa > jak mechanizm w Outlooku Expresie przy wyszukiwaniu grup dyskusyjnych. ..ciach... > Po wpisaniu litery pierwszej np. "p" na dole znajduja sie wszystkie rekordy > mySQL'a ktore w danym polu maja litere "p" (bez klikania "szukaj" lub > "enter" koniecznie!!!) Ilosc danych do przeslania miedzy klientem a serwerem bylaby zbyt duza, aby to rozwiazanie bylo efektywne. Zauwaz, ze w Outlooku, wszystkie dane masz zgromadzone lokalnie, a i tak mechizm ten nie dziala w czasie rzeczywistym. Jezeli chcesz dane najpierw pobrac do przegladarki i tam na nich operowac, to chyba pomyliles grupe, to wtedy bedzie to client-side, czyli jakis JavaScript, albo inny wynalazek. pozdrawiam, -- Krzysztof Walkowicz <kw@php.pl> [ webdeveloper / sysadmin ]
Re: Baza SQL przeszykiwana na bieżąco - kto jest w tym MOCNY?
Author: 7th Wojciech Jukowski
Date: Sun, 19 Aug 2001 16:59
Date: Sun, 19 Aug 2001 16:59
40 lines
2466 bytes
2466 bytes
witam,
bambaja wrote:
> Po wpisaniu litery pierwszej np. "p" na dole znajduja sie wszystkie rekordy
> mySQL'a ktore w danym polu maja litere "p" (bez klikania "szukaj" lub
> "enter" koniecznie!!!)
zakladam ze masz juz jakis frameset. wiec plik z formularzem (gorna ramka):
<form name="formularz"><input type="text" name="poleszukaj"
onkeyup="parent.nazwadolnejramki.location='select.php?cio='+escape(document.formularz.poleszukaj.value)">
</form>
przykladowy select.php (pamietaj ze musi byc w osobnej ramce a nazwa musi
byc podana w onkeyup (np ramka moze sie nazywac nazwadolnejramki):
<hr><?
$pola=array_diff(split(' ',trim($HTTP_GET_VARS['cio'])),array('',"\t"));
if($pola[0]!=''){
$query="select pole from table where table like '%".array_shift($pola)."%'";
while($i=array_shift($pola))$query.=" and oryginalname like '%$i%'";
$nrpolacz = mysql_pconnect('localhost','root','');
$result = mysql_db_query('test',$query);
while($row=mysql_fetch_row($result))echo++$i.'. '.$row[0].'<br /> ';
}
?><hr>
czyli trimuje pole cio, dziele po spacji i usuwam z tablicy elementy
rowne ciagowi pustemu ('') i znakowi tabulacji ("\t").
tworze selecta jesli jest pierwszy element. dla kazdego nastepnego
elementu z tablicy $pola powiekszam zapytanie do bazy ($query).
lacze sie z baza (z racji duzej liczby polaczen polaczenie stale),
wykonuje $query na bazie 'test' i kazdy wynik poprzedzajac indeksem
listuje w postaci 1. pole<br />. na koniec jakby okazalo sie ze nic
nie jest drukowane (np 0 zwracanych rekordow) daje <hr> by plik nie
byl pusty.
--
wojciech.jukowski
Re: Baza SQL przeszykiwana na bieżąco - kto jest w tym MOCNY?
Author: Łukasz Dyszy
Date: Mon, 20 Aug 2001 09:06
Date: Mon, 20 Aug 2001 09:06
41 lines
2588 bytes
2588 bytes
Użytkownik "bambaja" <bambaja@poczta.onet.pl> napisał w wiadomości news:3b7ec11e@news.vogel.pl... > Witam, > > Ma ktoś może namiary w sieci albo sugestie jak zrobić coś takiego co działa > jak mechanizm w Outlooku Expresie przy wyszukiwaniu grup dyskusyjnych. > > A więc chodzi mniej więcej o coś takiego: > > Na górze (bo strona www z ramkami wydaje się jedynym rozwiązaniem) formatka > tekstowa gdzie wpisujemy szukane stringi. > Na dole wyniki wyszukiwania. [..] IMO Najlatwiej client-side to byloby we flashu :) hi hi ... Zaleta jest to ze nie musisz przeladowywac strony WWW, masz dosc dobrze oprogramowany event data sygnalizujacy zaladowane dane (dane ladowane asynchronicznie). Dosc latwa i wzglednie szybka do oprogramowania komunikacja po http. -Wada jest wymagana dobra znajomosc Flasha ... jezeli chcesz wydajny 'engine' trzeba pooptymalizowac troche plik .swf na poziomie bytecode ...(przyczyna - blad wewnetrzny na poziomie bytecode przy kompilacji) mechanizmu 'rozbijania' stringow (String.split()) ... Jest to jednak dosc latwe do przeskoczenia (5 min.) wystarczy do skompilowanego swf'a dokleic skompilowana poprawiona implementacje 'rozbijania' stringow ktora jest ok 20x szybsza od wbudowanej. Mozesz tez robic komunikacje po sockecie ... ale to juz jest troche bardziej skomplikowane nie mowiac o mnogosci bledow w tej klasie Flasha. Idac dalej mozesz ladowac sekwencyjnie dane tak ze uzytkownik na biezaco widzi pojawiajace sie tematy etc. pzdr. Łukasz -- szChodziMiOToZebyByloWiadomoOCoMiChodzi Flash EXP http://www.lukasz.ibt.pl/ Flash FAQ http://www.lukasz.ibt.pl/faq/
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads