Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Operacja na tablicach, nie wiem jak to ugryźć.
qqwwq
post
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:

  1. <?
  2. include("config.php");
  3.  
  4. $sql = "SELECT * FROM `miasta` ORDER BY `miasto_nazwa` ASC";
  5. $wynik = mysql_query($sql);
  6. $wynik2 = mysql_query($sql);
  7.  
  8. $array = mysql_fetch_array(mysql_query($sql));
  9. $numrows = count($array);
  10.  
  11. $tabela = '<div class="tabela">
  12. <table cellspacing="0">
  13. <tr>
  14. <td> </td>';
  15.  
  16. while ($dane = mysql_fetch_array($wynik)) {
  17. $tabela .= '
  18. <td>'.$dane[2].'</td>';
  19. }
  20.  
  21. $tabela .= '
  22. </tr>';
  23.  
  24. while ($dane2 = mysql_fetch_array($wynik2)) {
  25. $tabela .= '
  26. <tr>
  27. <td>'.$dane2[2].'</td>';
  28.  
  29. for($x=0;$x<$numrows;$x++){
  30. $tabela .= '
  31. <td> </td>';
  32. }
  33. $tabela .= '
  34. </tr>';
  35. }
  36.  
  37. $tabela .= '
  38. </table>
  39. </div>';
  40.  
  41. ?>


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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 10:38