Jump to content
Kim Bo

[problem] AS3 przeszukiwanie bazy danych

Recommended Posts

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??

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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ć.

Share this post


Link to post
Share on other sites

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ę

Edited by Kim Bo

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

PHP, a dopiero później wypluwasz treści gdzie chcesz.

 

Wyżej opisane jak ta lala :)

Share this post


Link to post
Share on other sites
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.

Edited by zgred

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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ę...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

We are using cookies. Read about our Privacy Policy