![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem z wykombinowaniem rozwiązania dla mojego zadania. A dokładniej, posiadam dwie tabele w bazie: miasta miasto_id sesja_id miasto_nazwa miasto_x miasto_y polaczenia polaczenia_id polaczenia_z_id polaczenia_do_id polaczenia_czas polaczenia_koszt W tabeli z miastami, jest zapisywana nazwa miasta, i jego współrzędne, pole sesji póki co jest nieważne. W tabeli z połączeniami, dodaję sobie połączenia między miastami, czyli zapisuje mi tam ID miasta z którego i do którego jest połączenie, oraz można jeszcze wprowadzić czas i koszt. Do czego teraz dążę. Chciał bym obliczyć drogę między wszystkimi miastami w bazie, które mają połączenia między sobą, i później przedstawić to w postaci tabelki. Póki co, udało mi się narysować tabelkę, z etykietami miast:
I teraz nie mam pojęcia, w jaki sposób mam znaleźć miasta które mają ze sobą połączenie, i dla nich liczyć odległości i uzupełniać w tej tabeli. Odległość będę liczył ze wzoru pitagorasa, czyli coś jak sqrt((miasto1_x - miasto2_x)*(miasto1_x - miasto2_x)+(miasto1_y - miasto2_y)*(miasto1_y - miasto2_y)) ... Za wszelkie uwagi i podpowiedzi serdecznie dziękuję. Ten post edytował qqwwq 13.10.2010, 03:40:27 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Pytanie zasadnicze... Co masz na myśli pisząc "miasta mają połączenie ze sobą"? Czy proste:
a) biorę tabelę połączenia, wyszukuję id miast z tabeli miast i sprawdzam ich współrzędne a z nich obliczam odległość, czy może: ![]() Przypadek a) jest banalny bo to zwykły JOIN po polaczenia_z_id oraz polaczenia_do_id Przypadek ![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 14.09.2009 Ostrzeżenie: (0%) ![]() ![]() |
Cieszę się że to będzie banalne
![]() Cały ten skrypcik, to ma być problem komiwojażera, tylko właśnie z założeniem, że nie ma dostępnych połączeń między wszystkimi miastami, i później jeszcze trzeba uwzględnić czas czy koszt danej trasy. Ogólnie, to chciał bym po pierwsze mieć te wyniki wydrukowane na stronie w tej tabeli, i po drugie, mieć je w jakiejś tablicy aby wygodnie na nich działać, i np. odnosić się do tego z jakiejś zmiennej, $myArray[3][4] - i w ogóle super by było, jak by te numerki 3 i 4, jako numer kolumny i rzędu, były nie numerami kolejnych rzędów, tylko ID miast albo nazwami poszczególnych nazw. Nie wiem czy dobrze kombinuję z operowaniem na ID a nie na miastach, czy się nie pogubię ... ale myślę że ja już by była ta tablica, to później uzupełnienie tabelki na stronce to nie problem ![]() Acha, i dla ułatwienia, przy dodawaniu połączenia np. między Bydgoszczą a Gdańskiem, jednocześnie jest dodawane do bazy identyczne połączenie między Gdańskiem a Bydgoszczą - wtedy tylko po jednej kolumnie, np. miasta_z_id - można sprawdzać te połączenia ( przynajmniej tak mi się wydaje ) Dziękuję za odpowiedź ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 05:44 |