Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΤΜΗΜΑ. Λυμπερίδης Αντώνιος ΜΑΙΟΣ 2008. ΕΠΟΠΤΗΣ ΚΑΘΗΓΗΤΗΣ Βασίλειος Χατζής



Σχετικά έγγραφα
ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

Σχεδιασμός Βάσεων Δεδομένων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. 1 ο ΣΧΟΛΕΙΟ ΚΩΔΙΚΑ «Βασικά Θέματα Προγραμματισμού στην Ανάπτυξη Δυναμικών Διαδικτυακών Εφαρμογών» (Part 3) Ουρανία Σμυρνάκη

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ.Ε.

Προγραμματισμός διαδικτυακών εφαρμογών με PHP

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Τεχνικός Εφαρμογών Πληροφορικής

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι

ΟΝΟΜΑ : ΚΩΝΣΤΑΝΤΙΝΟΣ ΕΠΩΝΥΜΟ : ΚΟΚΟΛΟΓΟΣ Α.Μ. : Ε11060 ΕΞΑΜΗΝΟ : ΕΠΙ ΠΤΥΧΙΟ ΤΜΗΜΑ : ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΜΑΘΗΜΑ : ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΘΕΜΑ : ΕΦΑΡΜΟΓΗ

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15

databases linux - terminal (linux / windows terminal)

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access

website guide B2B e-shop

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Πληροφορική Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου & Επίπλου Αντώνιος Καραγεώργος Ευανθία Τσιλιχρήστου. Μάθημα 5 ο Τεχνολογίες Διαδικτύου: HTML I

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures):

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε.

XAMPP Apache MySQL PHP javascript xampp

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. «Υλοποίηση εφαρμογής λογιστικών και στατιστικών δεδομένων μιας επιχείρησης Δ.Ε.Υ.Α.» Αρ. Μητρώου:

ΑΚΑΔΗΜΑΪΚΟ PORTAL ΚΑΤΑΧΩΡΙΣΗΣ ΒΑΘΜΟΛΟΓΙΩΝ

MANUAL PRESTASHOP 1.6

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Οδηγίες Χρήσης της MySQL

Οδηγίες Χρήσης της MySQL

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΑΝΤΑΛΛΑΚΤΗΡΙΩΝ

Αποθήκη. Διαχείριση Αποθήκης. Published on PRISMA Win Help - Megasoft (

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.

Σχεδίαση και Χρήση Βάσεων Δεδομένων. Χρήση της MySQL. Γιώργος Πυρουνάκης -

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ ΠΕΛΑΤΩΝ ELTA Courier. Ιούνιος ELTA Courier Διεύθυνση Πληροφορικής

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

A ΕΠΑ.Λ ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 5 η ΕΝΟΤΗΤΑ: ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ. Εκπαιδευτικοί: ΓΑΛΑΝΟΣ ΓΕΩΡΓΙΟΣ ΜΠΟΥΣΟΥΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Βάσεις δεδομένων (Access)

ΕΦΑΡΜΟΓΗ ΔΙΑΧΕΙΡΙΣΗΣ ΙΣΤΟΣΕΛΙΔΩΝ ΜΕΛΩΝ ΔΕΠ, ΤΜΗΜΑΤΟΣ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΠΑΤΡΩΝ ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΠΛΟΗΓΗΣΗΣ ΚΑΙ ΧΡΗΣΗΣ

10 η Διάλεξη Python Βάσεις δεδομένων στη python

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

Οδηγίες Συμπλήρωσης της Έκθεσης Ολοκλήρωσης

Βασικές Έννοιες Web Εφαρμογών

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΕΦΑΡΜΟΓΗΣ ΗΛΕΚΤΡΟΝΙΚΗΣ ΥΠΟΒΟΛΗΣ ΙΣΟΖΥΓΙΩΝ ΚΡΕΑΤΟΣ

Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 2 ο Μάθημα: Βασικά Θέματα Βάσεων Δεδομένων. Δρ. Κωνσταντίνος Χ.

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress

Διαγραφή Επιλέγετε Διαγραφή για να διαγράψετε μία ήδη υπάρχουσα διαδικασία εισαγωγής ASCII

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαστήριο Βάσεων Δεδομένων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ.

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΑΣΦΑΛΙΣΤΙΚΩΝ ΕΤΑΙΡΕΙΩΝ

H SQL είναι η γλώσσα για όλα τα εμπορικά σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων

Εισαγωγη στην html. Η δομή μιας ιστοσελίδας (αρχείο html) Η βασική δομή ενός αρχείου html είναι η εξής: <html> <head>

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

Vodafone Business Connect

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

ΗΛΕΚΤΡΟΝΙΚΟ ΚΑΤΑΣΤΗΜΑ

Διαχείριση Βάσης Δεδομένων (dbadmin)

Εγχειρίδιο Λειτουργίας Τράπεζας Χρόνου

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP

Ορισμοί Σχεσιακού Μοντέλου και (απλές)τροποποιήσεις Σχέσεων στην SQL. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ανάπτυξη Υπηρεσίας Καταλόγου LDAP με τα στοιχεία του προσωπικού του TEI Πειραιά. Νίκος Πασσαράς. Εισηγητής: Πρεζεράκος Γεώργιος

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Διαχείριση Αξιόγραφων

PHP/MySQL και Project

ΟΛΟΚΛΗΡΩΜΕΝΟ ΣΥΣΤΗΜΑ ΤΗΛΕΚΑΤΑΡΤΙΣΗΣ E-AGIOGRAFIA

Benzina v Βασικές Οδηγίες Χρήσης

Μια καλή επιλογή θα ήταν (χωρίζοντας τις λέξεις με παύλα -) ή

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

Βάσεις Δεδομένων 2η εργαστηριακή άσκηση

Εγγραφή στο Portal για νέους συνδρομητές

6 Εισαγωγή στο Wordpress 3.x

Επίλυση προβλήματος με Access

BakeMe v Βασικές Οδηγίες Χρήσης

Εφαρμογή Βάσης Δεδομένων για την Εθελοντική Αιμοδοσία στο ΑΤΕΙ-Θ

Σύστημα Κεντρικής Υποστήριξης της Πρακτικής Άσκησης Φοιτητών ΑΕΙ

Εγχειρίδιο Χρήσης Εφαρμογής Συστήματος Διαχείρισης Λογισμικού

Vodafone Business Connect

ΕΡΓΑΣΙΑ. (στο µάθηµα: Τεχνολογίες Εφαρµογών ιαδικτύου του Η εξαµήνου σπουδών του Τµήµατος Πληροφορικής & Τηλ/νιών)

Δημιουργία. Ιστολογίου (blog) 7/5/2015. Χρυσάνθη Γιομέλου ΚΔΒΜ ΝΙΚΑΙΑΣ

Εργαστήριο Βάσεων Δεδομένων. Triggers

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

Εφαρμογή Ηλεκτρονικής Υποβολής Δηλώσεων Ε9. Οδηγίες Χρήσης

Ορισμοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Οδηγός γρήγορης εκκίνησης

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ:

Εργαστήριο #10 (Ε10) 1

ΕΓΧΕΙΡΙΔΙΟ ΓΙΑ ΤΗΝ ΠΡΟΣΦΟΡΑ ΤΟΥ ΠΡΟΜΗΘΕΥΤΗ

Βάσεις Δεδομένων 5η εργαστηριακή άσκηση

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΓΕΝΙΚΩΝ ΧΡΗΣΤΩΝ

Εργαστήριο 6 ο 7 ο / Ερωτήματα Ι

Πτυχιακή Εργασία. Ηλεκτρονικό εμπόριο & Σημασιολογικός ιστός. Χρησιμοποιείστε για το κείμενο γραμματοσειρά courier 12 με στοίχιση πλήρης

Σχεδιασμός και ανάπτυξη διαδικτυακής εφαρμογής για οργάνωση ξενοδοχείων

Meridian v Βασικές Οδηγίες Χρήσης

PHPMyAdmin: Σύντομος οδηγός για αρχάριους

Transcript:

Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΠΛΗΡΟΦΟΡΙΩΝ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΔΙΑΧΕΙΡΙΣΗ ΑΠΟΘΗΚΗΣ ΕΤΟΙΜΩΝ ΕΝΔΥΜΑΤΩΝ ΜΕ ΤΗ ΧΡΗΣΗ ΤΩΝ ΓΛΩΣΣΩΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ PHP, MYSQL ΚΑΙ ΤΟΥ APACHE SERVER Λυμπερίδης Αντώνιος ΜΑΙΟΣ 2008 ΕΠΟΠΤΗΣ ΚΑΘΗΓΗΤΗΣ Βασίλειος Χατζής Εκπονηθείσα πτυχιακή εργασία απαραίτητη για την κτήση του βασικού πτυχίου

ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ... 1 ΚΕΦΑΛΑΙΟ 1... 2 ΕΡΓΑΛΕΙΑ ΑΝΑΠΤΥΞΗΣ ΤΗΣ ΕΦΑΡΜΟΓΗΣ... 3 ΕΙΣΑΓΩΓΗ... 4 PHP... 4 Η χρήση της MySQL Βάσης Δεδομένων... 7 Το λογισμικό του Apache Server... 8 Η γλώσσα του διαδικτύου, HTML... 9 ΚΕΦΑΛΑΙΟ 2... 10 ΣΧΕΔΙΑΣΜΟΣ ΤΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ (Β.Δ.)... 10 ΕΙΣΑΓΩΓΗ... 11 2.1.1 ΠΡΟΣΔΙΟΡΙΣΜΟΣ ΤΩΝ ΟΝΤΟΤΗΤΩΝ... 11 2.1.2 ΠΕΡΙΓΡΑΦΗ ΤΩΝ ΟΝΤΟΤΗΤΩΝ... 12 2.2 ΤΕΚΜΗΡΙΩΣΗ ΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΚΑΙ ΤΟΥ ΛΟΓΟΥ ΠΛΗΘΙΚΟΤΗΤΑΣ ΤΩΝ ΟΝΤΟΤΗΤΩΝ... 12 2.3 ΠΡΟΣΔΙΟΡΙΣΜΟΣ ΤΩΝ ΙΔΙΟΤΗΤΩΝ ΤΩΝ ΟΝΤΟΤΗΤΩΝ... 13 2.4 Οι πίνακες της Β.Δ.... 17 ΚΕΦΑΛΑΙΟ 3... 20 ΑΝΑΠΤΥΞΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ... 20 ΕΙΣΑΓΩΓΗ... 21 3.1 ΚΕΝΤΡΙΚΗ ΣΕΛΙΔΑ... 21 3.2 ΟΡΓΑΝΩΣΗ ΑΡΧΕΙΩΝ... 22 3.3 Δομή των αρχείων php... 23 3.4 ΕΙΣΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΒΑΣΗ... 25 3.5 ΑΝΑΖΗΤΗΣΗ ΚΑΙ ΠΑΡΟΥΣΙΑΣΗ ΤΩΝ ΔΕΔΟΜΕΝΩΝ ΑΠΟ ΤΗ ΒΑΣΗ... 28 Σελίδα 1 από 68

Εργαλεία ανάπτυξης της εφαρμογής ΕΙΣΑΓΩΓΗ Η εργασία πραγματοποιήθηκε στο πλαίσιο της εκπόνησης υποχρεωτικής πτυχιακής εργασίας, του τμήματος Διαχείρισης Πληροφοριών του ΤΕΙ Καβάλας Το θέμα της πτυχιακής μας εργασίας είναι «Σχεδιασμός και ανάπτυξης διαδικτυακής εφαρμογής για την Διαχείριση αποθήκη ενδυμάτων με την χρήση των γλωσσών προγραμματισμού PHP, MYSQL και του APACHE SERVER». Εμπεριέχει την αναφορά για τα εργαλεία που χρησιμοποιήθηκαν για την υλοποίηση της εφαρμογής, Δείχνει πως σχεδιάστηκε η βάση, τις κύριες εντολές που χρησιμοποιήθηκαν για εισαγωγή, ανάκτηση, διαγραφή και διόρθωση των δεδομένων καθώς και ένα manual της εφαρμογής. Κρίνω σκόπιμο να αναφέρω ότι κάποιες ιδέες για την μορφή της εφαρμογής πάρθηκαν από έτοιμα προγράμματα διαχείρισης αποθήκης όπως το FashionWorks 1.4.2 της Bluebyte, και γενικά προγράμματα όπου έχουν φόρμες για εισαγωγή, ανάκτηση δεδομένων κ.α. Ευχαριστώ τον καθηγητή Χατζή βασίλειο ο οποίος μου έδώσε την ευκαιρία να ασχοληθώ με κάτι τόσο ενδιαφέρον. Ο σπουδαστής: Λυμπερίδης Αντώνιος Σελίδα 2 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου ΚΕΦΑΛΑΙΟ 1 ΕΡΓΑΛΕΙΑ ΑΝΑΠΤΥΞΗΣ ΤΗΣ ΕΦΑΡΜΟΓΗΣ Σελίδα 3 από 68

Εργαλεία ανάπτυξης της εφαρμογής ΕΙΣΑΓΩΓΗ Τα εργαλεία που χρησιμοποιήθηκαν για την ανάπτυξη της εφαρμογής είναι η php 5.2.4, η mysql 5.0.45, ο apache server 2.2.4, και η html. Επιπλέον βοηθητικά χρησιμοποιήθηκαν το phpmyadmin 2.11.5, το mysql tools 5.0 και για editor ο EditPlus 2. PHP Το ακρωνύμιο PHP αρχικά σήμαινε Personal Home Page δηλαδή «Προσωπική Αρχική Σελίδα». Δημιουργήθηκε το 1994 από τον Rasmus Lerdorf για την παρακολούθηση των επισκεπτών της ηλεκτρονικής του σελίδας με τα προσωπικά του στοιχεία. Καθώς η χρησιμότητα και οι δυνατότητες της γλώσσας μεγάλωναν (και καθώς άρχισε να χρησιμοποιείται σε πιο επαγγελματικές καταστάσεις), τα αρχικά PHP κατέληξαν να σημαίνουν PHP Hypertext Preprocessor, δηλαδή «Προεπεξεργαστής Υπερκειμένου PHP». (Ο ορισμός βασικά σημαίνει ότι η PHP χειρίζεται δεδομένα πριν αυτά γίνουν HTML - το οποίο σημαίνει Hypertext Markup Language, δηλαδή «Γλώσσα Σήμανσης Υπερκειμένου».) Σύμφωνα με την επίσημη τοποθεσία Ιστού της PHP, η PHP είναι μια γλώσσα σεναρίων ενσωματωμένη στην HTML. Λέγοντας ότι η PHP είναι ενσωματωμένη στην HTML (HTML embedded) εννοούμε ότι μπορεί να γραφτεί μέσα στον κώδικα της HTML η HTML είναι η γλώσσα με την οποία κατασκευάζονται όλες οι ιστοσελίδες. Έτσι, ο προγραμματισμός με PHP είναι ελάχιστα πιο πολύπλοκος από την συγγραφή HTML με το χέρι. Επίσης, η PHP είναι γλώσσα σεναρίων (scripting language) και όχι γλώσσα προγραμματισμού. Αυτό σημαίνει ότι η PHP είναι σχεδιασμένη έτσι ώστε να πραγματοποιεί μια ενέργεια μόνο μετά από κάποιο συμβάν για παράδειγμα όταν ο χρήστης υποβάλλει μια φόρμα ή επισκέπτεται κάποιο URL. Από την άλλη πλευρά, οι γλώσσες προγραμματισμού όπως η Java, η C, και η Perl, μπορούν να χρησιμοποιηθούν για τη συγγραφή αυτόνομων εφαρμογών, οι Σελίδα 4 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου οποίες δεν είναι απαραίτητο να σχετίζονται με το Ιστό, το πιο δημοφιλές παράδειγμα μιας γλώσσας σεναρίων είναι η JavaScript, η οποία συνήθως χειρίζεται συμβάντα που λαμβάνουν χώρα μέσα στο φυλλομετρητή Ιστού. Άλλος ένας τρόπος για να αναφερόμαστε στους διαφορετικούς τύπους γλωσσών είναι η χρήση του όρου διερμηνευόμενες (interpreted) για γλώσσες όπως η PHP και η JavaScript, η οποίες δεν μπορούν να δράσουν μόνες τους, και του όρου μεταγλωττιζόμενες (compiled) για γλώσσες όπως η C και η Java, οι οποίες μπορούν. Επίσης η PHP είναι τεχνολογία διακομιστή (server-side). Αυτό αναφέρεται στο γεγονός πως ό,τι κάνει η PHP πραγματοποιείται στο διακομιστή (και όχι στον πελάτη client ο οποίος είναι ο υπολογιστής ο οποίος φιλοξενεί τις σελίδες που βλέπετε όταν επισκέπτεστε μια διεύθυνση Ιστού με το φυλλομετρητή σας. Τέλος η PHP είναι ανεξάρτητη πλατφόρμας (cross-platform), κάτι που σημαίνει ότι μπορεί να χρησιμοποιηθεί σε μηχανήματα με Unix, Windows, Macintosh, και άλλα λειτουργικά συστήματα. Και πάλι αναφέρομαι στο λειτουργικό σύστημα του διακομιστή και όχι του πελάτη. Η PHP όχι μόνο είναι σε θέση να εκτελεστεί σε οποιοδήποτε λειτουργικό σύστημα αλλά, αντίθετα με τις περισσότερες γλώσσες προγραμματισμού, σας επιτρέπει να μεταφέρετε τη δουλειά σας από τη μια πλατφόρμα στην άλλη με ελάχιστες ή και καθόλου τροποποιήσεις. Το βασικό πλεονέκτημα της PHP είναι ότι λειτουργεί δυναμικά. Αυτό σημαίνει ότι τα αποτελέσματα που παράγει, αλλάζουν σύμφωνα με τις ανάγκες του χρήστη. Ωστόσο, ο δυναμικός τρόπος λειτουργίας δεν παύει να εφαρμόζεται ακόμα και μέσα στο εσωτερικό της PHP. Για παράδειγμα, έχει τη δυνατότητα να αλλάζει τον τύπο των μεταβλητών δυναμικά, σύμφωνα με τα δεδομένα που κάθε χρονική στιγμή είναι αποθηκευμένα σε αυτές. Σε σύγκριση με τους βασικούς της ανταγωνιστές(perl, ASP καιjsp), ηphp έχει πολλά πλεονεκτήματα που την καθιστούν επικρατούσα. Υψηλή απόδοση. Είναι πολύ αποτελεσματική. Σελίδα 5 από 68

Εργαλεία ανάπτυξης της εφαρμογής Διασυνδέσεις με πολλά διαφορετικά συστήματα βάσεων δεδομένων. Έχει εγγενείς συνδέσεις για πολλά συστήματα βάσεων δεδομένων. Εκτός από τηmysql, μπορούμε να συνδεθούμε κατευθείαν με πολλές βάσεις δεδομένων μερικές από τις οποίες είναι msql, Oracle, Hyperwave, Informix, InterBase, filepro και πολλές άλλες. Χρησιμοποιώντας Open Database Connectivity Standard (ODCB), μπορούμε να συνδεθούμε σε οποιαδήποτε βάση δεδομένων παρέχει ένα πρόγραμμα οδήγησης ODCB. Έχει ενσωματωμένες βιβλιοθήκες για πολλές συνηθισμένες διαδικασίες διαδικτύου. Επειδή σχεδιάστηκε για να χρησιμοποιείται στο διαδίκτυο, έχει πολλές ενσωματωμένες βιβλιοθήκες, που εκτελούν πολλές χρήσιμες λειτουργίες σχετικές με το Web. Μπορούμε να δημιουργούμε εικόνεςgif δυναμικά, να συνδεθούμε με άλλες υπηρεσίες δικτύων, να στείλουμε ηλεκτρονικό ταχυδρομείο, να δουλέψουμε με cookies και συνόδους και να δημιουργήσουμε PDF έγγραφα. Και αυτές είναι μόνο ελάχιστες από τις απεριόριστες δυνατότητες της PHP! Χαμηλό κόστος. Η PHP παρέχεται δωρεάν. Ευκολία μάθησης και χρήσης. Η σύνταξη της PHP βασίζεται σε άλλες γλώσσες προγραμματισμού, βασικά στη C και στην Perl. Φορητότητα. Είναι διαθέσιμη για πολλά λειτουργικά συστήματα. Μπορούμε να γράψουμε κώδικα για πολλές διαφορετικές εκδόσεις των Microsoft Windows και πολλά συστήματα τύπου Unix. Διαθεσιμότητα του κώδικα προέλευσης. Έχουμε πρόσβαση στον κώδικα προέλευσης της PHP, αντίθετα με εμπορικά κλειστά συστήματα. Επίσης, μπορούμε να διορθώσουμε ή να μεταβάλλουμε των κώδικά της, προσαρμόζοντάς τον στις ανάγκες μας. Όλα αυτά έχουν κάνει την PHP να είναι ένα πανίσχυρο και ευρέως χρησιμοποιούμενο εργαλείο παγκοσμίως. Σελίδα 6 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Η χρήση της MySQL Βάσης Δεδομένων Είναι ένα πολύ γρήγορο και δυνατό σύστημα διαχείρισης βάσεων δεδομένων. Μια βάση δεδομένων μας επιτρέπει να αποθηκεύουμε, να αναζητάμε, να ταξινομούμε και να ανακαλούμε τα δεδομένα αποτελεσματικά. Ουσιαστικά αποτελεί τη δεξαμενή από την οποία αντλούμε τα δεδομένα. Ο MySQL διακομιστής ελέγχει την πρόσβαση στα δεδομένα μας, για να μπορούν να δουλεύουν πολλοί χρήστες ταυτόχρονα, για να παρέχει γρήγορη πρόσβαση και να διασφαλίσει ότι μόνο πιστοποιημένοι χρήστες μπορούν να έχουν πρόσβαση. Συνεπώς, η MySQL είναι ένας πολυνηματικός διακομιστής πολλαπλών χρηστών. Χρησιμοποιεί την SQL (δομημένη γλώσσα ερωτημάτων), την τυπική γλώσσα ερωτημάτων για βάσεις δεδομένων, παγκόσμια. Η SQL είναι η πιο τυπική γλώσσα για πρόσβαση σε συστήματα διαχείρισης βάσεων δεδομένων (DBMS). Χρησιμοποιείται για να αποθηκεύουμε και να ανακαλέσουμε δεδομένα από και προς μια βάση δεδομένων. Χρησιμοποιείται σε πολλές βάσεις δεδομένων όπως η Oracle, PostgreSQL, Sybase, Microsoft SQL Server και φυσικά στη MySQL. Υπάρχει μια ANSI (Αμερικάνικο εθνικό πρότυπο) τυποποίηση για την SQL και τα συστήματα βάσεων δεδομένων, όπως η MySQL, χρησιμοποιούν αυτή την τυποποίηση. Έχει συστατικά στοιχεία της, μια γλώσσα ορισμού βάσεων δεδομένων (DDL) και μια γλώσσα χειρισμού ερωτημάτων(dml). Χρησιμοποιούμε DDL όταν αρχικά διαμορφώνουμε μια βάση δεδομένων ενώ DML όταν αποθηκεύουμε και ανακαλούμε πραγματικά δεδομένα από τη βάση μας. Οι σχεσιακές βάσεις δεδομένων σχεδιάστηκαν για να αντιμετωπίσουν όλα εκείνα τα προβλήματα που προέρχονταν από τη χρήση επίπεδων αρχείων (απλών αρχείων κειμένου) για την αποθήκευση και ανάκληση δεδομένων. Η χρήση των επίπεδων αρχείων είναι κάτι πολύ εύκολο και απλό, ωστόσο πολύ περιοριστικό. Για τον λόγο αυτό χρησιμοποιούνται σε μερικές μόνο περιπτώσεις όπου ο όγκος των δεδομένων είναι μικρός. Οι σχεσιακές βάσεις δεδομένων ή καλύτερα τα σχεσιακά συστήματα διαχείρισης βάσεων δεδομένων (RDBMS) από την άλλη, προσφέρουν πολλά περισσότερα πλεονεκτήματα. Σελίδα 7 από 68

Εργαλεία ανάπτυξης της εφαρμογής Παρέχουν γρηγορότερη πρόσβαση στα δεδομένα. Συγκεκριμένα η MySQL έχει από τις γρηγορότερες επιδόσεις που υπάρχουν στα RDBMS. Μπορούν εύκολα να γίνουν ερωτήματα για να εξαχθούν σύνολα από δεδομένα που ανταποκρίνονται σε κάποια κριτήρια. Έχουν ενσωματωμένους μηχανισμούς για αντιμετώπιση ταυτόχρονης πρόσβασης. Παρέχουν τυχαία πρόσβαση στα δεδομένα. Έχουν ενσωματωμένα συστήματα δικαιωμάτων Η MySQL είναι λογισμικό ανοιχτού κώδικα, το οποίο προσφέρεται δωρεάν και επιπλέον μαζί με το εκτελέσιμο πρόγραμμα διατίθεται και ο πηγαίος κώδικας όλων των συστατικών του, για να μπορεί κάποιος να τα τροποποιήσει και να τα χρησιμοποιήσει ανάλογα με τις ανάγκες του. Το λογισμικό του Apache Server Το πρόγραμμα Apache αυτό είναι ένα λογισμικό επιτυχημένης προσπάθειας ανάπτυξης λογισμικού που στοχεύει στη δημιουργία ενός προϊόντος ανοιχτού κώδικα και βασίζεται στο πρότυπο επικοινωνίας HTTP. Θεωρείται ένα ισχυρό και ευέλικτο λογισμικό, το οποίο συνεχίζει να εξελίσσεται. Όλος ο πηγαίος κώδικας του Apache Server είναι διαθέσιμος στον οποιοδήποτε προκειμένου να τον επεξεργαστεί και να τον μορφοποιήσει σύμφωνα με τις ανάγκες και τις απαιτήσεις του. Πρόκειται ουσιαστικά για έναν διαδικτυακό διακομιστή. Στον διακομιστή αποθηκεύονται όλα τα αρχεία (για παράδειγμα της HTML) που αποτελούν τις σελίδες του διαδικτύου. Ο διαδικτυακός διακομιστής (Apache) κατά τη λειτουργία του, δέχεται μια αίτηση από τον browser ενός client, η οποία είναι σε μορφή διεύθυνσης σελίδας (κατά το πρότυπο HTTP). Ο διακομιστής ευθύνεται για την παράδοση του αρχείου στον browser, και όχι για την προβολή των πληροφοριών που περιέχονται σε αυτά. Σελίδα 8 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Δημιουργήθηκε από μια ομάδα ανθρώπων ανά τον κόσμο, που δεν είχαν στόχο την εμπορική εκμετάλλευση της εφαρμογής, γι αυτό τον λόγο οι κατασκευαστές του λογισμικού αναφέρονται σαν Apache Group. Ωστόσο, πολλοί χρήστες του λογισμικού κατάφεραν με παρατηρήσεις και σχόλια να βελτιώσουν το προϊόν, φθάνοντάς το στη σημερινή του έκδοση 2.2.4. Η γλώσσα του διαδικτύου, HTML Τα αρχικά HTML σημαίνουν Hyper Text Markup Language. Η HTML είναι η κύρια γλώσσα που χρησιμοποιείται στο διαδίκτυο. Οι ιστοσελίδες στο διαδίκτυο είναι γραμμένες σε HTML. Τα αρχεία της HTML είναι απλά αρχεία κειμένου και αυτό δίνει τη δυνατότητα σε όλα τα λειτουργικά συστήματα, να μπορούν να επεξεργαστούν (διαβάσουν, γράψουν, αποθηκεύσουν) τα αρχεία της. Αυτό το χαρακτηριστικό κάνει την HTML να είναι μια ανεξάρτητη πλατφόρμα. Για τον λόγο όμως αυτό, όλα τα αρχεία θα πρέπει να αποθηκεύονται κατά το πρότυπο της κωδικοποίησης ASCII. Τα αρχεία έχουν επέκταση.htm και.html. Για τη δημιουργία των αρχείων της HTML χρειάζεται ένας απλός συντάκτης κειμένου. Δεν συνιστάται να χρησιμοποιούνται πολύπλοκοι συντάκτες (όπως το Microsoft Word) καθώς οι συντάκτες αυτοί μαζί με το απλό κείμενο αποθηκεύουν και προβάλλουν και άλλες πληροφορίες (για παράδειγμα πληροφορίες μορφοποίησης) που για τα αρχεία της HTML είναι περιττές. Μπορεί να χρησιμοποιηθεί ένα πρόγραμμα όπως το Notepad. Ουσιαστικά ένα αρχείο HTML περιλαμβάνει κείμενο που αποτελείται από στοιχεία της HTML και από αυτά που θέλουμε να περιλαμβάνει η σελίδα. Τα στοιχεία της HTML ορίζονται από τα mark-up tags. Είναι τα δεδομένα που πληροφορούν τον web browser για τον τρόπο προβολής της σελίδας. Για παράδειγμα η πρώτη ετικέτα (tag) σε μια HTML σελίδα είναι πάντα το <HTML>, το οποίο πληροφορεί τον browser για την έναρξη ενός HTML αρχείου. Σελίδα 9 από 68

ΚΕΦΑΛΑΙΟ 2 ΣΧΕΔΙΑΣΜΟΣ ΤΗΣ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ (Β.Δ.) Σελίδα 10 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου ΕΙΣΑΓΩΓΗ Σ αυτό το κεφάλαιο θα παρουσιαστεί πως έγινε σχεδιασμός της βάσης δεδομένων, δηλαδή ο προσδιορισμός των οντοτήτων, η περιγραφή τους, η τεκμηρίωση των συσχετίσεων και του λόγου πληθικότητας των οντοτήτων, ο προσδιορισμός των ιδιοτήτων και τέλος η τελική μορφή των πινάκων μέσα στη Β.Δ.. 2.1.1 ΠΡΟΣΔΙΟΡΙΣΜΟΣ ΤΩΝ ΟΝΤΟΤΗΤΩΝ Επειδή έχουμε κατάστημα λιανικής πώλησης ενδυμάτων, οι πελάτες μας είναι όλοι «λιανικής», αποφάσισα να μην υπάρχει οντότητα «ΠΕΛΑΤΕΣ» στη Β.Δ. Επίσης αποφάσισα να υπάρχουν άλλες τέσσερις οντότητες για αυστηρό προσδιορισμό κάποιων ιδιοτήτων του «ΕΙΔΟΥΣ» που είναι οι «χρώματα», «κατηγορία», «εποχικότητα», «μεγεθολογία». Οπότε οι οντότητες στη βάση θα είναι οι εξής: ΕΙΔΟΣ ΠΡΟΜΗΘΕΥΤΕΣ ΠΩΛΗΣΗ ΚΟΜΜΑΤΙΑ ΕΙΔΟΥΣ ΧΡΩΜΑΤΑ ΚΑΤΗΓΟΡΙΑ ΕΠΟΧΙΚΟΤΗΤΑ ΜΕΓΕΘΟΛΟΓΙΑ Σελίδα 11 από 68

Σχεδιασμός της βάσης δεδομένων (Β.Δ.) 2.1.2 ΠΕΡΙΓΡΑΦΗ ΤΩΝ ΟΝΤΟΤΗΤΩΝ Με τον όρο περιγραφή οντοτήτων εννοώ το τι είναι κάθε οντότητα. Έχουμε ως εξής: Οντότητα Είδος Προμηθευτής Κομμάτια είδους Πώληση Χρώματα Κατηγορία Μεγεθολογία Εποχικότητα Πίνακας 2.1 Περιγραφή οντοτήτων Περιγραφή Τα είδη που υπάρχουν στην αποθήκη (όπως οι οδηγοί των προμηθευτών) Ο προμηθευτής του εκάστοτε είδος Τα κομμάτια ή τεμάχια που έχει το κάθε είδος Η πώληση ενός κομματιού. Ουσιαστικά η αφαίρεση του από την αποθήκη Τα χρώματα που έχει το εκάστοτε είδος Η κατηγορία του εκάστοτε είδους (π.χ. παντελόνι, πουκάμισο κ.α.) Το μεγεθολόγιο που χρησιμοποιεί το εκάστοτε είδος (π.χ. «S, M, L, XL» ή «40, 42, 44» κ.α.) Η εποχή που ήρθε στην αποθήκη το είδος 2.2 ΤΕΚΜΗΡΙΩΣΗ ΤΩΝ ΣΥΣΧΕΤΙΣΕΩΝ ΚΑΙ ΤΟΥ ΛΟΓΟΥ ΠΛΗΘΙΚΟΤΗΤΑΣ ΤΩΝ ΟΝΤΟΤΗΤΩΝ Οι συσχετίσεις και οι λόγοι πληθικότητας των οντοτήτων παρουσιάζονται στον πίνακα παρακάτω: Τύπος οντότητας Συσχέτιση Τύπος οντότητας Λόγος πληθικότητας Είδος Έχει Προμηθευτή 1:M Είδος Έχει Χρώματα N:M Είδος Έχει Κατηγορία 1:M Σελίδα 12 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Είδος Έχει Μεγεθολογία 1:M Είδος Έχει Εποχικότητα 1:M Είδος Έχει Κομμάτια είδους M:1 Πώληση Αφαιρεί Κομμάτια είδους 1:M Πίνακας 2.2 Συσχετίσεις και λόγοι πληθικότητας των οντοτήτων 2.3 ΠΡΟΣΔΙΟΡΙΣΜΟΣ ΤΩΝ ΙΔΙΟΤΗΤΩΝ ΤΩΝ ΟΝΤΟΤΗΤΩΝ Ο προσδιορισμός των ιδιοτήτων των οντοτήτων δίνεται στον παρακάτω πίνακα: ΟΝΤΟΤΗΤΑ ΙΔΙΟΤΗΤΕΣ ΠΕΡΙΓΡΑΦΗ eidos id Ο κωδικός του είδους (ΕΙΔΟΣ) supplierid Ο προμηθευτής του είδους (ο κωδικός του) seasonid Η εποχικότητας του είδους (ο κωδικός της) sizeid Το μεγεθολόγιο του είδους (ο κωδικός του) kategoryid Η κατηγορία του είδους (ο κωδικός της) perigrafi Συμπληρωματική σημείωση της κατηγορίας synthesi Η σύνθεση του είδους odigos Ο οδηγός του προμηθευτή fpa Το ΦΠΑ του είδους xondriki Η τιμή χονδρικής του είδους Σελίδα 13 από 68

Σχεδιασμός της βάσης δεδομένων (Β.Δ.) lianiki Η λιανική τιμή του είδους marke Αν η λιανική τιμή του είδους είναι ορισμένη από τον προμηθευτή ή όχι Σημειώσεις Οτιδήποτε σημειώσεις που αφορούν το είδος supplier (Προμηθευτής) id name Ο κωδικός του προμηθευτή Η επωνυμία του προμηθευτή namecompany Η επωνυμία της εταιρείας του προμηθευτή afm Το ΑΦΜ του προμηθευτή doy Η ΔΟΥ του προμηθευτή address Η διεύθυνση του προμηθευτή tk Ο ΤΚ του προμηθευτή city Η πόλη του προμηθευτή til1 Το πρώτο τηλέφωνο του προμηθευτή til2 Το δεύτερο τηλέφωνο του προμηθευτή fax Το fax του προμηθευτή email Το e-mail του προμηθευτή notes Συμπληρωματικές σημειώσεις για τον προμηθευτή Σελίδα 14 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου antiname Η επωνυμία του αντιπροσώπου του προμηθευτή antiaddress Η διεύθυνση του αντιπροσώπου του προμηθευτή anticity Η πόλη του αντιπροσώπου του προμηθευτή antitk Ο ΤΚ του αντιπροσώπου του προμηθευτή antitil Το τηλέφωνο του αντιπροσώπου του προμηθευτή antifax Το fax του αντιπροσώπου του προμηθευτή antiemail Το e-mail του αντιπροσώπου του προμηθευτή antinotes Συμπληρωματικές σημειώσεις του αντιπροσώπου του προμηθευτή color (ΧΡΩΜΑΤΑ) id perigrafi Ο κωδικός του χρώματος Η περιγραφή του χρώματος season (ΕΠΟΧΙΚΟΤΗΤΑ) id perigrafi Ο κωδικός της εποχικότητας Η περιγραφή της εποχικότητας kategory (ΚΑΤΗΓΟΡΙΑ) id perigrafi Ο κωδικός της κατηγορίας Η περιγραφή της κατηγορίας Σελίδα 15 από 68

Σχεδιασμός της βάσης δεδομένων (Β.Δ.) size (ΜΕΓΕΘΟΛΟΓΙΑ) id perigrafi Ο κωδικός του μεγεθολόγιου Η περιγραφή του μεγεθολόγιου n1, n2, n3 n20 Τα νούμερα του μεγεθολόγιου (μέχρι 20, παραπάνω δεν δύναται να υπάρξει) eidoskomatia (ΚΟΜΜΑΤΙΑ ΕΙΔΟΥΣ) id barcode Ο κωδικός του κομματιού Το barcode του κομματιού. Είναι ένας 10ψήφιος αριθμός τα τελευταία 2 ψηφία είναι το νούμερο του, τα επόμενα 3 είναι ο κωδικός του χρώματος και τα επόμενα 5 ο κωδικός του είδους. Άμα λιγότερα τα ψηφία συμπληρώνονται με 0. eidosid Το είδος του κομματιού (ο κωδικός του ειδους) colorid Το χρώμα του κομματιού (ο κωδικός του χρώματος) n Το νούμερο του κομματιού (το νούμερο του μεγεθολόγιου) numbers Ο αριθμός των κομματιών Polisi (ΠΩΛΗΣΗ) barcode price Το barcode του κομματιού που πουλήθηκε Η τιμή που πουλήθηκε το κομμάτι date_sale Η ημερομηνία που πουλήθηκε το κομμάτι notes Διάφορες σημειώσεις σχετικά με την πώληση του κομματιού Πίνακας 2.3 ιδιότητες των οντοτήτων Σελίδα 16 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου 2.4 Οι πίνακες της Β.Δ. Εφαρμόζοντας κανονικοποίηση μέχρι την τρίτη κανονικοποιημένη μορφή κι έπειτα από φυσική σχεδίαση οι πίνακες της βάσης παρουσιάζονται μετά από την εντολή της mysql describe ως εξής: eidos Field Type Null Key Default Extra id int(11) NO PRI auto_increment supplierid int(11) NO seasonid int(11) NO kategoryid int(11) NO sizeid int(11) NO perigrafi varchar(50) YES synthesi varchar(50) YES odigos varchar(30) YES fpa int(11) NO xondriki float NO lianiki float NO marke enum('n','y') NO notes text YES color Field Type Null Key Default Extra id int(11) NO PRI auto_increment perigrafi varchar(25) NO UNI eidoskommatia Field Type Null Key Default Extra id int(11) NO PRI auto_increment barcode varchar(10) NO eidosid int(11) NO colorid int(11) NO n varchar(3) NO int(10) numbers unsigned NO 0 season Field Type Null Key Default Extra id int(11) NO PRI auto_increment perigrafi varchar(20) NO UNI kategory Field Type Null Key Default Extra id int(11) NO PRI auto_increment perigrafi varchar(50) NO UNI size Field Type Null Key Default Extra Σελίδα 17 από 68

Σχεδιασμός της βάσης δεδομένων (Β.Δ.) id int(11) NO PRI auto_increment perigrafi text NO n1 varchar(3) YES n2 varchar(3) YES n3 varchar(3) YES n4 varchar(3) YES n5 varchar(3) YES n6 varchar(3) YES n7 varchar(3) YES n8 varchar(3) YES n9 varchar(3) YES n10 varchar(3) YES n11 varchar(3) YES n12 varchar(3) YES n13 varchar(3) YES n14 varchar(3) YES n15 varchar(3) YES n16 varchar(3) YES n17 varchar(3) YES n18 varchar(3) YES n19 varchar(3) YES n20 varchar(3) YES supplier Field Type Null Key Default Extra id int(11) NO PRI auto_increment name varchar(20) YES UNI namecompany varchar(65) NO afm varchar(10) NO UNI doy varchar(20) YES address varchar(20) YES city varchar(30) YES tk char(5) YES til1 char(11) YES til2 char(11) YES fax char(11) YES email varchar(50) YES notes text YES antiname varchar(20) YES antiaddress varchar(20) YES anticity varchar(15) YES antitk char(5) YES antitil char(10) YES antifax char(10) YES antiemail varchar(30) YES antinotes text YES polisi Field Type Null Key Default Extra barcode varchar(10) YES Σελίδα 18 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου price float YES date_sale date YES notes text YES Πίνακας 2.4 οι πίνακες της βάσης Σελίδα 19 από 68

ΚΕΦΑΛΑΙΟ 3 ΑΝΑΠΤΥΞΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ Σελίδα 20 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου ΕΙΣΑΓΩΓΗ Σε αυτό το κεφάλαιο θα εξηγήσουμε πως έγινε η ανάπτυξη της εφαρμογής. Δηλαδή κτλ 3.1 ΚΕΝΤΡΙΚΗ ΣΕΛΙΔΑ Η κεντρική σελίδα της εφαρμογής αποτελείται από 2 frames που χωρίζουν κάθετα τον κορμό της ιστοσελίδας. Το πρώτο αριστερό frame έχει 3 υπο-frames τα οποία χωρίζουν οριζόντια αυτό το frame. Εικόνα 3.1 κεντρική σελίδα Αυτά τα υπο-frames έχουν links με τις διάφορες λειτουργίες ή αρχεία της εφαρμογής. Όλα αυτά τα links είναι target= showframe δηλαδή μας πηγαίνουν στις επιμέρους καρτέλες των διαφόρων αρχείων php χωρίς να μεταβάλλεται το Σελίδα 21 από 68

Ανάπτυξη της εφαρμογής αρχικό αριστερό frame. Οι επιμέρους καρτέλες εμφανίζονται στο αρχικό δεξιό frame. 3.2 ΟΡΓΑΝΩΣΗ ΑΡΧΕΙΩΝ Τα αρχεία της εφαρμογής και το τι κάνει το καθένα παρουσιάζονται στον παρακάτω πίνακα: ΑΡΧΕΙΑ index.html lista.php leitourgeies.php arxeia.php pinakes.php button_polisi.php forma_polisi.php find_polisi.php find_kommati.php apografi.php button_supplier.php forma_supplier.php find_supplier.php button_eidos.php forma_eidos.php ΠΕΡΙΓΡΑΦΗ Κεντρική σελίδα Το αριστερό frame Το υπο-frame όπου φαίνεται η λίστα με τις λειτουργίες Το υπο-frame όπου φαίνεται η λίστα με τα αρχεία Το υπο-frame όπου φαίνεται η λίστα με τους πίνακες Το αρχική σελίδα μετά το link πώληση Φόρμα εισαγωγής μιας πώλησης Εύρεση και διόρθωση ή διαγραφή μιας πώλησης Εύρεση ενός κομματιού Εμφάνιση όσων κομματιών υπάρχουν στη αποθήκη Το αρχική σελίδα μετά το link προμηθευτής Φόρμα εισαγωγής Εύρεση και διόρθωση ή διαγραφή ενός προμηθευτή Το αρχική σελίδα μετά το link Φόρμα εισαγωγής ενός είδους Σελίδα 22 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου find_eidos.php button_color.php forma_color.php find_color.php button_size.php forma_size.php find_size.php button_season.php forma_season.php find_season.php button_kategory.php forma_kategory.php find_kategory.php Εύρεση και διόρθωση ή διαγραφή ενός είδους Το αρχική σελίδα μετά το link Φόρμα εισαγωγής ενός χρώματος Εύρεση και διόρθωση ή διαγραφή ενός χρώματος Το αρχική σελίδα μετά το link Φόρμα εισαγωγής ενός μεγεθολογίου Εύρεση και διόρθωση ή διαγραφή ενός μεγεθολογίου Το αρχική σελίδα μετά το link Φόρμα εισαγωγής εποχικότητας Εύρεση και διόρθωση ή διαγραφή ενός εποχικότητα Το αρχική σελίδα μετά το link Φόρμα εισαγωγής μιας κατηγορίας Εύρεση και διόρθωση ή διαγραφή μιας κατηγορίας Πίνακας 3.2 οργάνωση αρχείων 3.3 Δομή των αρχείων php Η βασική δομή των αρχείων php είναι μία μεταβλητή με όνομα display_block που μεταλλάσσεται ανάλογα με την τιμή μιας μεταβλητής με όνομα temp όπου μεταβιβάζεται κρυφά όταν ξανακαλείται η φόρμα. Έπειτα γίνεται εκτύπωση της μεταβλητής display_block. Παρακάτω δίνω ένα αρχείο για παράδειγμα, το forma_color.php. Σελίδα 23 από 68

Ανάπτυξη της εφαρμογής Σελίδα 24 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου 3.4 ΕΙΣΑΓΩΓΗ ΔΕΔΟΜΕΝΩΝ ΣΤΗ ΒΑΣΗ Σε αυτό το υποκεφάλαιο θα παρουσιάσω τις εντολές sql που υπάρχουν στα αρχεία php εισαγωγής δεδομένων, λίγο κώδικα php για καλύτερη κατανόηση, καθώς και σε ποια αρχεία υπάρχουν αυτές οι εντολές. Σελίδα 25 από 68

Ανάπτυξη της εφαρμογής Οι μεταβλητές της php που παρουσιάζονται μέσα μονά εισαγωγικά είναι οι εκάστοτε τιμές που έχει υποβάλει ο χρήστης στα διάφορα πεδία της εκάστοτε φόρμας. Στο αρχείο forma_color.php insert into color (perigrafi) values ('$perigrafi'); Στο αρχείο forma_season.php insert into season (perigrafi) values ('$perigrafi'); Στο αρχείο forma_kategory.php insert into kategory (perigrafi) values ('$perigrafi'); Στο αρχείο forma_size.php insert into size (perigrafi, n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17, n18, n19, n20) values ('$perigrafi', '$n1', '$n2', '$n3', '$n4', '$n5', '$n6', '$n7', '$n8', '$n9', '$n10', '$n11', '$n12', '$n13', '$n14', '$n15', '$n16', '$n17', '$n18', '$n19', '$n20'); Στο αρχείο forma_supplier.php insert into supplier (name, namecompany, afm, doy, address, city, tk, til1, til2, fax, email, notes, antiname, antiaddress, anticity, antitk, antitil, antifax, antiemail, antinotes) values ('$name', '$namecompany', '$afm', '$doy', '$address', '$city', '$tk', '$til1', '$til2', '$fax', '$email', '$notes', '$antiname', '$antiaddress', '$anticity', '$antitk', '$antitil', '$antifax', '$antiemail', '$antinotes'); Στο αρχείο forma_eidos.php insert into eidos (supplierid, seasonid, kategoryid, sizeid, perigrafi, synthesi, odigos, fpa, xondriki, lianiki, marke, notes) values ('$supplierid', '$seasonid', '$kategoryid', '$sizeid', '$perigrafi', '$synthesi', '$odigos', '$fpa', '$xondriki', '$lianiki', '$marke', '$notes') Μετά την εκτέλεση της παραπάνω εντολής της sql του αρχείου forma_eidos.php γίνεται αυτόματα και η εισαγωγή δεδομένων στον πίνακα eidoskomatia. Σελίδα 26 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Πρώτα παίρνουμε το id του είδους που μόλις εκχωρήθηκε, το οποίο είναι auto_increment, με την παρακάτω ερώτημα: select max(id) from eidos; Έπειτα παίρνουμε τα νούμερα από το μεγεθολόγιο που υπέβαλε ο χρήστης με το ερώτημα: select n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17, n18, n19, n20 from size where id='$sizeid'; όπου $sizeid' ο κωδικός του μεγεθολογίου που διάλεξε ο χρήστης. Τα αποτελέσματα τα εκχωρούμε σε ένα πίνακα με όνομα $n. Επίσης έχουμε και έναν πίνακα με τους κωδικούς των χρωμάτων που υπέβαλε ο χρήστης με όνομα color. Η εντολή για την εισαγωγή δεδομένων στον πινάκα eidoskomatia εκτελείται πολλές φορές μέσα σε δύο φωλιασμένες for της php και έχει ως εξής: for ($j = 0 ; $j < sizeof($color); $j++) { for ($i = 0 ; $i < 19; $i++) { if ($n[$i]) { $barcode = make_barcode ($eidosid, $color[$j], $n[$i]); * "insert into eidoskomatia (barcode, eidosid, colorid, n) values ('$barcode', '$eidosid', '$color[$j]', '$n[$i]')"; } } } *(η συνάρτηση make_barcode παίρνει σαν ορίσματα τον κωδικό του είδους, τον κωδικό του χρώματος και το νούμερο, και φτιάχνει το barcode) Μόλις γίνουν οι εγγραφές στον πίνακα eidoskomatia όλες οι τιμές του πεδίου numbers είναι «0»(έτσι ορίστηκε). Για να συμπληρωθούν αυτές εμφανίζεται ένας πίνακας στη φόρμα όπου και τον γεμίζει ο χρήστης για να προσθέσει κομμάτια. Η εντολή είναι η εξής: update eidoskomatia set numbers=' ' where id=' ' Σελίδα 27 από 68

Ανάπτυξη της εφαρμογής Στο αρχείο forma_polisi.php insert into polisi (barcode, price, date_sale, notes) values ('$barcode', '$price', '$date', '$notes'); Επίσης μετά την εγγραφή γίνεται αυτόματα αναζήτηση για να πάρουμε τον αριθμό του κομματιού με αυτό το barcode με την παρακάτω εντολή: select numbers from eidoskomatia where barcode='$barcode'; έπειτα γίνεται έλεγχος για το αν το (numbers > 0) και αν είναι, αφαιρείται μία μονάδα από το numbers και εκτελείται η παρακάτω εντολή: update eidoskomatia set numbers ='$numbers' where barcode='$barcode'; 3.5 ΑΝΑΚΤΗΣΗ ΚΑΙ ΕΜΦΑΝΙΣΗ ΤΩΝ ΔΕΔΟΜΕΝΩΝ ΑΠΟ ΤΗ ΒΑΣΗ Σε αυτό το υποκεφάλαιο θα παρουσιάσω τις εντολές sql που υπάρχουν στα αρχεία php ανάκτησης και εμφάνισης δεδομένων, λίγο κώδικα php για καλύτερη κατανόηση καθώς και σε ποια αρχεία υπάρχουν. Οι μεταβλητές της php που παρουσιάζονται μέσα μονά εισαγωγικά είναι οι εκάστοτε τιμές που έχει υποβάλει ο χρήστης στα διάφορα πεδία της εκάστοτε φόρμας. Αν αυτές οι τιμές είναι κενές, η τιμή που θα πάρουν θα έιναι %. Στο αρχείο fιnd_color.php $query = "select id, perigrafi from color where perigrafi like '$perigrafi' and id like '$id'";if ($r = @mysql_query ($query)) { $display_block.= "<h2 align=center>χρωματα</h2><table border=1 bgcolor=#f5f8ec><tr><td>α/α</td><td>id:</td><td>περιγραφη</td>"; $counter =0; while ($row = @mysql_fetch_array ($r)) { $perigrafi = ( "{$row['perigrafi']}" ); $id = ( "{$row['id']}" ); $a = $counter +1; $display_block.= "<tr><td>$a</td><td><input type=submit name=submit value=$id></td><td>$perigrafi</td></tr>"; $counter++; }//end while Σελίδα 28 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου $display_block.= "</table>βρέθηκαν $counter εγγραφές<br><p><a href=find_color.php>πίσω</a></p>"; }// end if Το αποτέλεσμα της εμφάνισης όταν ο χρήστης δεν βάλει τιμές στα πεδία θα είναι έτσι: Εικόνα 3.3 εμφάνιση δεδομένων find_color.php Στο αρχείο fιnd_season.php Εδώ έχουμε τα ίδια πράγματα με το αρχείο find_color.php μόνο που αλλάζει η εντολή sql και έχει ως εξής: select id, perigrafi from season where perigrafi like '$perigrafi' and id like '$id'; Στο αρχείο fιnd_kategory.php Και εδώ έχουμε τα ίδια πράγματα με το αρχείο find_color.php μόνο που αλλάζει η εντολή sql και έχει ως εξής: select id, perigrafi from kategory where perigrafi like '$perigrafi' and id like '$id'; Στο αρχείο fιnd_size.php Σελίδα 29 από 68

Ανάπτυξη της εφαρμογής Και εδώ έχουμε τα ίδια πράγματα με το αρχείο find_color.php μόνο που αλλάζει η εντολή sql και φυσικά προσθέτονται περισσότερες στήλες στον πίνακα. Επίσης αν η τιμή κάποιου πεδίου έπειτα από την εντολή select είναι κενή, αντικαθιστάται με την τιμή &nbsp. Η εντολή έχει ως εξής: select * from size where perigrafi like '$perigrafi' and id like '$id' and n1 like '$n1' and n2 like '$n2' and n3 like '$n3' and n4 like '$n4' and n5 like '$n5' and n6 like '$n6' and n7 like '$n7' and n8 like '$n8' and n9 like '$n9' and n10 like '$n10' and n11 like '$n11' and n12 like '$n12' and n13 like '$n13' and n14 like '$n14' and n15 like '$n15' and n16 like '$n16' and n17 like '$n17' and n18 like '$n18' and n19 like '$n19' and n20 like '$n20' "; Στο αρχείο fιnd_supplier.php Και εδώ έχουμε τα ίδια πράγματα με το αρχείο find_color.php μόνο που αλλάζει η εντολή sql και φυσικά προσθέτονται περισσότερες στήλες στον πίνακα. Επίσης αν η τιμή κάποιου πεδίου έπειτα από την εντολή select είναι κενή, αντικαθιστάται με την τιμή &nbsp. Η εντολή έχει ως εξής: select * from supplier where id like '$id' and name like '$name' and namecompany like '$namecompany' and afm like '$afm' and doy like '$doy' and address like '$address' and city like '$city' and tk like '$tk' and til1 like '$til1' and til2 like '$til2' and fax like '$fax' and email like '$email' and notes like '$notes' and antiname like '$antiname' and antiaddress like '$antiaddress' and anticity like '$anticity' and antitk like '$antitk' and antitil like '$antitil' and antifax like '$antifax' and antiemail like '$antiemail' and antinotes like '$antinotes' Στο αρχείο fιnd_eidos.php Και εδώ έχουμε τα ίδια πράγματα με το αρχείο find_color.php μόνο που είναι πιο περίπλοκα. Ο κώδικας διατίθεται αυτούσιος. Σελίδα 30 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Σελίδα 31 από 68

Ανάπτυξη της εφαρμογής Οι συναρτήσεις που χρησιμοποιούνται διατίθονται στο παράρτημα στο αρχείο db_confip.php Το αποτέλεσμα της εμφάνισης όταν ο χρήστης δεν βάλει τιμές στα πεδία θα είναι έτσι: Εικόνα 3.4 εμφάνιση δεδομένων find_eidos.php Άμα διαλέξουμε ένα από τα button όπως εμφανίζονται στην εικόνα 3.4 θα μας εμφανίσει τις ιδιότητες του είδους που διαλέξαμε. Θα εμφανίζεται ως εξής: Σελίδα 32 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Εικόνα 3.5 επιλογή είδους για την ανάκτηση όλων των κομματιών του συγκεκριμένου είδους έχουμε τις εξής εντολές: select distinct(n) from eidoskomatia where eidosid='$id'; select distinct(colorid) from eidoskomatia where eidosid='$id'; select perigrafi from color where id='$colorid[$j]'; select id, numbers, barcode from eidoskomatia where eidosid='$id' order by id Για την εμφάνιση του πίνακα eidoskomatia (κατάσταση) έχουμε τον εξής κώδικα: Σελίδα 33 από 68

Ανάπτυξη της εφαρμογής Οπότε αν ο χρήστης πατήσει το button «κατάσταση» θα του εμφανίσει ουσιαστικά τον πίνακα eidoskomatia. Η εικόνα θα είναι κάπως έτσι: Εικόνα 3.6 προβολή κατάστασης ενός είδους εμφάνιση του πίνακα eidoskomatia Άμα ο χρήστης πατήσει το button «BARCODES» θα του εμφανίσει πάλι τον πίνακα eidoskomatia μόνο που θα έχει επιπλέον το barcode του κομματιού. Θα είναι όπως την εικόνα παρακάτω: Σελίδα 34 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Εικόνα 3.7 προβολή barcode ενός είδους εμφάνιση του πίνακα eidoskomatia Στο αρχείο fιnd_polisi.php Και εδώ έχουμε τα ίδια πράγματα με το αρχείο find_color.php μόνο που αλλάζει η εντολή sql σύμφωνα με τον αν υπάρχει τιμή στο πεδίο date1 ή στο πεδίο price1. Επίσης αν η τιμή κάποιου πεδίου έπειτα από την εντολή select είναι κενή, αντικαθιστάται με την τιμή &nbsp. Η εντολή έχει ως εξής: Σελίδα 35 από 68

Ανάπτυξη της εφαρμογής Το αποτέλεσμα έχει ως εξής: Εικόνα 3.8 αποτέλεσμα αναζήτησης πωλήσεων Άμα πατήσει ο χρήστης ένα από τα button του πεδίου barcode θα μας δείξει τα στοιχεία του κομματιού. Οι εντολές sql που εκτελούνται για αυτό το αποτέλεσμα είναι οι εξής: select eidosid, colorid, n, numbers from eidoskomatia where barcode='$barcode'; select * from eidos where id='$eidosid'; Η εμφάνιση του αποτελέσματος φαίνεται παρακάτω: Σελίδα 36 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Εικόνα 3.9 εμφάνιση κομματιού Στο αρχείο fιnd_kommati.php Και εδώ έχουμε τα ίδια πράγματα με το αρχείο find_color.php μόνο που αλλάζει η εντολή sql και φυσικά προσθέτονται περισσότερες στήλες στον πίνακα. Επίσης αν η τιμή του πεδίου notes έπειτα από την εντολή select είναι κενή, αντικαθιστάται με την τιμή &nbsp. Οι εντολές έχους ως εξής: select eidosid, colorid, n, numbers from eidoskomatia where barcode='$barcode'; select * from eidos where id='$eidosid'; Η εμφάνιση του αποτελέσματος είναι ίδιο με την εικόνα 3.9 3.6 ΔΙΑΓΡΑΦΗ ΔΕΔΟΜΕΝΩΝ ΑΠΟ ΤΗ ΒΑΣΗ Σε αυτό το υποκεφάλαιο θα παρουσιάσω τις εντολές sql για διαγραφή δεδομένων που υπάρχουν στα αρχεία php ανάκτησης και εμφάνισης δεδομένων καθώς και που υπάρχουν. Σελίδα 37 από 68

Ανάπτυξη της εφαρμογής Οι μεταβλητές της php που παρουσιάζονται μέσα μονά εισαγωγικά είναι οι εκάστοτε τιμές (πάντα κλειδιά πινάκων) που έχουν μεταβιβαστεί κρυφά από την φόρμα για την διαγραφή των δεδομένων. Στο αρχείο find_color.php select distinct(colorid) from eidoskomatia where colorid='$id' άμα δεν έχουμε αποτελέσματα τότε delete from color where id='$id' limit 1 Στο αρχείο find_season.php select seasonid from eidos where seasonid='$id' άμα δεν έχουμε αποτελέσματα τότε delete from season where id='$id' limit 1 Στο αρχείο find_kategory.php select kategoryid from eidos where kategoryid='$id' άμα δεν έχουμε αποτελέσματα τότε delete from kategory where id='$id' limit 1 Στο αρχείο find_size.php select sizeid from eidos where sizeid='$id' άμα δεν έχουμε αποτελέσματα τότε delete from size where id='$id' limit 1 Στο αρχείο find_supplier.php select supplierid from eidos where supplierid='$id' άμα δεν έχουμε αποτελέσματα τότε delete from supplier where id='$id' limit 1 Σελίδα 38 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Στο αρχείο find_eidos.php select * from eidoskomatia where eidosid='$id' and numbers>0; άμα δεν έχουμε αποτελέσματα τότε delete from eidoskomatia where eidosid='$id'"; delete from eidos where id='$id' limit 1 3.6 ΑΝΑΝΕΩΣΗ ΔΕΔΟΜΕΝΩΝ ΑΠΟ ΤΗ ΒΑΣΗ Σε αυτό το υποκεφάλαιο θα παρουσιάσω τις εντολές sql για ανανέωση δεδομένων που υπάρχουν στα αρχεία php ανάκτησης και εμφάνισης δεδομένων καθώς και που υπάρχουν. Οι μεταβλητές της php που παρουσιάζονται μέσα μονά εισαγωγικά είναι οι εκάστοτε τιμές που έχει υποβάλει ο χρήστης στην εκάστοτες φόρμες, για την ανανέωση των τιμών ενός πίνακα. Αν δεν έχει υποβάλει τιμή, η τιμή αντικαθιστάται με την τιμή (τίποτα). Στο αρχείο find_color.php select perigrafi from color where perigrafi='$perigrafi' αν η τιμή που υπέβαλε ο χρήστης είναι διαφορετική από το αποτέλεσμα της παραπάνω select τοτε update color set perigrafi='$perigrafi' where id='$id' Στο αρχείο find_season.php select perigrafi from season where perigrafi='$perigrafi' αν η τιμή που υπέβαλε ο χρήστης είναι διαφορετική από το αποτέλεσμα της παραπάνω select τοτε update season set perigrafi='$perigrafi' where id='$id' Στο αρχείο find_kategory.php select perigrafi from kategory where perigrafi='$perigrafi' Σελίδα 39 από 68

Ανάπτυξη της εφαρμογής αν η τιμή που υπέβαλε ο χρήστης είναι διαφορετική από το αποτέλεσμα της παραπάνω select τοτε update kategory set perigrafi='$perigrafi' where id='$id' Στο αρχείο find_size.php select perigrafi from size where perigrafi='$perigrafi' αν η τιμή που υπέβαλε ο χρήστης είναι διαφορετική από το αποτέλεσμα της παραπάνω select τοτε update size set perigrafi='$perigrafi', n1='$n1', n2='$n2', n3='$n3', n4='$n4', n5='$n5', n6='$n6', n7='$n7', n8='$n8', n9='$n9', n10='$n10', n11='$n11', n12='$n12', n13='$n13', n14='$n14', n15='$n15', n16='$n16', n17='$n17', n18='$n18', n19='$n19', n20='$n20' where id='$id'"; Στο αρχείο find_supplier.php select afm, name from supplier where id='$id' αν η τιμές που υπέβαλε ο χρήστης είναι διαφορετικές από το αποτέλεσμα της παραπάνω select τοτε update supplier set name='$name', namecompany='$namecompany', afm='$afm', doy='$doy', address='$address', city='$city', tk='$tk', til1='$til1', til2='$til2', fax='$fax', email='$email', notes='$notes', antiname='$antiname', antiaddress='$antiaddress', anticity='$anticity', antitk='$antitk', antitil='$antitil', antifax='$antifax', antiemail='$antiemail', antinotes='$antinotes' where id='$id' Στο αρχείο find_eidos.php Σελίδα 40 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Σελίδα 41 από 68

ΚΕΦΑΛΑΙΟ 4 ΤΟ MANUAL ΤΗΣ ΕΦΑΡΜΟΓΗΣ Σελίδα 42 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου ΑΡΧΙΚΗ ΣΕΛΙΔΑ Η κεντρική σελίδα της εφαρμογής είναι αυτή που φαίνεται στην παρακάτω εικόνα. Εικόνα 4.1 κεντρική σελίδα ΕΙΣΑΓΩΓΗ ΕΓΓΡΑΦΗΣ Κάντε κλικ σε κάποιο link, π.χ. Χρώματα και θα εμφανιστεί η παρακάτω εικόνα Σελίδα 43 από 68

Το manual της εφαρμογής Εικόνα 4.2 κεντρική μενού χρωμάτων Πατήστε στο link Νέα εγγραφή για να καταχωρίσετε νέο εγγραφή. Θα εμφανιστεί μία φόρμα όπως φαίνεται παρακάτω Σελίδα 44 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Εικόνα 4.3 εισαγωγή χρώματος Βάλτε τιμή στο πεδία με αστεράκι καθώς και σε όποια επιπλέον πεδία (αν υπάρχουν) επιθυμήτε. Πατήστε εκχώρηση. Αν όλα πήγαν καλά θα εμφανιστεί το παρακάτω μήνυμα. Για την καρτέλα ΕΙΔΟΣ στις select που υπάρχουν, οι επιλογές που εμφανίζονται είναι ότι έχει εκχωρηθεί ως τώρα στις επιμέρους καρτέλες. Εάν δεν υπάρχει η επιλογή που θέλουμε πρέπει να πάμε στην επιμέρους καρτέλα και να κάνουμε την κατάλληλη εγγραφή. Σελίδα 45 από 68

Το manual της εφαρμογής Εικόνα 4.4 επιτυχημένη εισαγωγή χρώματος Αλλιώς θα εμφανιστεί ένα μήνυμα λάθους π.χ. Σελίδα 46 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Εικόνα 4.5 αποτυχημένη εισαγωγή χρώματος ΑΝΑΖΗΤΗΣΗ ΕΓΓΡΑΦΗΣ Πατήστε στο link Αναζήτηση εγγραφής για να αναζητήσετε εγγραφές που έχουν γίνει σε κάποιον πίνακα. Θα εμφανιστεί μία φόρμα όπως φαίνεται στην παρακάτω εικόνα. Σελίδα 47 από 68

Το manual της εφαρμογής Εικόνα 4.6 αναζήτηση χρώματος Εισάγετε τιμές σε όποια πεδία θέλετε. Μπορείτε να χρησιμοποιήσετε και σύμβολο % για να προσδιορίσετε ένα μικρότερο μέρος ενός πεδίου της εγγραφής. Για παράδειγμα το ΜΠ% αντιστοιχεί σε ΜΠΛΕ, ΣΕ ΜΠΛΕΣΚΟΥΡΟ κ.α. Πατήστε αναζήτηση και θα εμφανιστούν τα αποτελέσματα της αναζήτησης. Σελίδα 48 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Εικόνα 4.7 αποτελέσματα αναζήτησης χρώματος ΔΙΑΓΡΑΦΗ ΚΑΙ ΔΙΟΡΘΩΣΗ ΕΓΓΡΑΦΗΣ Τώρα μπορείτε διαλέξετε την εγγραφή που θέλετε πατώντας το κουμπί που της αντιστοιχεί. Θα μας μεταβιβάσει σε μία καινούργια καρτέλα με τις τιμές της εγγραφής. Σελίδα 49 από 68

Το manual της εφαρμογής Εικόνα 4.8 επιλεγμένο χρώμα Από δω και πέρα μπορείτε να διορθώσετε ή να διαγράψετε την εγγραφή ανάλογα με το τι θέλετε. Αν κάτι δεν πήγε καλά κατά την διόρθωση ή διαγραφή να εμφανίσει μήνυμα σφάλματος Σελίδα 50 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Εικόνα 4.9 σφάλμα κατά την διαγραφή χρώματος αλλιώς θα εμφανίσει μήνυμα επιτυχούς διόρθωσης ή διαγραφής. Σελίδα 51 από 68

Το manual της εφαρμογής Εικόνα 4.10 επιτυχής διόρθωση χρώματος ΠΩΛΗΣΗ Πατήστε στο link Πώληση, και έπειτα στο link Πώληση που εμφανίζετε στην δεξιά καρτέλα πάνω, και θα σας εμφανιστεί η παρακάτω εικόνα: Σελίδα 52 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Εικόνα 4.11 φόρμα πώλησης Εισάγετε τιμές στα πεδία με αστεράκι υποχρεωτικά, και στο πεδίο ΣΗΜΕΙΩΣΕΙΣ προαιρετικά. Αν όλα πήγαν καλά θα εμφανιστεί μήνυμα επιτυχούς πώλησης. Αλλιώς θα εμφανίσει σφάλμα. ΑΝΑΖΗΤΗΣΗ ΠΩΛΗΣΕΩΝ Πατήστε στο link αναζήτηση πωλήσεων και θα εμφανιστεί η παρακάτω φόρμα: Σελίδα 53 από 68

Το manual της εφαρμογής Εικόνα 4.12 φόρμα αναζήτηση πωλήσεων Σε αυτήν την φόρμα αν υπάρχουν τιμές στο δεξιό πλαίσιο των πεδίων ΤΙΜΗ και ΗΜΕΡΟΜΗΝΙΑ, η αναζήτηση γίνεται ανάμεσα στις τιμές του αριστερού πλαισίου και στις τιμές του δεξιού πεδίου. Παράδειγμα : Σελίδα 54 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Εικόνα 4.13 φόρμα αναζήτηση πωλήσεων π.χ. Το αποτέλεσμα αυτών των τιμών θα μας δώσει τις πωλήσεις που έγιναν από 1/4/2008 έως 30/4/2008 Το αποτέλεσμα της εύρεσης θα εμφανίζεται ως εξής: Σελίδα 55 από 68

Το manual της εφαρμογής Εικόνα 4.14 αποτέλεσμα αναζήτηση πωλήσεων. Τώρα άμα πατήσουμε σε ένα από τα κουμπιά που έχουν σαν τιμή το barcode που πουλήθηκε θα εμφανίσει τις ιδιότητες του κομματιού με αυτό το barcode. Σελίδα 56 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Εικόνα 4.15 ιδιότητες κομματιού. ΑΝΑΖΗΤΗΣΗ ΚΟΜΜΑΤΙΟΥ Όταν θέλουμε να βρούμε τα στοιχεία ενός κομματιού που έχουμε στην αποθήκη, πατάμε στο link «Αναζήτηση κομματιού» και εμφανίζεται μία φόρμα με ένα πεδίο με όνομα BARCODE. Σε αυτό το πεδίο γράφουμε το barcode του κομματιού και πατάμε ΕΥΡΕΣΗ. Το αποτέλεσμα εμφανίζεται όπως την εικόνα 4.15 ΑΠΟΓΡΑΦΗ Πατάμε στο link απογραφή και έπειτα στο κουμπί ΑΠΟΓΡΑΦΗ. Η εφαρμογή κάνει αυτόματα την απογραφή και το αποτέλεσμα εμφανίζεται ως εξής: Σελίδα 57 από 68

Το manual της εφαρμογής Εικόνα 4.16 απογραφή. Σελίδα 58 από 68

ΣΥΜΠΕΡΑΣΜΑ Κατά την εκπόνηση της εργασίας τέθηκαν πολλές διορθώσεις οι οποίες κάποιες φορές ήταν και πολύ σημαντικές. Μία φορά κιόλας χρειάστηκε να σβήσω ολόκληρο πίνακα από την βάση καθώς κατάλαβα, και μάλιστα προς το τέλος της πτυχιακής, ότι γινόταν διπλές εγγραφές. Η τελική όμως μορφή της πτυχιακής είναι ικανοποιητική καθώς τέθηκε σε πράξη και σε πραγματικά δεδομένα. Βέβαια θα μπορούσε να είναι και καλύτερη όπως π.χ. χρησιμοποιώντας και javascript, για να γίνονται κάποιες εργασίες σε πραγματικό χρόνο και όχι να περιμένουμε πότε θα πατήσει ο χρήστης το κουμπί. Τέλος μελλοντικά θα μπορούσαν να επεκταθούν οι λειτουργίες της εφαρμογής και να γίνει ολόκληρο πληροφοριακό σύστημα. Επιπλέον λειτουργίες θα μπορούσαν να είναι δελτία παραγγελίας, τιμολόγια αγορών, δελτία αποστολής. Επίσης θα μπορούσαν να μπούνε και καινούργιες φυσικές οντότητες όπως προσωπικό, μισθοδοσία, χρονοδιάγραμμα βραχυπρόθεσμων υποχρεώσεων. Σελίδα 59 από 68

ΒΙΒΛΙΟΓΡΑΦΙΑ www.php.net www.mysql.com www.apache.org www.3dbuzz.com Δημήτρης Γ. (2004), php_manual_el.html Castro E. (2005), HTML ΓΙΑ ΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ, εκδόσεις Κλειδάριθμος Ullman L. (2005), PHP ΓΙΑ ΤΟΝ ΠΑΓΚΟΣΜΙΟ ΙΣΤΟ, εκδόσεις Κλειδάριθμος Σελίδα 60 από 68

ΠΑΡΑΡΤΗΜΑ ΤΟ ΑΡΧΕΙΟ db_config.php Το αρχείο db_config.php περιέχει τις μεταβλητές για την σύνδεση με τη βάση anlumpe_784 η οποία είναι η βάση που υπάρχουν οι προαναφερθείσας πίνακες. Επίσης περιέχει όλες τις συναρτήσεις που δημιούργησα κατά την εκπόνηση της εφαρμογής. Έτσι έκρινα σκόπιμο να το παραθέσω. Σελίδα 61 από 68

Παράρτημα Σελίδα 62 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Σελίδα 63 από 68

Παράρτημα Σελίδα 64 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Σελίδα 65 από 68

Παράρτημα Σελίδα 66 από 68

Πτυχιακή εργασία του Λυμπερίδη Αντώνιου Σελίδα 67 από 68

Παράρτημα Σελίδα 68 από 68