Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Komunikacja miejska, Problem ze skryptem
kurcacek888
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 24.02.2009

Ostrzeżenie: (0%)
-----


//index.php
  1. <?php  
  2.  $przystanek_z = $POST['przystanek_z'];  
  3.  $przystanek_do = $POST['przystanek_do'];  
  4.    
  5.  ?>  
  6.    
  7.    
  8.  Z :  
  9.  <form action="szukaj.php" metod="post">  
  10.      <select name="przystanek_z">  
  11.          <option>Wspólna</option>  
  12.          <option>Zacisze</option>  
  13.          <option>Hetmańska</option>  
  14.          <option>Grunwaldzka</option>  
  15.          <option>Pomorska</option>  
  16.          <option>Mickiewicza</option>  
  17.          <option>Kujawska</option>  
  18.          <option>Przepałkowskiego</option>  
  19.          <option>Browarna</option>  
  20.          <option>Robotnicza</option>  
  21.          <option>Królewiecka</option>  
  22.          <option>3-maja</option>  
  23.      </select>  
  24.    
  25.  Do :  
  26.    
  27.      <select name="przystanek_do">  
  28.          <option>Wspólna</option>  
  29.          <option>Zacisze</option>  
  30.          <option>Hetmańska</option>  
  31.          <option>Grunwaldzka</option>  
  32.          <option>Pomorska</option>  
  33.          <option>Mickiewicza</option>  
  34.          <option>Kujawska</option>  
  35.          <option>Przepałkowskiego</option>  
  36.          <option>Browarna</option>  
  37.          <option>Robotnicza</option>  
  38.          <option>Królewiecka</option>  
  39.          <option>3-maja</option>  
  40.      </select>  
  41.    
  42.    
  43.    
  44.  <input name="btnSzukaj" type="SUBMIT" id="btnSzukaj" value="Szukaj">  
  45.  </form>


//szukaj.php
  1. <?php
  2. $_SESSION = array();
  3. $aktywne_z[6];
  4. $aktywne_do[6];
  5. $aktywna=0 ;
  6.  
  7. $liczba = 0;
  8. $liczba2 = 0;
  9.  
  10.  
  11. $polaczenia = Array(
  12.      'linia_1' => array('Grunwaldzka','07:00','11:00','15:00', 'Kujawska','07:30','11:30','15:30', 'Robotnicza','08:15','12:15','16:15', '3-maja' ,'09:02','13:02','17:02', 'Pomorska','09:18','13:18','17:18', 'Zacisze','09:58','13:58','17:58', 'Królewiecka','10:22','14:22','18:22', 'Wspólna','11:00','15:00','19:00' ),
  13.      'linia_2' => array('Wspólna','07:00','11:00','15:00', 'Królewiecka','07:30','11:30','15:30', 'Zacisze','08:15','12:15','16:15', 'Pomorska' ,'09:02','13:02','17:02', '3-maja','09:18','13:18','17:18', 'Robotnicza','09:58','13:58','17:58', 'Kujawska','10:22','14:22','18:22', 'Grunwaldzka','11:00','15:00','19:00'),
  14.      'linia_3' => array('Mickiewicza','10:00','16:00','18:00', 'Przepałkowskiego','10:25','16:25','18:25', 'Robotnicza','10:52','16:52','18:52', '3-maja','11:22','17:22','19:22',  'Zacisze','11:35','17:35','19:35', 'Pomorska','11:50','17:50','19:50', 'Hetmańska','12:10','18:10','20:10', 'Browarna','12:30','18:30','20:30'),
  15.      'linia_4' => array('Browarna','10:00','16:00','18:00', 'Hetmańska','10:25','16:25','18:25', '3-maja','10:52','16:52','18:52', 'Robotnicza' ,'11:22','17:22','19:22','Pomorska','11:35','17:35','19:35', 'Zacisze','11:50','17:50','19:50', 'Przepałkowskiego','12:10','18:10','20:10', 'Mickiewicza','12:30','18:30','20:30'),
  16.      'linia_5' => array('Kujawska','08:00','12:00','16:00', 'Grunwaldzka','08:22','12:22','16:22', 'Wspólna','08:45','12:45','16:45', 'Przepałkowskiego' ,'09:17','13:17','17:17', 'Królewiecka','09:40','13:40','17:40', 'Zacisze','10:01','14:01','18:01', 'Browarna','10:27','14:27','18:27', 'Hetmańska','10:50','14:50','18:50'),
  17.      'linia_6' => array('Hetmańska','08:00','12:00','16:00', 'Browarna','08:22','12:22','16:22', 'Zacisze','08:45','12:45','16:45', 'Królewiecka' ,'09:17','13:17','17:17', 'Przepałkowskiego','09:40','13:40','17:40', 'Wspólna','10:01','14:01','18:01', 'Grunwaldzka','10:27','14:27','18:27', 'Kujawska','10:50','14:50','18:50')
  18.  );
  19.  
  20.  
  21. foreach ( $polaczenia as $linia => $polaczenie )
  22.  {    
  23.      for ( $i = 0; $i < count($polaczenie); $i+=4 )
  24.      {
  25.          if($przystanek_z == $polaczenie[$i])
  26.          {
  27.              $aktywne_z[$liczba] = $linia;
  28.              $liczba++;
  29.          }
  30.          
  31.          if ($przystanek_do == $polaczenie[$i])
  32.          {
  33.             $aktywne_do[$liczba2] = $linia;
  34.             $liczba2++;
  35.          }
  36.      }
  37. }
  38.  
  39.      for ( $i = 0; $i < count($aktywne_z); $i++ )
  40.        {
  41.            for( $j = 0; $j < count($aktywne_do); $j++)  
  42.            {
  43.                if($aktywne_z[$i] == $aktywne_do[$j])
  44.                {
  45.                $_SESSION['z'] = $_POST['przystanek_z'];
  46.                $_SESSION['do'] = $_POST['przystanek_do'];
  47.                $_SESSION['aktywne'] = $aktywne_z[$i];
  48.                $_SESSION['polaczenie'] = $polaczenia;
  49.                header('Location: wynik.php');
  50.                break;
  51.                }
  52.            }
  53.        }      
  54.      
  55. ?>

//wynik.php
  1. <?php  
  2.  session_start();  
  3.    
  4.  $element_z = 0;  
  5.  $element_do = 0;  
  6.  $pietro = 'linia_2';  
  7.    
  8.   echo $_SESSION['polaczenie'][$pietro][$j];  
  9.        
  10.  echo $_SESSION['aktywne'];  
  11.  for ( $i = 0, $j = 1; $i < 8; $i++,$j+=4 )  
  12.  {  
  13.      if ($_SESSION['polaczenie'][$_SESSION['aktywne']][$j] == $_SESSION['z'])  
  14.      {  
  15.          echo $_SESSION['polaczenie'][$j][$pietro];  
  16.          //echo $_SESSION['polaczenie']['linia_2'][$j];  
  17.          break;  
  18.      }  
  19.      $element_z++;  
  20.  }  
  21.  echo $element_z;  
  22.      
  23.  ?>

Na stronie index.php wybieramy dwie zmienne ( przystanek_z przystanek_do ) nastepnie skrypt sprawdza na jakich liniach znajduja sie dane przystanki. Na ostatniej podstronie szukane jest ewentualne polaczenie (bezposrednie). Zastanawiam sie jak dodac kod ktory szukalby przejazdu z jedna przesiadka . Moze ktos pomoc (IMG:http://nieroby.iswift.eu/images/smiles/icon_question.gif) (IMG:http://nieroby.iswift.eu/images/smiles/icon_biggrin.gif) Z gory thx (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował kurcacek888 24.02.2009, 17:22:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
pejotr
post
Post #2





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 21.08.2007

Ostrzeżenie: (0%)
-----


poraktuj sieć komunikacyjną jako graf, znajdź najkrótszą/dowolną trasę miedzy dwoma przystankami i sprawdź ile na niej jest przesiadek. Jesli jedna to... jeśli więcej to...
Go to the top of the page
+Quote Post
kurcacek888
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 24.02.2009

Ostrzeżenie: (0%)
-----


Można trochę jaśniej z tymi grafami, bo nie bardzo wiem o co chodzi (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
mike
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(kurcacek888 @ 25.02.2009, 15:07:28 ) *
Można trochę jaśniej z tymi grafami, bo nie bardzo wiem o co chodzi (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
To doczytaj sobie. Czy tak trudno poszukać sobie informacji co to jest graf?
Pojęcie związane z matematyką (nie uczą tego w gimnazjum i liceum (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ). Jeśli nie znasz grafów i/lub ich nie rozumiesz to zacznij od matematyki wyżej, żeby je poznać.
Go to the top of the page
+Quote Post
kurcacek888
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 24.02.2009

Ostrzeżenie: (0%)
-----


wiem co to jest graf jak zaczynalem robic w ogole ten projekt to od niego zaczynalem. Nie bardzo dalej wiem jaka petle stworzyc do tego aby akurat wskazywala mi na przesiadke i trase na ktorym przystanku trzeba sie akurat przesiasc ;/
Go to the top of the page
+Quote Post
wrzasq
post
Post #6





Grupa: Zarejestrowani
Postów: 206
Pomógł: 18
Dołączył: 6.03.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


znajdywanie drogi w grafie to chyba podstawa podstaw w jakichkolwiek strukturach i algorytmach. jesli nie potrafisz ich obslugiwac to nie zajmuj sie programowaniem, tylko poczytaj ksiazki, na forum ci nikt nie wytlumaczy, bo to obszerny temat, ani uczyc sie za ciebie nikt nie bedzie. nie bierz sie za cos, czego nie potrafisz zrobic.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 14:37