slaw:)
6.02.2004, 13:37:32
teamt pracy: sprzedaż i rezerwacja biletów lotniczych.
mam już mniej więcej wszystko zaplanowane. Powstał taki oto problem:
klient rezerwuje bilet na lot. lot sklada sie z polaczen, bo nie zawsze lecimy bezposrednio z jednego miejsca do drugiego. Np. Bydgoszcz - Warszawa - New York. Moze byc czasami wiecej polaczen skladajacych sie na jeden zarezerwowany przez klienta lot (tak mi sie wydaje, bo nie latam samolotami, nie ma potrzeby). Moj pomysl byl taki:
spis polaczen:
- miasto poczatkowe
- miasto koncowe
Wychodzi wiec np:
- Bydgoszcz - Warszawa
- Warszawa - New York
Tu jest jeszcze ok, bo podajemy skad chcemy leciec - Bydgoszcz, dokad - New York. Szuka wiec polaczen, gdzie miasta poczatkowe to bydgoszcz, a koncowe to NY, pozniej wybiera z nich tylko te, gdzie pojawia sie warszawa (jako koncowe tam, gdzie poczatek jest Bydgoszcz, a jako poczatek, tam gdzie koncowe to NY).
Pytanie jak zrobic cos takiego, gdy lecimy np:
Bydgoszcz - Warszawa - Berlin - Paryz - New York.
Sposob, ktory podalem sie chyba nie sprawdzi i nie wiem jak to zrobic. Moze ktos z Was ma jakis pomysl na to?
Troche namieszalem, ale chyba da sie to zrozumiec.
Z gory dzieki za odzew i pomoc
pozdrawiam
slaw:)
spenalzo
6.02.2004, 13:52:12
tabela "polaczenia"
- id polaczenia
- miasto startowe
- miasto docelowe
- przesiadki (domyslnie NULL)
tabela "miasta"
- id miasta
- nazwa
Jezeli masz lot bez przesiadek to robisz tak, w tabeli polaczenia:
id: xxx
mstartiowe: 1
mdocelowe: 43
przesiadki: null
Jezeli masz lot z dwoma przesiadkami to w tabeli polaczenia wpisujesz tal:
id: xxx
mstartiowe: 1
mdocelowe: 43
przesiadki: 543,85
Czyli ID miast rozdzielone przecinkami.
W ten sposób łatwo szukać lotów bez przesiadek (tam gdzie jest NULL), łatwo pobrać nazwy przesiadek (np. " WHERE miasta.id IN (543,85)") i jest porządek.
slaw:)
6.02.2004, 15:59:45
dzieki. myslalem jakos w tych okolicach, ale nie moglem wpasc dokladnie.
ale jeszcze jedno: czy wartosci ni musza byc atomowe (niepodzielne)? bo przesiadki wychodza w tym wypadku nieatomowe i czy to tak moze byc?
ale i tak dzieki za pomoc. sprobuje tak zrobic. mam nadzieje, ze jest to poprawnie (te nieatomowe wartosci). chyba, zeby jeszcze tabele jedna dorobic z przesiadkami?
spenalzo
6.02.2004, 18:11:24
Niee, po co dodatkową tabelę? W kolumnie przesiadki umieszczasz nazwy miast gdzie są przesiadki, rozdzielone przecinkami.
slaw:)
6.02.2004, 21:54:26
oki. dzieki wielkie. jak zaimplementuje rozwiazanie to sie odezwe.
pozdr
slaw:)
slaw:)
4.03.2004, 23:16:29
dzieki spenalzo za pomoc. jeszcze do tego tematu wrocimy. nie mialem zbyt czasu, zeby to dopracowac (tak akurat wypadlo licho) wiec nie robie na razie.
probowalem tak jak napisales: bez tabeli przesiadki, ale w mysql mi to nie wychodzi. ale to ma czas. jakos nie moge sie w tych samolotach, liniach i polaczeniach znalezc.
zapraszam za to do nowej dyskusji:
http://forum.php.pl/viewtopic.php?p=82016
ja tu jeszcze wroce
pozdr
slaw:)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.