Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Lista rozwijana, a MySQL
Forum PHP.pl > Forum > Przedszkole
artur2233
Witam, na początku zaznaczam, że jestem początkujący. Mam prośbę o wytłumaczenie jak pola z listy rozwijanej "włożyć" do bazy MySQL i jak je później odczytywać? Tutaj daję przykład kodu do wyszukiwania. Na tej samej zasadzie będę robił jeszcze dodawanie lotów, ale zasada działania będzie bardzo zbliżona. Zależy mi na tym, żeby wyświetlało mi pełne nazwy miast, a nie option value. Jest w ogóle taka możliwość?


  1. <form method="POST" action="wyszukaj.php">
  2. <select class="name" name="skad" id="skad">
  3. <option value="#">Miejsce odlotu</option>
  4. <option value="aBCN">Barcelona-El Prat (BCN)
  5. <option value="aBER">Berlin Schonefeld (BER)
  6. <option value="aBUD">Budapeszt (BUD)
  7. </select> <br />
  8.  
  9. <select class="name" name="dokad" id="dokad">
  10. <option value="#">Miejsce docelowe</option>
  11. <option value="BCN">Barcelona-El Prat (BCN)
  12. <option value="BER">Berlin Schonefeld (BER)
  13. <option value="BUD">Budapeszt (BUD)



  1. //dzienod1 = dzień odlotu
  2. // miesiacirokod1 = miesiac i rok odlotu
  3.  
  4. if(isset($_POST['skad']) && isset ($_POST['dokad']) && isset ($_POST['dzienod1']) && isset ($_POST['miesiacirokod1']) && isset ($_POST['godz1']))
  5. {
  6. // filtrujemy dane...
  7. $_POST['skad'] = clear($_POST['skad']);
  8. $_POST['dokad'] = clear($_POST['dokad']);
  9. $_POST['dzienod1'] = clear($_POST['dzienod1']);
  10. $_POST['miesiacirokod1'] = clear($_POST['miesiacirokod1']);
  11.  
  12. echo '<h2>Lista lotów</h2>
  13. <table border="1" width="500px">
  14. <tr>
  15. <th>Skąd</th>
  16. <th>Dokąd</th>
  17. <th>Dzień odlotu</th>
  18. <th>Miesiąc i rok odlotu</th>
  19. <th>Godzina</th>
  20. <th>Czas lotu</th>
  21. <th>Cena</th>
  22. </tr>';
  23.  
  24. // sprawdzamy wszystkie loty
  25. $result = mysql_query("SELECT Count(loty_id) FROM `loty`");
  26. $row = mysql_fetch_row($result);
  27. $count_loty = $row[0];
  28.  
  29. // jeśli jest chociaż 1 lot to wyświetlamy
  30. if($count_loty > 0) {
  31. $result = mysql_query("SELECT * FROM `loty` WHERE ##### ORDER BY `loty_id` ASC");
  32. while($row = mysql_fetch_assoc($result)) {
  33. echo '<tr>
  34. <td>'.$row['skad'].'</td>
  35. <td>'.$row['dokad'].'</td>
  36. <td>'.$row['dzien_odlotu'].'</td>
  37. <td>'.$row['miesiacirok_odlotu'].'</td>
  38. <td>'.$row['godzina'].'</td>
  39. <td>'.$row['czas_lotu'].'</td>
  40. <td>'.$row['cena'].'</td>
  41. </tr>';
  42. }
  43. } else {
  44. echo '<tr>
  45. <td colspan="7" style="text-align:center">Niestety nie znaleziono takich lotów.</td>
  46. </tr>';
  47. }
  48. echo '</table>';
  49. } else {
  50. $_POST['skad'] = '';
  51. $_POST['dokad'] = '';
  52. $_POST['dzienod1'] = '';
  53. $_POST['miesiacirokod1'] = '';
  54.  
  55. }
  56. db_close();
  57. ?>
jaslanin
masz tabele aiport, flight

flight ma dwa klucze obce do tabeli aiport

wartość mogą być znakowe jak masz teraz, albo po prostu można używać id by to załatwić

jak potrzebujesz zamiast id pełnych nazw to robisz joina w stylu:

flight join aiport on airport_from join airport on airport_to # pseudokod
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.