Olen tässä ihmetellyt, että kuinka saadaan tehtya hakukone joka hakee esim eri matkatoimistoilta tiedot määrätyistä lennoista.
Tulokset sitten näkyisi hakukoneen tuloksina.
Toimisi kuten tämä www.poptravel.fi sivuston hakukone.
Apua siis tarvitaan...
Sivustolla mainitaan seuraavaa:
Poptravel.fi kirjoitti:
Poptravel.fi:n toiminta perustuu hakukoneeseen, joka käy läpi yhteistyökumppaneiden hinta- ja saatavuustiedot yhdellä haulla.
Käytännössä sivusto on sopinut eri matkailuyritysten kanssa, että nämä toimittavat sivustolle tietoja yhteyksistään ja hinnoistaan. Kaikki tiedot on koottu yhteen jatkuvasti päivitettävään tietokantaan, johon sivuston käyttäjien haut sitten ohjataan.
Antti Laaksonen kirjoitti:
Sivustolla mainitaan seuraavaa:
Poptravel.fi kirjoitti:
Poptravel.fi:n toiminta perustuu hakukoneeseen, joka käy läpi yhteistyökumppaneiden hinta- ja saatavuustiedot yhdellä haulla.
Käytännössä sivusto on sopinut eri matkailuyritysten kanssa, että nämä toimittavat sivustolle tietoja yhteyksistään ja hinnoistaan. Kaikki tiedot on koottu yhteen jatkuvasti päivitettävään tietokantaan, johon sivuston käyttäjien haut sitten ohjataan.
Juu tuon tiesinkin ;)
Olisin kuitenkin kiinnostunut tietämään, että kuinka sellainen hakukone tehdään?
Hakukoneen voi tehdä esim. PHP:llä ja MySQL:llä. PHP on sivuston palvelimella suoritettava ohjelmointikieli ja MySQL on tietokanta. Kun käyttäjä lähettää valinnat lomakkeella, PHP käsittelee ne, hakee niiden mukaan tietokannasta ja muodostaa ja lähettää selaimelle sivun, jossa näkyvät haun tulokset.
Tietokannassa näyttää vaikka seuraavalta:
mista mihin aika hinta ------------------------------------------------ Helsinki Oulu 23.4.2007 120 Helsinki Oulu 24.4.2007 140 Helsinki Tampere 23.4.2007 100 Tampere Oulu 25.4.2007 80
Tietoa voi hakea SQL-kyselyllä tähän tapaan:
SELECT * FROM Lennot WHERE mista = 'Helsinki' AND mihin = 'Oulu' AND aika = '23.4.2007'
Tässä on vielä esimerkki PHP-koodista:
<?php // haetaan tiedot osoiteriviltä // (esim. haku.php?mista=helsinki&mihin=oulu&aika=230407) $mista = $_GET['mista']; $mihin = $_GET['mihin']; $aika = $_GET['aika']; // otetaan yhteys tietokantaan mysql_connect(); mysql_select_db("sivusto"); // haetaan tietoja tietokannasta $tiedot = mysql_query("SELECT * FROM Lennot WHERE mista = '$mista' AND mihin = '$mihin' AND aika = '$aika'"); // näytetään haun tulokset sivulla echo "<table>"; for ($i = 0; $i < mysql_num_rows($tiedot); $i++) { echo "<tr>"; echo "<td>" . mysql_result($tiedot, $i, "mista") . "</td>"; echo "<td>" . mysql_result($tiedot, $i, "mihin") . "</td>"; echo "<td>" . mysql_result($tiedot, $i, "aika") . "</td>"; echo "<td>" . mysql_result($tiedot, $i, "hinta") . "</td>"; echo "</tr>"; } echo "</table>"; // suljetaan yhteys tietokantaan mysql_close(); ?>
Ja tuloksena syntyy HTML-sivu:
<table> <tr> <td>Helsinki</td> <td>Oulu</td> <td>23.4.2007</td> <td>120</td> </tr> </table>
Kiitos Antti vastauksesta. Hiukan taas valkeni ;)
Aika vaikeata meikäläiselle ku ei ole mikään haka näissä asioissa.
Osaatko sanoa kun matkatoimistoilla ja lentoyhtiöillä
(lento-osiossa) on käytössä erilaisia GDS:iä - useimmilla Amadeus, mutta
löytyy myös Sabre, Wordspan jne, niin kuinka nuo saadaan tuolla hakukoneella näkyviin?
Mikä on GDS??
Tuntematon lyhenne minullekin, mutta Googlen perusteella kyse taitaa olla tietojärjestelmistä, joiden kautta hoidetaan matkojen varauksia eri lentoyhtiöille. Tässä tapauksessa hakukoneen tekijä saa tiedot jostain muualta (yhteistyössä olevilta yrityksiltä), joten hänen tuskin tarvitsee huolehtia asiasta. Jos yksi lentoon liittyvistä tiedoista on GDS, niin kaipa senkin voi näyttää hakutuloksissa, mutta useimmille matkustajille se lienee kuitenkin melko turha tieto.
GDS on "Global Distribution System" eli kansainvälinen sähköinen varausjärjestelmä.
Amadeus taas on käytetyin edellä mainittu.
Eli käytännössä ellet ole ostamassa valmista hakusoftaa noilta mainitsemiltasi softavalmistajilta, niin hankit rajapintakuvaukset ja rakennat niiden mukaiset rajapinnat kumppaneidesi tietojärjestelmiin.
Olisiko kiinnostusta rakentaa tuollainen "Hakukone"?
Pienoista korvausta vastaan....
Aihe on jo aika vanha, joten et voi enää vastata siihen.