Sziasztok!
Igazából a kezdő programozó fórumba is beleillene a kérdésem, de inkább tematikusan akartam elhelyezni. Röviden php-vel szeretnék nyomtatványt kitölteni, adatbázist felépítve az adatoknak. Végigfutottam a hup-ot, kerestem a google-val is, de biztos nem jól. A következőt szeretném:
-adott egy formanyomtatvány, amit ki kell tölteni (nem tollal szeretném)
-php űrlap, mysql adatbázissal, alapadatok adatbázisba mentési lehetőségével (ez kell nekem)
-a kitöltött ürlap tárolása (mysql), pdf-be konvertálása (a formátum igazából mindegy, de talán ez adja a legjobb eredményt) és pontos nyomtatása a nyomtatványra
- a mysql adatbázis az alapadatokat és a nyomtatvány már kitöltött mezőit jegyezze meg, és ha új mezőket kell kitölteni, akkor "tudja", hogy mi volt már nyomtatva, és csak az új adatokat nyomtassa rá a részben kitöltött nyomtatványra.
Azt hiszem, nem kis falat, főleg egy kezdőnek, szabadidőben. Tudnátok segíteni, hogy a php és mysql ismereteken kívül (mindkettőhöz van "...24 óra alatt" könyvem) mire lenne még szükségem illetve hol találom? Gyanús, hogy lennie kell a neten már ilyen kész megoldásnak, de vajon hol?
Remélem sikerült jól körbeírnom a feladatot, ha nem, várom a kérdéseket is, pontosítok.
Előre is köszönöm a segítséget!
- 4109 megtekintés
Hozzászólások
Üdv!
Először is: a "...24 óra alatt" típusú könyvek ehhez kevesek.
Másrészt a problémádat az okozza, hogy a html kimenetnek nem tudod meghatározni hogy hol van vége egy oldalnak.
Ehhez használható a html2ps, de fix méreteknél problémás. Javaslom, hogy tedd le a kimenetet egy előre összeállított, megformázott tex-be, fordítsd le dvi-nek, és futtasd rá a dvipdf-et. Ezzel elvileg már kezelhető az, hogy ha több oldalas is lenne a dolog (mivel dinamikus adattartalomnál nem tudod mennyi info kerül egy lapra vagy mezőbe...) akkor is szép és jó DBF-ek jönnek/jöhetnek ki.
A másik lehetőséged, ha tudod hogy pontosan hol, és mekkora adat lehet, hogy CSS-ben játszol a milliméterekkel, de az kissé macerás, és böngészőnként eltérhet (furcsa módon az 1mm nem minden böngészőnek 1mm...)
---
"A megoldásra kell koncentrálni nem a problémára."
- A hozzászóláshoz be kell jelentkezni
Többen írtátok, hogy a "...24 óra alatt" könyvek kevesek. Ezeket én is alapnak gondoltam, annak ugye jók?! Persze a netet kell nagyon bújni, mert ott lehet részltesen és gyorsan konkrét megoldást találni.
Az oldal vége nem érdekes, mivel azok papíron eleve adottak (papír nyomtatvány miatt), a mezők fixek. Ezért a második verzó kell nekem (tex-et sem kell még megtanulnom, huh...), a miliméteres problémáról halottam, ezt akarnám a pdf-el kijátszani (html to pdf)
Köszönöm a választ!
Kodmen
-------------------
...a Linux filozófiája: "Keresd a veszélyt". Hopp! Nem így van. "Csináld magad!" Ez az! (Linus Torvalds)
- A hozzászóláshoz be kell jelentkezni
Szia!
A PDF generálás részéhez: TCPDF - http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf
Csinálnom kellett egy rendeléskezelő rendszert, ott ezzel generálok minden PDF-et. Van még pár fajta, lehet fognak jobbat is írni, nekem ez megtetszett akkor valamiért.
Norbi
- A hozzászóláshoz be kell jelentkezni
Nagyon jónak tűnik, meg kell nézzem alaposabban, hogy tudok-e vele bánni...
Köszönöm!
Kodmen
-------------------
...a Linux filozófiája: "Keresd a veszélyt". Hopp! Nem így van. "Csináld magad!" Ez az! (Linus Torvalds)
- A hozzászóláshoz be kell jelentkezni
Mysql és php ismereteken kívül nemnagyon kell semmi.
Viszont ehhez a feladathoz szerintem kevés az a 2 könyv..
pch
--
http://www.buster.hu
--
- A hozzászóláshoz be kell jelentkezni
Nyomtatásra a TCPDF-et javaslom: http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf_examples
csak egy ötlet a kitöltött mező nyomtatott flag jelzésre: az első pozíción valami extra karakterrel tárold, hogy volt-e nyomtatva.
- A hozzászóláshoz be kell jelentkezni
Ha már úgyis van mögötte relációs adatbázis, akkor nem biztasd már gányolásra. Tessék rendesen megadni a neki szükséges táblát, oszlopot, ami kell.
- A hozzászóláshoz be kell jelentkezni
Hasolnóképp gondoltam én is, a mysql adathoz rendelni még egy cellát 0 vagy 1 értékkel: 0= a cella még üres, 1= a cella már ki van töltve.
Köszönöm az eddigi ötleteket mindenkinek! A pdf konvertálás rész jól halad, ha jól sejtem a következő a teendő:
- adatokból html generálás (css nem kell, mert a keretek, szövegek rajta vannak a nyomtatványon)
- html-ből pdf készítés
- pdf tárolása, nyomtatása
Ami még kérdéses, hogy hogyan kell / lehet a php űrlapot és hozzá a mysql táblát elkészíteni, összekapcsolni őket. Ehhez tudnátok segítséget nyújtani, miket olvassak el, nézzek meg?
Szívesen veszek minden ötletet, linket leíráshoz.
Köszönöm!
Kodmen
-------------------
...a Linux filozófiája: "Keresd a veszélyt". Hopp! Nem így van. "Csináld magad!" Ez az! (Linus Torvalds)
- A hozzászóláshoz be kell jelentkezni
A html-ből nem kell pdf-et generálni. Nyomtatáskor az adatbázisból szedd ki az adatokat pl.: jelzett link-en example28-ba tegyél egy sql lekérdezést, aztán egy ciklussal mehet ki formázva, arra a pozícióra, ahová kell. Persze, ha kell!
- A hozzászóláshoz be kell jelentkezni
Ööö.. megfogtál! A fent javasolt eszközzel (TCPDF) megvalósítható, hogy adatbázisból egyből a pdf-be kerüljön az adat? Hogyan lesz megformázva, hogy a lapon hova kell kerüljön? Be kell szkennelni pdf-be, és ott kialakítani mezőket, vagy hogy? Vagy előre fel kell építeni a nyomtatványt pdf-be legeneráló "szkriptet", és ebbe beilleszteni az adatokat?
Bocs, ha nagyon sötéteket kérdezek, de tényleg csak tapogatózok...
Köszönöm!
Kodmen
-------------------
...a Linux filozófiája: "Keresd a veszélyt". Hopp! Nem így van. "Csináld magad!" Ez az! (Linus Torvalds)
- A hozzászóláshoz be kell jelentkezni
"-adott egy formanyomtatvány, amit ki kell tölteni (nem tollal szeretném)"
Ha jól értem, akkor xy pozíciókra kell nyomtatnod. Változhat a formanyomtatvány? El kell tárolnod a formanyomtatványt is?
- A hozzászóláshoz be kell jelentkezni
Csatlakozom.
Ha nem akarod eltárolni szöveges formában, akkor a pdf konverzióval több dolgod lesz, mintha HTMLből nyomtatnád ki nyesen.
Viszont azt ne feledd, hogy a HTML nyomtatásnál a táblázatos layout a nyerő.
- A hozzászóláshoz be kell jelentkezni
"Hasolnóképp gondoltam én is, a mysql adathoz rendelni még egy cellát 0 vagy 1 értékkel: 0= a cella még üres, 1= a cella már ki van töltve."
Tanulgass még SQL-t. Erre van a NULL érték.
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Mint írtam kezdő vagyok, sql-t eddig kétszer láttam (illetve többször) php myadmin-ban. Természetesen tanulási céllal nyitottam a szálat.
De örömmel látom, hogy profik is olvassák, szívesen fogadom a segítségüket! Nem kérem, hogy írd le, hogyan kell a NULL értéket használni (feleslegesen nem rabolnám senki ideját), ha odajutok megnézem és használom, köszi!
Kodmen
-------------------
...a Linux filozófiája: "Keresd a veszélyt". Hopp! Nem így van. "Csináld magad!" Ez az! (Linus Torvalds)
- A hozzászóláshoz be kell jelentkezni
Ha egy mezőt úgy hozol létre, hogy annak NULL értéke is lehet (ne NOT NULL -l), akkor tudod használni a NULL "értéket". Ezzel tudod jelezni, hogy a mező üres.
Arra figyelj, hogy a NULL esetén máshogy megy az összehasonlítás, ha SQL-ből csinálod, mert nem használhatod a <, >, = -t, helyette az IS NULL/IS NOT NULL van.
PHP-ben már használhatod a ===/!== null kifejezést. (Célszerű típusbiztosan ellenőrizni).
Egyébként ezek alap dolgok.
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
Ha jól értem NULL "értéke" egy létrehozott, de értékkel még el nem látott változónak van? Ez ismerős a bash-ból.
Kodmen
-------------------
...a Linux filozófiája: "Keresd a veszélyt". Hopp! Nem így van. "Csináld magad!" Ez az! (Linus Torvalds)
- A hozzászóláshoz be kell jelentkezni
Valami ilyesmi, de nem teljesen. A NULL egy mindentol kulonbozo ertek, kesobb is adhatod neki. Tehat pl egy string ha ures, az meg nem Null, de egy stringet allithatsz NULL-ra kesobb is, igy van ket megkulonboztetheto allapotod ugy, hogy nem tartalmaz "semmit".
- A hozzászóláshoz be kell jelentkezni
Köszi!
Most, hogy így a string-et emlegetted, rémlik valami, olvastam a fent nevezett könyvben, csak még régebben, és nem is jutottam csak a 7. óráig... :-) Akkor ezt fogom használni. Direk jó, ha mondjuk valamiért meg akarom különböztetni a mezőket, egyből látszik, hogy érintetlen mezőről van szó.
Kodmen
-------------------
...a Linux filozófiája: "Keresd a veszélyt". Hopp! Nem így van. "Csináld magad!" Ez az! (Linus Torvalds)
- A hozzászóláshoz be kell jelentkezni
Hozzá lehet rakni CHECK-t, hogy ne lehessen üres stringet felvinni. Egyébként az adat-validációt a programban (is) illene megcsinálni...
----------------
Lvl86 Troll
- A hozzászóláshoz be kell jelentkezni
php-mysql osszelovese mintha benne lenne a 24-esekben. Vagy ezen az oldalon a php es mysql reszt gyorsan vegig lehet lepkedni kezdesnek: http://w3schools.com/
- A hozzászóláshoz be kell jelentkezni
Én azt csináltam, hogy fogtam a nyomtatványt üresen, csináltam belőle pdf-formot, aztán az fdf-toolkitet használva "töltöttem ki" a pdf-formot, amit a böngésző megkapott.
- A hozzászóláshoz be kell jelentkezni
... vagy megspórolod magadnak a fejfájást, és google docsban elkészíted az űrlapot, a jelentést, a PDFet :)
- A hozzászóláshoz be kell jelentkezni
Én vagy három éve csináltam ilyesmit html2fpdf-el.
Egyszerűen a kimenetet amit pdf-be akartam, beleraktam egy string-be gondosan vigyázva, hogy csak olyan html tag- ok legyenek benne amit ő is ért, átadtam neki és ennyi. Lehet benne lábléc, fejléc, kép és alap html tag ok. Mindez csak egy php könyvtár a szerverre.
- A hozzászóláshoz be kell jelentkezni