![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Jestem początkujący w te klocki więc i średnio mi idzie... chce zrobić przykładową podstronę która korzystając z bazy danych odczyta rekordy. Utworzyłem bazę która wygląda następująco:
do tego zapelnilem ja paroma przykladowymi rekordami:
No i chcialem to wyświetlić w tabeli która wyglądała by następująco... w pierwszym wierszu wpisuje nazwy podkategorii linków ręcznie (jest ich 5). Natomiast pod pierwszym wierszem stworzyć pętle która wyczytała by z bazy rekordy i wstawiała je w nowych wierwszach. To co napisałem wygląda tak:
Kod troche działa ![]() ![]()
Powód edycji: Poprawiłem bbCode / ociu
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 85 Pomógł: 4 Dołączył: 1.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj o relacyjnych bazach danych o relacjach wiele do wielu jak się łączy tabele w mysql za pomocą np JOIN LEFT.
-------------------- Space Studio
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Co nie co wiem jak działa JOIN LEFT ale mimo wszystko poczytałem więcej jak doradziłeś... bardzo fajnie opisuje relację między tabelami ten artykuł: http://aylard.viawww.pl/2009/01/01/mysql-relacje/ ale mimo wszystko on nie daje mi jednoznacznej odpowiedzi. Wiem jak te tabele połączyć ale po co je łączyć? Chce tylko żeby rekordy z tych tabel były odczytane osobno (więc nie trzeba ich łączyć) i tylko wypisać całą zawartość z pola nazwatabeli_nazwa każdej tabeli. Mam nadzieje, że rozumiesz o co mi chodzi bo trochę ciężko mi to wytłumaczyć
![]() Problem rozwiązany... po długich męczarniach doszedłem do tego jak to zrobić ![]() CODE <html> <head> </head> <body> <?php $link = mysql_connect("localhost", "root", "") or die("Sprawdz połączenie z serwerem! " . mysql_error()); mysql_select_db("linki") or die("Sprawdz wybraną bazę! " . mysql_error()); $dystrybucje = "SELECT dystrybucje_nazwa, dystrybucje_adres " . "FROM dystrybucje"; $result = mysql_query($dystrybucje) or die("Sprawdz rezultat! " . mysql_error()); $linux = "SELECT linux_nazwa, linux_adres " . "FROM linux"; $result2 = mysql_query($linux) or die("Sprawdz rezultat 2! " . mysql_error()); $programy = "SELECT programy_nazwa, programy_adres " . "FROM programy"; $result3 = mysql_query($programy) or die("Sprawdz rezultat 3! " . mysql_error()); $sklepy = "SELECT sklepy_nazwa, sklepy_adres " . "FROM sklepy"; $result4 = mysql_query($sklepy) or die("Sprawdz rezultat 4! " . mysql_error()); $inne = "SELECT inne_nazwa, inne_adres " . "FROM inne"; $result5 = mysql_query($inne) or die("Sprawdz rezultat 5! " . mysql_error()); $koniec = "</tr></table>"; $kolumna = "<td valign=\"top\">"; $kolumnak = "</td>"; $naglowek=<<<EOD <table cellpading="0" cellspacing="0" border="1" align="center"> <tr> <td>Dystrybucje</td> <td>Strony o Linuksie</td> <td>Programy</td> <td>Sklepy</td> <td>Inne</td> </tr> <tr> EOD; $pierwsza = ''; while($row = mysql_fetch_array($result)) { $dystrybucja = $row['dystrybucje_nazwa']; $d_adres = $row['dystrybucje_adres']; $pierwsza .=<<<EOD <a href=$d_adres>$dystrybucja</a><br /> EOD; } $druga = ''; while($row2 = mysql_fetch_array($result2)) { $linux_linki = $row2['linux_nazwa']; $l_adres = $row2['linux_adres']; $druga .=<<<EOD <a href=$l_adres>$linux_linki</a><br /> EOD; } $trzecia = ''; while($row3 = mysql_fetch_array($result3)) { $programy_linki = $row3['programy_nazwa']; $p_adres = $row3['programy_adres']; $trzecia .=<<<EOD <a href=$p_adres>$programy_linki</a><br /> EOD; } $czwarta = ''; while($row4 = mysql_fetch_array($result4)) { $sklepy_linki = $row4['sklepy_nazwa']; $s_adres = $row4['sklepy_adres']; $czwarta .=<<<EOD <a href=$s_adres>$sklepy_linki</a><br /> EOD; } $piata = ''; while($row5 = mysql_fetch_array($result5)) { $inne_linki = $row5['inne_nazwa']; $i_adres = $row5['inne_adres']; $piata .=<<<EOD <a href=$i_adres>$inne_linki</a><br /> EOD; } $tabela =<<<EOD $naglowek $kolumna $pierwsza $kolumnak $kolumna $druga $kolumnak $kolumna $trzecia $kolumnak $kolumna $czwarta $kolumnak $kolumna $piata $kolumnak $koniec EOD; echo $tabela; ?> </body> </html> I teraz taka mała prośba do was... przez to ze dopiero się uczę, mój kod wygląda jak wygląda. Jeśli macie pomysły jak przerobić go tak aby działał sprawniej i był bardziej przejrzysty piszcie. Z góry dzięki, pozdrawiam. Ten post edytował Zagiewa 13.08.2009, 13:22:37 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 85 Pomógł: 4 Dołączył: 1.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem co chcesz zrobić ale chyba nie rozumiem logiki nie musisz np połączyć sklepu z dystrybucjami ? a co będzie jak będziesz chciał dodać do jakiejś dystrybucji jeszcze dwa sklepy ?
-------------------- Space Studio
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 0 Dołączył: 12.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
każda kolumna w tabeli (html) czyli: dystrybucje, linux, programy, sklepy, inne to oddzielne niezależne od siebie kategorie zawierające linki do konkretnych stron internetowych więc gdy będę chciał dodać do którejkolwiek z tych kategorii jakiś nowy link to odniosę się do konkretnej tabeli w bazie np. programy utworze nowy rekord a pętla już mi go sama wyświetli.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.07.2025 - 07:26 |