Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytania do kilku tabel na jednej stronie
yugodriver
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 2.11.2007
Skąd: Ciechanów

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


Witam

Robię na zaliczenie stronkę. Już mam prawie wszystko ukończone. Na drodze staneła mi tylko jedna przeszkoda. Jak zrobić żeby na jesnej stonie wyświetlały mi się wyniki zapytań z kilku tabel?

Chciałbm żeby efekt końcowy wyglądal następująco:

Cytat
Imie i nazwisko: (tutaj żeby pobierało z tabeli student wartość pola imie i nazwisko)
Adres: (tutaj żeby pobierało z tabeli student wartość pola adres)
Pesel: (wartosć pola pesel z tabeli student)
Student (wartość pola rok_studiow z tabeli student). roku studiów na kierunku (wartość pola kierunek z tabeli student).
Nr indeksu: (wartosć pola id_index z tabeli student)

W tym miejcu chciałbym wstawić tabelkę. Jednak nie bardzo wiem jak robić bo chciałbym żeby nazwy kolumn w tabelce byly inne niż w bazie:

---------------------------------------------
|Nazwa przedmiotu|Wykładowca|Sesja|Ocena| - tak bym chciał żeby nazywały się kolumny które widzi użytkownik
---------------------------------------------
W pierwszej kolumnie chciałbm żeby wyświetlało się pole id_przedmiot z tabeli przedmioty. W drugiej kolumnie stopień, imię i nazwisko z tabeli pracownik, w trzeciej wartość termin z tabeli oceny i ostatniej wartość ocena z tabeli oceny.

Na końcu chciałbym żeby pojawialo się zdanie w zależności od wartośći pola czesne w tabeli student. Jeżeli wartosć tego pola wynosi tak to żeby zdanie nie pojawiało się. Jeżeli wartość pola jest równa nie to żeby pojawiało się zdanie: Czesne nie zostało wpłacone.


Baza danych wygląda w następujący sposób:

  1. CREATE TABLE oceny(
  2. id_oceny INTEGER(1)PRIMARY KEY,
  3. id_przedmiot CHAR(5)NOT NULL,
  4. ocena INTEGER(1)NOT NULL,
  5. termin VARCHAR(10) NOT NULL,
  6. id_index CHAR(5) NOT NULL REFERENCES student
  7. );
  8.  
  9. CREATE TABLE pracownik(
  10. id_pracownika INTEGER(1)PRIMARY KEY,
  11. imie VARCHAR(15),
  12. nazwisko VARCHAR(30) NOT NULL,
  13. stopien VARCHAR(5),
  14. id_przedmiot CHAR(20)
  15. );
  16.  
  17. CREATE TABLE przedmioty(
  18. id_przedmiot CHAR(20)PRIMARY KEY,
  19. nazwa_przedmiot VARCHAR(15),
  20. id_pracownika VARCHAR(5),
  21. godziny INTEGER(1),
  22. cwiczenia VARCHAR(5)
  23. );
  24.  
  25. CREATE TABLE student(
  26. imie VARCHAR(15),
  27. nazwisko VARCHAR(32) NOT NULL,
  28. id_index CHAR(5) PRIMARY KEY REFERENCES Oceny,
  29. rok_studiow INTEGER(1),
  30. kierunek VARCHAR(50),
  31. pesel CHAR(11),
  32. czesne VARCHAR(10),
  33. adres VARCHAR(15)
  34. );


Łączenie i rozłaczne z bazą mam w oddzielnym pliku o nazwie funkcja.php

  1. <?php
  2.  
  3. $conn = 0;
  4.  
  5. function polacz() {
  6.  
  7. global $conn;
  8.  
  9.  
  10. if (($conn = mysql_connect('adres bazy danych', 'login', 'haslo')) == 0)
  11. die ('Nie można połączyć z bazą danych: ' . mysql_error());
  12. echo '<center> </center>';
  13.  
  14.  // Wybor bazy danych
  15. if (mysql_select_db('login') == 0)
  16.  die ('Nie można wybrać bazy danych');
  17. echo '<center> </center>';
  18. };
  19. function rozlacz() {
  20.  
  21. global $conn;
  22.  
  23. mysql_close($conn);
  24. echo ' ';
  25. };
  26.  
  27. // Komunikat
  28. function komunikat($napis, $kolor) {
  29. echo "<FONT color=$kolor>";
  30. echo "<CENTER><BR><BR><H1>".
  31.  "$napis".
  32.  "</H1></CENTER>";
  33. echo "</FONT>";
  34.  
  35. };
  36.  
  37. ?>


Natomiast strona z której bede się logował do tej strony którą chcę zrobić wygląda tak:
  1.  
  2. </head>
  3.  
  4. <body style="background-color: #99ff66;">
  5. <?php
  6. include 'funkcja.php';
  7. polacz();
  8.  
  9. ?>
  10.  
  11. <form METHOD="GET" ACTION="infost.php"><center>
  12. <p>Wpisz nr indeksu</p>
  13. <input type="tekst" name="id_index"><br>
  14.  
  15.  
  16. <INPUT TYPE="submit" NAME="ok" VALUE="OK">
  17. </form>
  18.  
  19.  
  20. <?php
  21. rozlacz();
  22. ?>
  23.  
  24. <hr>
  25. </body>
  26. </html>


Bardzo proszę o pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
yugodriver
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 2.11.2007
Skąd: Ciechanów

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


strona teraz wyglada w ten sposób:

  1. <HTML>
  2. <HEAD>
  3. <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; CHARSET=Windows-1250">
  4.  
  5. <TITLE>Informacje dla studenta</TITLE>
  6. </HEAD>
  7. <body style="background-color: #99ff66;" >
  8.  
  9. <?php
  10. include 'funkcja.php';
  11.  
  12. polacz();
  13.  
  14.  
  15. $stmt = mysql_query("SELECT * FROM `student` WHERE id_index = '$tutaj_ID_Indeksu' ");
  16.  
  17. $dane = mysql_fetch_assoc($stmt);
  18.  
  19. echo "Imie i nazwisko: {$dane['imie']} {$dane['nazwisko']} <br />
  20. Adres: {$dane['adres']} <br />
  21. Pesel: {$dane['pesel']} <br />
  22. Student {$dane['rok_studiow']} roku studiów na kierunku {$dane['kierunek']}.
  23. Nr indeksu: {$dane['id_index']}";
  24.  
  25. unset($stmt);
  26. $stmt = mysql_query("SELECT przedmioty.id_przedmiot as id, ocena, oceny.termin as termin, pracow
    nik.stopien as stopien, prawconik.imie, pracownik.nazwisko FROM oceny, przedmioty
    , pracownik WHERE ocena.id_index = '$tutaj_id_indexu' and ocena.id_przedmiot = przedmioty.id_przedmiot and przedmioty.id_pracownika =
     pracownik.id_pracownika"
    );
  27.  
  28.  
  29. echo '<table>
  30.  <tr> 
  31.  <th>Nazwa przedmiotu</th>
  32.  <th>Wykładowca</th>
  33.  <th>Sesja</th>
  34.  <th>Ocena</th>
  35.  </tr>';
  36.  
  37. while($row = mysql_fetch_assoc($stmt)){
  38. echo '<tr><td>'.$row['id'].'</td><td>'.$row['stopien'].' '.$row['imie'].' '.$row['nazwisko'].'</td><td>'.$row['termin'].'</td><td>'.$row['ocena'].'</td></tr>';
  39. }
  40.  
  41. echo '</table>';
  42.  
  43. if($dane['czesne'] != 'tak') {
  44. echo 'Czesne nie zostało wpłacone';
  45. }
  46.  
  47.  
  48.  
  49.  
  50. // Zwalnianie pamięci
  51. mysql_free_result($result); 
  52.  
  53. rozlacz();
  54.  
  55. ?>
  56. <br><br><br><a href="index.php">wyloguj
  57. </BODY>
  58. </HTML>

A poniżej 2 przykładowe zapytania:

http://www.dzienniklekcyjny.yoyo.pl/infost...33816&ok=OK
http://www.dzienniklekcyjny.yoyo.pl/infost...33817&ok=OK

Nie potrafię znaleść błędu (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował yugodriver 10.01.2008, 13:06:04
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: 6.10.2025 - 03:21