Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][css]Dopasowywanie pod A4
Forum PHP.pl > Forum > PHP
witch_king
Więc tak kolega poprosił mnie abym mu zrobił pewnien skrypt do sklepu.Prowadzi sklep i zamawiając towary musi przeglądac źle zrobione katalogi jakiś hurtowni.Teraz ja chciałbym zrobić mu baze gdzie będzie sobie dodował towary,które najczęściej zamawia.Następnie będzie rozglądał się po tym katalogu i wybierał towar i wpisywał liczbę sztuk.Następnie narysuje się mu tabelka z 3 kolumnami(numerowanie,naza_towaru,ilość_sztuk)no,ale tu pojawia się problem bo chciałbym aby to mieściło się na A4.
Tzn tworzy/tworzą się strony A4 na których to wszystko widnieje.U gory jest tylko nagłówek z nazwa firmy,a niżej ta tabelka.Jeśli będzie duża to chodzi mi o to,aby się podzieliło.Noi następnie,żeby to można było wydrukować bo to FAX'em potem pójdzie smile.gif

Może mi ktoś powiedzieć jak zrobić taki skrypt?Są chyba 2 sposoby.Albo wypluwanie na PDF albo zrobienie arkusza CSS dla drukarki,ale nie wiem jak to zrobić sad.gif
Może ktoś z wa swie.CHodzi tylko aby był u góry nagłówek noi ta tabelka z 3 kolumnami winksmiley.jpg

Z góry thxx.....

EDIT:
Chodzi mi o coś tkaiego jak Wersja Lo-Fi tego forum winksmiley.jpg
Indeo
W htmlu są specjalne polecenia dla łamania stron ale spod htmla używającego fonty o rożnej szerokości znaku nie będziesz nigdy wiedział w którym miejscu należy złamać stronę. HTML jest strasznie tępy jeśli chodzi o drukowanie i szczerze mówiąc najlepsze rozwiązanie to PDF. Jest jeszcze możliwość podpięcia list xml'owych pod worda, excela czy msacces (również dane z bazy danych przez ODBC) i stamtąd można ładnie sobie wszystko drukować. Przeglądarka to kiepskie źródło wydruków.
witch_king
A mógłbyś mi pokazać jak taki skrypt napisać? ;/ Bo jakoś nie moge znaleźć tego.Chodzi tylko o 3 kolumny+nagłówek u góry i ew.jak to nie problem to numerowanie strony np. 2 z 4..
in5ane
Ale jeżeli jemu chodzi o to, że dane ma wyciągać z bazy danych, no to nie ma problemu.
Bo robisz w while'u sobie IF'a i po sprawie..., tylko musisz sobie wyliczyć w pixelach ile ma kartka tongue.gif
witch_king
Ale jak dac wymiary strony?Powiedzmy,że karta ma np.dł.bok o wymiarach 950px noi teraz jak się wymiaruje strone?
if($szerokosc<$x) ale co w tą zmienną $x wstawic?
in5ane
Ech... hmm..
zrób sobie IFRAME o wymiarach strony A4, w to wpieprz tabelkę (również w wymiarach strony A4) i jak ktoś będzie chciał drukować to ma drukować IFRAME (oczywiście to wszystko w WHILE'u)
witch_king
Założyłem,że kartka A4 ma wymiary 500x500px dla testów..Zrobiłem tak jak powiedzialeś,ale jaki zrobić warunek do drugiego while,żeby tworzył nowe IFRAME? Bo jakoś nie moge to wymyślić ;/
Zrobiłem coś takiego:
  1. <?php 
  2. //Plik przetworz.php
  3.  
  4.  
  5. echo "<iframe src=\"news.php\" width=\"500\" height=\"500\"></iframe>";
  6.  
  7.  
  8. ?>

i news.php w którym są pobierane dane:
  1. <?php
  2. //plik news.php
  3. include('inc/config.php');
  4. $hurt = 1;
  5. $towary = mysql_query("SELECT * FROM towary WHERE hurt_id =$hurt");
  6.  
  7.  
  8. echo '<table width="500" height="500" border="5"><tr><td>ID</td><td>Nazwa</td></tr></tr>';
  9. while($t = mysql_fetch_assoc($towary)){
  10. echo '<tr><td>'.$t[id].'</td><td>'.$t[towar].'</td></tr> ';
  11. }
  12. echo "</table>";
  13.  
  14.  
  15. ?>

Niestety tworzy się jedno IFRAME ;/
zimi
chciałbym przypomnieć że kartka A4 ma swoje wymiary w CM! i w CSS można korzystać w wymiarowaniu z CM! myślę że to się przyda smile.gif
czyli ustawić tabelkę która ma szerokość 16 cm (21 - marginesy)
i nie powinno być problemu
poza tym jak zajrzałem na specyfikację CSS zauważyłem coś takiego http://www.w3.org/TR/CSS21/page.html#page-box
do styli na stronie trzeba dorzucić chyba media="print" w elemencie <link> jeśli niczego nie pomieszałem
i bezpośrednio z przeglądarki można sobie ładnie drukować...
witch_king
Cytat(zimi @ 6.01.2008, 17:48:42 ) *
chciałbym przypomnieć że kartka A4 ma swoje wymiary w CM! i w CSS można korzystać w wymiarowaniu z CM! myślę że to się przyda smile.gif
czyli ustawić tabelkę która ma szerokość 16 cm (21 - marginesy)
i nie powinno być problemu
poza tym jak zajrzałem na specyfikację CSS zauważyłem coś takiego http://www.w3.org/TR/CSS21/page.html#page-box
do styli na stronie trzeba dorzucić chyba media="print" w elemencie <link> jeśli niczego nie pomieszałem
i bezpośrednio z przeglądarki można sobie ładnie drukować...


Ok powiedzmy,że to dam,ale czy czasem wtedy nie będzie mi ucinało tego co chce?

I na tej stronie nie pisze chyba prawie nic o tym..Jest tylko margines 3cm..Może mi ktoś pokazać kompletny taki styl CSS?
zimi
zasadniczo jeśli ograniczysz szerokość komórki w HTML do konkretnego rozmiaru to jeśli tekst jest za długi przeniesie się do następnej linii, jeśli tabelka jest za długa prawdopodobnie rozciągnie się na kilka stron... nie wiem co ma Ci przyciąć
zresztą jak to ktoś ładnie powiedział: "wróżki są na urlopie"
chwilowo jakoś nie bardzo powiedziałeś czego nie chcesz aby ucięło biggrin.gif:P
Virti
Kod
table{ width: [szerokość strony a4]cm; }
No chyba, że źle zrozumiałem...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.