![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 16.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
mam baze danych do której łącze się za pomocą php
wszytskie dane wczytywane są z formularzy HTML (plik1), metodą POST przekazywany do drugiego pliku, gdzie odpowiedni kod php sprawdza dane i wrzuca je do bazy danych, a następnie wywoływany jest trzeci plik wyświeltlający zawartość danej (aktualnie modyfikowanej tabeli)... wszytsko działa pięknie i bez problemu mój problem polega na tym, że tabel ( w tym i formularzy do wpisywania do nich) mam około 16 ( z czasem może będzie nawet więcej) i tworzenie trzech plików dla każdej... wydaje mi się troche nadmiarowe... szczególnie chodzi mi o plik wyświeltający zawartości tabel... plik wyświetlający tabele ma prostą postać: najpierw wyrzuca etykiety kolumn (często inne niż nazwy kolumn w tabeli/bazie danych), a następnie prostymi pętlami "for" wyświetla całą zawartość tabeli. Kliknięcie na nagłówek danej kolumny powoduje przesortowanie tabeli względem tej właśnie kolumny. wymyśliłam trzy rozwiązania mojego problemu i chciałabym, aby doświadczenie php'owcy podpowiedzieli mi które jest lepsze... 1) stworzyć jeden plik do wyświetlania wszystich tabel, gdzie wczytując zmienną $table będę decydować, która tablica jest wyświetlana wady: trzeba by przy pomocy "if" sprawdzać która to tabela by wydrukawać inne nagłówki kolumn dla każdej tabeli 2) stworzyc w bazie danych nową tabelę, gdzie będą przechowywane (tablica, nazwa kolumny, etykieta kolumny) i stąd pobierać etykiety - to również realizowane w jednym pliku php 3) stworzyć poprostu 16 plików, każdy do drukowania osobnej tabeli z góry za wszelką pomoc |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 789 Pomógł: 41 Dołączył: 30.10.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Pokaż kod tych trzech plików, to może coś wykombinujemy, bo niestety mój interpretor php nie sygnalizuje kodu php w Twoim poście (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 16.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
tego kodu jest dużo... więc w skrócie... przykładowy (uproszczony) jeden zestaw trzech plików
plik 1 (formularz hltm) <form action="plik2.php" target="srodek" method="post"> <input name="imie" type="text"> <input name="nazwisko" type="text"> <input name="miejcowosc" type="text"> <input value="Dodaj" type="submit"> <input value="Wyczysć" type="reset"> </form> plik2 (wczytywanie do bazy danych) <?php $jest=0; $zimie=$_POST['imie']; $znazw=$_POST['nazwisko']; $zmiej=$_POST['miejsowosc']; ....// omijam sprawdzanie danych i łaczenie z bazą $result = pg_exec($db, "INSERT INTO uczestnik (imie, nazwisko, miejscowosc) VALUES ('$zimie', '$znazw', '$zmiej', );"); .... include ("lista.php") ;?> plik3 - lista <?php $db = pg_connect.... if ( !empty( $db )) { if ($_REQUEST['order']==NULL) { $order="uczestnik_id" ; } else {$order=$_REQUEST['order']; }; $query = "select * from uczestnik order by $order"; $select = pg_exec($db , $query); print '<table style="width: 100%; text-align: left;" border="0" cellpadding="2" cellspacing="2">'; print' <tbody> <tr> <td class="nr"> <br> </td> <td class="nr"> <a href="lista.php?order=imie " >Imię:</a> <br> </td> <td class="nr"> <a href="ucz_lista.php?order=nazwisko" >Nazwisko: </a><br> </td> <td class="nr"> <a href="ucz_lista.php?order=miejscowosc" >Miasto: </a><br> </td> </tr>'; for ($row = 0; $row<pg_numrows($select); $row++) { print ' <tr>'; print ' <td class="nr">'; $nr=$row+1; echo " $nr"; print '<br> </td> '; for ($col=1; $col < pg_numfields($select); $col++) { if ($row%2==0) { print ' <td class="jasne">';} else { print ' <td class="ciemne">';} $krotka = pg_result($select, $row, $col). " "; echo "$krotka" ; print '<br> </td> '; } print ' </tr>'; } print ' </tbody> </table>'; pg_freeresult($select); } else { print ("Błąd przy podłączeniu bazy danych") ;} pg_close($db); ?> część kodu (moim zdaniem mniej ważnego wyciełam) ale mam nadzieje ze z tego juz cos widac to jest jeden zestaw do wyswietlania ludzików... ale innych rzeczy(tabel) które bede musiała wyswietlac jest wiecej.... |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 14:17 |