Skocz do zawartości

[problem] AS3 przeszukiwanie bazy danych


Kim Bo

Rekomendowane odpowiedzi

Witam, chciałem zapytać czy znacie jakiś ciekawy tutek jak w AS3 przeszukać istniejącą bazę danych tak, aby ostatecznie program wypluł to czego szukamy??

 

Jeśli użytkownik wpisze np samochód, to wyświetli pojęcie z bazy, że np "to pojazd mechaniczny...".

Jeśli wpisze np Mercedes, to program pominie opis kategorii samochód, tylko od razu przejdzie do opisu tej konkretnej marki itp.

Planuję to zrobić na zasadzie okna dialogowego, gdzie mamy dynamiczne pole tekstowe na input, oraz pole w którym będzie wyświetlana odpowiedź.

 

Gdzie mogę poczytać coś więcej o shared objects??

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 10
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

o shared object poczytasz w domukemtacji online. ale wiele tego nie ma. shared objects są i tyle. Maksymalny string to kilka kb z tego co pamiętam.

 

To o co pytasz to raczej PHPem załatwisz. np. mysql query w formie:

SELECT tabela WHERE kolumna(np keywords) LIKE $zapytanie_pobrane_GETem

 

ale dokladnie to o co pytasz to nie pytanie z flasha ale z samej struktury pisania baz danych. Bo wykonac takie kontekstowe zapytanie nie jest łatwo bez względu na obsługę interfejsu.

Odnośnik do komentarza
Udostępnij na innych stronach

Dokładnie tak jak olaf napisał. Samym flashem tego nie ogarniesz.

Wpisujesz frazę w jakiś tam textfield we flashu potem wysyłasz to zapytanie postem czy getem do php, php pyta o to coś bazę danych i wysyła to z powrotem do flasha.

 

flash-->PHP-->baza danych-->Php--> flash

Odnośnik do komentarza
Udostępnij na innych stronach

Ja wiem, że xml ma swoich zwolenników ale jeżeli nie znasz xml'a i baz to polecam uczyć się pracy z bazami. Szczególnie jak chcesz wyciągać dane. Obecnie reżim jest taki, że flash powinien pracowac na netbookach i mobilnych sprzętach. Parsowanie xml'a jak by nie bylo zoptymalizowane nie jest dobre. A jak się nauczysz xmla to bedziesz w nim robł wszystko tak jest zawsze. Lepiej dostać 20bajtów z bazy 15MB niż wczytywać xmle i parsowac je, szczgólnie, że pracę na bazie wykona serwer na nie komputer klienta. Z odpowiednia znajomością PHPa mozesz dostac naprawde dobrze przygotowane małe stringi obrobione przez CPU serwerowe. Ale polecam poczytac o obu technologiach, by samemu świadomie wybrać.

Odnośnik do komentarza
Udostępnij na innych stronach

No w sumie o sam odczyt. Tyle, że miałem nadzieje na jakiś tutek z przykładem takich przeszukiwań. Aplikacja ma wyglądać jak rozmowa z chatbotem, zadajesz pytanie a on odpowiada tekstem np z xml'a z określonego miejsca. Problem w tym, że teraz cała zawartość stronki jest w php zrobiona i przepisywanie tego wszystkiego do odpowiednich tagów w xml'u to raczej żmudna robota...

 

chciałem coś "z górki" bardziej :P

 

dodatowo chciałem zaimplementować "text to speach" tak aby mimo wyświetlanego tekstu był on "czytany na głos" przez aplikację

Edytowane przez Kim Bo
Odnośnik do komentarza
Udostępnij na innych stronach

to od razu Ci powiem, że jeszcze nie masz świadomości ale to dość zawiła sprawa i jeżeli nie masz rozpisanej bazy kontekstów przez zleceniodawcę to niestety wdepnąłeś na minę.

Przerobienie bazy na strukturę xml'a nie jest trudne - pewnie gdzieś są takie konwertery ale naprawdę zobacz co masz do zrobienia, bo to dośc skomplikowane zlecenie i z technologią pobierania danych będziesz miał najmniejszy problem.

Odnośnik do komentarza
Udostępnij na innych stronach

var zmienna:String="";

var request:URLRequest = new URLRequest ("php.php");

request.method = URLRequestMethod.POST;

var variables:URLVariables = new URLVariables();

 

 

btn_wyslij_zmienna..addEventListener(MouseEvent.CLICK, koment);

function koment (evt:MouseEvent):void {

zmienna = zapytanie.text;

trace (zmienna);

variables.wpis = zmienna;

request.data = variables;

 

var loader:URLLoader = new URLLoader (request);

loader.addEventListener(Event.COMPLETE, onComplete);

loader.dataFormat = URLLoaderDataFormat.VARIABLES;

loader.load(request);

 

 

 

function onComplete (event:Event):void{

statusTxt1.text = event.target.data;

}

}

Tak wysyłasz i odbierasz z PHP flashem

 

Tak wygląda PHP:

<?php

$fname = $_POST['wpis'];

echo "PHP=" . $fname;

?>

 

 

Ehh za dobry jestem ;P

 

Edit: Oczywiście to bardzo ogólny przykład, w php coś z tą zmienna jeszcze trzeba zrobić tzn. wysłać ja w zapytaniu do bazy danych.

Edytowane przez zgred
Odnośnik do komentarza
Udostępnij na innych stronach

btn_wyslij_zmienna..addEventListener(MouseEvent.CL ICK, koment);
btn_wyslij_zmienna.addEventListener(MouseEvent.CLICK, koment);

 

poprawiłem bo wskoczyły kropka i spacja (klik pisane razem - skrypt vBulletin oddziela js podobne komendy chyba).

 

komunikację z serwerem to nie problem. budowa bazy danych i zapytanie kontekstowe to problem. Daj znać jak poszło.

Odnośnik do komentarza
Udostępnij na innych stronach

wskoczyły kropka i spacja (klik pisane razem - skrypt vBulletin oddziela js podobne komendy chyba).

 

spoko, wiem że jestem początkującym skrypterem, ale budowę języka już ogarniam :) na minę nie wdepnąłem bo narazie to nie jest komercyjny projekt, chociaż w przyszłości kto wie :)

 

 

komunikację z serwerem to nie problem. budowa bazy danych i zapytanie kontekstowe to problem. Daj znać jak poszło.

 

No zastanawia mnie wciąż problem gdy w zapytaniu wysłanym przez użytkownika znajdzie się więcej niż jedno hasło (zapytanie będzie odnosić się jednocześnie np. do biografii, miejsca i wydarzenia).

Czy baza będzie przeszukana pod względem ilości pasujących do zapytania haseł i zwróci "najbardziej prawdopodobną odpowiedź"?

 

Czy flasz jest czuły na wielkość liter?

 

Co jeśli użytkownik będzie próbował wydobyć z bazy pojęcia robiąc literówki? Znalazłem sposób na wyświetlanie podpowiedzi do haseł, ale jest właśnie wrażliwy na wielkość liter :/

 

jeszcze trochę nad tym pomyślę...

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności