Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Problem z porównaniem danych z jednej tabeli zdanymi w drugiej
jaqb04
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 2.02.2006

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


Witam.
Mam serwis dotyczacy zapisów studentów na specjalizacje. Mam 2 tabele:
zapisy_na_specjalizacje z kolumnami:
Id_zapisu_specjalizacja<PK>,
Id_specjalizacja<FK>,
Id_student<FK>,
Data_zapisu_specjalizacja
oraz
Specjalizacje z kolumnami:
Id_specjalizacja<PK>,
Nazwa_specjalizacji,
Liczba_miejsc,

Student logując się na serwis wybiera z listy rozwijanej specjalizację. Chodzi o to, że ilość miejsc na każdej specjalizacji jest ograniczona, więc trzeba zrobić coś takiego jak zliczanie dla każdego przedmiotu ile osób sie juz na niego zapisało i porównanie tych wyników z Liczba_miejsc. Jeżeli ilość zapisanych studentów jest mniejsza od liczby miejsc dostępnych to specjalizacja sie wyświetla na liście rozwijanej, a jeżeli liczba studentów zapisanych na specjalizacje jest równa Liczba_miejsc to specjalizacja nie wyświetla sie w liście rozwijanej.
Niby proste ale próbowałem już kilkoma sposobami i coś mi nie wychodzi. Poniżej przedstawiam kod formularza do zapisów:
  1. <body>
  2. <?php
  3. #Uruchomienie sesji
  4. #Sprawdzenie czy istnieje zmienna sesyjna login
  5. if ($HTTP_SESSION_VARS['login'])
  6. {
  7. # Dane potrzebne do polaczenia sie z baza i wybraniu odpowiedniej tabeli
  8. $host="localhost";
  9. $user="root";
  10. $pass="";
  11. $baza="zak";
  12. $tabela="Specjalizacje";
  13.  
  14.  
  15. $login=$HTTP_SESSION_VARS['login'];
  16. print"zapisy na specjalizacje<br>";
  17.  
  18. #laczenie sie z baza
  19. @mysql_connect ("$host", "$user", "$pass")
  20.               or die ("Nie mozna polaczyc sie z baza");
  21. #wybieranie tabeli
  22. @mysql_select_db ("$baza") or die ("Nie mozna wybrac bazy");
  23.  
  24.  
  25. #formularz w ktorym uzytkownik wybiera specjalizacje na ktora chce sie zapisac
  26. print"<form action=\"zapis_s.php\" method=\"post\">";
  27. #wyswietlenie nazwiska uzytkownika
  28. print "<center><h2>Jestes zalogowany jako ".$login."</h2></center><br><br>";
  29. print"<TABLE>";
  30. print "<tr><td><center><h3>PROSZE WYBRAC SPECJALIZACJE</h3></center></td>
  31.      <td><center><h3><select name=\"spec\">";
  32.  
  33.      #zapytanie wyswietlajace rekordy
  34.      $zapytanie1 = "SELECT * FROM $tabela";
  35.      #wykonanie zapytania
  36.  
  37.      
  38.      $wynik1 = mysql_query($zapytanie1);
  39.           #Wyswietlenie specjalizacji w liscie rozwijanej
  40.           while($rekord1=mysql_fetch_array($wynik1))
  41.  
  42.           {print"<option value=".$rekord1["Id_specjalizacja"].">"
  43.                  .$rekord1["Nazwa_specjalizacji"]."</option>";}
  44.  
  45.       print"</select></h3></center></td></tr>";
  46.  
  47. print "<TR><TD><center><h3><input type=\"submit\" name=\"submit\"
  48.       value=\"DALEJ->\"></h3></center></TD></TR><br>";
  49.  
  50.  
  51. PRINT"</TABLE>";
  52.        print"</form>";
  53.  
  54. }
  55.  
  56. else
  57. #jezeli niezalogowany uzytkownik znajdzie sie na
  58. #tej stronie to wyswietli mu sie komunikat:
  59. {print "Nie jestes zalogowany";
  60.    }
  61.     ?>
  62. </body>


Z góry dzięki za podpowiedzi
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 13:57