Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Lista rozwijana, a MySQL
artur2233
post
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 4.03.2012
Skąd: Kielce

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


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. ?>


Ten post edytował artur2233 26.12.2012, 18:42:25
Go to the top of the page
+Quote Post
jaslanin
post
Post #2





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

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


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

Ten post edytował jaslanin 26.12.2012, 19:38:01
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: 25.08.2025 - 11:31