Otóż mam dwie tabele: User (z nazwami użytkowników) i Dzial (z nazwami działów). W tabeli Dzial mam m. in. pola: ID_User (z kluczem obcym odwołującym się do pola ID w tabeli User) oraz ID_User_mod (ID użytkownika, który zmodyfikował dział, z kluczem obcym również odwołującym się do pola ID w tabeli User).
Pytanie: W jaki sposób wyciągnąć dwa razy (lub więcej) z tabeli User: Imię i Nazwisko (tabela User zawiera takie pola), dla różnych ID Usera (jedno dla ID_User - autora działu, a drugie dla ID_User_mod dla osoby, która zmodyfikowała dział)?
Oto mój kod:
<?php { include ('db.php'); echo' <div class="sortuj"> <form method="POST" action="index.php?dzial=panel&link=show_dzial">Sortuj według: <select name="action"> <option selected="selected">' . $_POST['action'] . '</option> <option name="tytul_asc" value="Tytułu rosnąco">Tytułu rosnąco</option> <option name="tytul_desc" value="Tytułu malejąco">Tytułu malejąco</option> <option name="tresc_asc" value="Treści rosnąco">Treści rosnąco</option> <option name="tresc_desc" value="Treści malejąco">Treści malejąco</option> <option name="autor_asc" value="Autora rosnąco">Autora rosnąco</option> <option name="autor_desc" value="Autora rosnąco">Autora malejąco</option> <option name="data_utw_asc" value="Daty utworzenia rosnąco">Daty utworzenia rosnąco</option> <option name="data_utw_desc" value="Daty utworzenia malejąco">Daty utworzenia malejąco</option> <option name="mod_asc" value="Autora modyfikacji rosnąco">Autora modyfikacji rosnąco</option> <option name="mod_rejestr_desc" value="Autora modyfikacji malejąco">Autora modyfikacji malejąco </option> <option name="data_mod_asc" value="Daty modyfikacji rosnąco">Daty modyfikacji rosnąco</option> <option name="data_mod_desc" value="Daty modyfikacji malejąco">Daty modyfikacji malejąco</option> </select>'; $sql = 'SELECT * FROM `Dzial`, `User` WHERE Dzial.ID_Parent BETWEEN 1 AND 7 AND User.ID = Dzial.ID_User ORDER BY '; switch ($_POST['action']) { case 'Tytułu rosnąco': $sql .= 'Tytul ASC'; break; case 'Tytułu malejąco': $sql .= 'Tytul DESC'; break; case 'Treści rosnąco': $sql .= 'Tresc ASC'; break; case 'Treści malejąco': $sql .= 'Tresc DESC'; break; case 'Autora rosnąco': $sql .= 'ID_User ASC'; break; case 'Autora malejąco': $sql .= 'ID_User DESC'; break; case 'Daty utworzenia rosnąco': $sql .= 'Data_utw ASC'; break; case 'Daty utworzenia malejąco': $sql .= 'Data_utw DESC'; break; case 'Autora modyfikacji rosnąco': $sql .= 'ID_User_Mod ASC'; break; case 'Autora modyfikacji malejąco': $sql .= 'ID_User_Mod DESC'; break; case 'Daty modyfikacji rosnąco': $sql .= 'Data_modyf ASC'; break; case 'Daty modyfikacji malejąco': $sql .= 'Data_modyf DESC'; break; default: $sql .= 'Tytul ASC'; break; } echo ' <input type="submit" value="Sortuj" class="button_sortuj"> </form> </div>'; echo '<table class="table_content"> <tr class="table_header"> <td> Lp. </td> <td> Tytuł </td> <td> Treść </td> <td> Autor działu </td> <td> Data utworzenia </td> <td> Zmodyfikował </td> <td> Data modyfikacji </td> </tr> '; $licznik=1; /* liczba porządkowa - zaczynamy od liczby 1*/ { echo ' <tr> <td class="table_row_center"> ' . $licznik . ' </td> <td class="table_row_left"> ' . $row['Tytul'] . ' </td> <td class="table_row_left"> ' . $row['Tresc'] . ' </td> <td class="table_row_left"> ' . $row['Imie'] . ' ' . $row['Nazwisko'] .' </td> <td class="table_row_center"> ' . $row['Data_utw'] . ' </td> '; echo' <td class="table_row_left">'; if($row['ID_User_mod']!=NULL) { //echo $row['Imie']; //echo $row['Nazwisko']; } else { } echo ' </td> <td class="table_row_center">'; if($row['Data_modyf']!=NULL) { } else { } echo ' </td> </tr> '; $licznik++; } /* po zakończeniu każdego wiersza z tabeli zwiększamy liczbę porządkową o 1, aby kolejny wiersz miał większą liczbę porządkową */ } else { echo 'Dostęp tylko dla zalogowanych użytkowników! <a href="index.php?dzial=panel" class="blank_link">Zaloguj się</a>'; } ?>
Chodzi głównie o zapytanie w sql.
$sql = 'SELECT * FROM `Dzial`, `User` WHERE Dzial.ID_Parent BETWEEN 1 AND 7 AND User.ID = Dzial.ID_User AND ORDER BY ';
Może podzielić to na dwa zapytania? Ale w jaki sposób później wstawić obydwa zapytania do jednej tabeli?
Z góry dzięki za pomoc.