Το σύστημα βάσεων δεδομένων MySQL

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Το σύστημα βάσεων δεδομένων MySQL"

Transcript

1 MySQL - PHP Ιωάννης Γ. Τσούλος Το σύστημα βάσεων δεδομένων MySQL 1. Εισαγωγή H mysql είναι ένα ελεύθερο σύστημα διαχειρίσεως βάσεων δεδομένων που είναι ευρύτατα διαδεδομένη στα UNIX συστήματα, αν και τα τελευταία χρόνια δείχνει να κατακτά και τον κόσμο των Win32. Οι ενδιαφερόμενοι μπορούν να βρουν την τελευταία έκδοση στο H mysql είναι πολυνηματική και πολυχρηστική και υποστηρίζει τα τελευταία standards της SQL. Στην αναφορά που κρατάτε στα χέρια σας δεν θα κάνουμε κάποια λεπτομερή παρουσίασή της καθώς κάτι τέτοιο απαιτεί πάρα πολλές σελίδες. Απλά θα δώσουμε τις βασικές της αρχές και τις σημαντικότερες εντολές της προκειμένου να φτιάξουμε γρήγορα και εύκολα απλές και λειτουργικές βάσεις δεδομένων. Τα πειράματα που παρουσιάζονται παρακάτω έγιναν σε RedHat Linux 7.2 και 7.3 που χρησιμοποιεί την έκδοση της MySQL. Φυσικά αυτό δεν περιορίζει σε τίποτα την γενικότητα των παραδειγμάτων που ακολουθούν 2. Είσοδος Για να ξεκινήσουμε την mysql σαν απλοί χρήστες αρκεί να γράψουμε mysql σε ένα τερματικό. Αν λάβουμε το μήνυμα ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) σημαίνει πως η mysql δεν τρέχει ή καλύτερα ο εξυπηρέτης της δεν εκτελείται. Είναι απαραίτητο για να μπορούμε να μπούμε στην mysql να εκτελείται ήδη ο εξυπηρέτης της μιας και η βάση είναι όχι μόνον πολυχρηστική αλλά επιτρέπει και την σύνδεση από άλλα μηχανήματα. Αν λοιπόν εμφανιστεί ένα μήνυμα σαν και το παραπάνω θα πρέπει ο διαχειριστής του μηχανήματος (root) να ξεκινήσει τον εξυπηρέτη (σε redhat αρκεί η εντολή /etc/rc.d/init.d/mysql restart). Αν και στο internet υπάρχουν διαθέσιμα πολλές γραφικές διαπροσωπείες για την mysql, ο καλύτερος τρόπος να ξεκινήσει κανείς μαζί της είναι με την χρήση εντολών σε τερματικό. Αν θέλουμε να δούμε κάποια βοήθεια απλά δίνουμε \h και αν θέλουμε να τερματίσουμε την σύνοδο δίνουμε \q. 3. Δημιουργία βάσεων δεδομένων Για να φτιάξουμε μία νέα βάση δεδομένων πρέπει να έχουμε δικαίωμα από τον διαχειριστή να το κάνουμε. Σε Linux συστήματα αυτό συνήθως δεν γίνεται. Δικαιώματα δημιουργίας και διαγραφής σε μία βάση δεδομένων έχει μόνον ο υπερχρήστης. Για να δημιουργήσει ο υπερχρήστης μία νέα βάση δεδομένων αρκεί να δώσει create database name; όπου το name είναι το όνομα της βάσεως. Στην συνέχεια θα πρέπει να δώσει ΣΕΛΙΔΑ 1/43

2 δικαιώματα και σε μας με την χρήση της εντολής grant all on name.* to user; Αφού γίνουν όλα αυτά για να χρησιμοποιήσουμε μία βάση δεδομένων απαιτείται να δώσουμε την εντολή use name στην γραμμή εντολών της mysql. Αν την πρώτη φορά που ζητήσουμε να χρησιμοποιήσουμε την βάση πάρουμε ένα μήνυμα λάθους σχετικά με δικαιώματα, τότε μπορούμε να εισάγουμε την εντολή connect name και ύστερα use name και το πρόβλημα έχει λυθεί. Αν όλα τα παραπάνω ακούγονται πολύπλοκα μπορούμε να χρησιμοποιήσουμε την προκαθορισμένη βάση δεδομένων test, για την οποία δεν χρειάζεται να ζητήσουμε κάτι από τον διαχειριστή συστήματος. Ωστόσο είναι κοινή βάση και έτσι ότι φτιάξουμε στην συνέχεια θα μπορούν να το δουν και να το αλλάξουν και άλλοι χρήστες του συστήματος. 4. Δημιουργία πινάκων Αφού συνδεθούμε σε μία βάση δεδομένων το επόμενο βήμα είναι να κάνουμε κάποια εργασία σε πίνακες που διαθέτει. Αν δεν έχει πίνακες μπορούμε να φτιάξουμε με την εντολή create table. Αν για παράδειγμα θέλουμε ένα πίνακα για την περιγραφή φοιτητών μπορούμε να γράψουμε: create table student(name varchar(20), lastname varchar(20), code int); 5. Εισαγωγή δεδομένων Η εισαγωγή δεδομένων στην βάση μπορεί να γίνει είτε με την εντολή insert είτε από κάποιο αρχείο. Με την εντολή insert μπορούμε να γράψουμε για το παράδειγμα του πίνακα φοιτητών: insert into student(name,lastname,code) values('giannis','papadopoulos',122); Αν έχουμε να περάσουμε κάποιες χιλιάδες ονόματα η παραπάνω διαδικασία γίνεται κουραστική. Αυτό που μπορούμε να κάνουμε είναι να γράψουμε τις πλειάδες που θέλουμε σε ένα αρχείο κειμένου, έστω students.txt, και στην συνέχεια να φορτώσουμε αυτά τα στοιχεία στην βάση δεδομένων load data local infile 'students.txt' into table student; Στο αρχείο δεδομένων τα πεδία στην κάθε πλειάδα χωρίζονται μεταξύ τους με TAB. 6. Ενημέρωση δεδομένων Πολλές φορές χρειάζεται να αλλάξουμε κάποια από τα δεδομένα που έχουμε εισάγει νωρίτερα σε κάποιον πίνακα. Η αλλαγή αυτή γίνεται με την χρήση της εντολής update. Για το παράδειγμα των φοιτητών που είδαμε προηγουμένως μία έγκυρη εντολή ενημερώσεως θα μπορούσε να είναι: 7. Ερωτήματα update students set name='kostas' where name='giannis'; Η εντολή που χρησιμοποιούμε για να εκτελέσουμε κάποια ερωτήματα σε μία βάση δεδομένων είναι η select. Η πλήρης (όσο γίνεται) σύνταξή της είναι ΣΕΛΙΔΑ 2/43

3 7.1 Όλα τα δεδομένα select field1, field2,... from tablename where boolean condition; Για να πάρουμε όλα τα δεδομένα από έναν πίνακα χρησιμοποιούμε την σύνταξη 7.2 Συγκεκριμένες πλειάδες select * from tablename; Για να ανακτήσουμε συγκεκριμένες πλειάδες από έναν πίνακα αρκεί να ορίσουμε κάποια λογική συνθήκη στην ενότητα where της εντολής select. Για παράδειγμα για να εμφανίσουμε τους φοιτητές με κωδικό μεγαλύτερο του 500 γράφουμε 7.3 Συγκεκριμένες στήλες select * from student where code>500; Για να επιλέξουμε συγκεκριμένες στήλες από έναν πίνακα πρέπει να προσδιορίσουμε τις στήλες αυτές στην κεφαλή του select. Για παράδειγμα για να εμφανίσουμε μόνον τα ονόματα των φοιτητών γράφουμε: 7.4 Ταξινόμηση πλειάδων select name from student; Είναι χρήσιμο στην έξοδο των αποτελεσμάτων από μία επιλογή να δούμε τα αποτελέσματα ταξινομημένα προκειμένου να αποφασίσουμε πιο εύκολα. Αυτό γίνεται βάζοντας το επίθεμα ORDER BY COLUMN στο τέλος της εντολής select. Column είναι το όνομα του πεδίου κατά το οποίο επιθυμούμε ταξινόμηση. Για παράδειγμα αν θέλουμε να ταξινομήσουμε τους φοιτητές ως προς το επίθετό τους γράφουμε: 7.5 Ταίριασμα προτύπων select * from student order by lastname; Με το ταίριασμα προτύπων κάνουμε πράξεις μεταξύ αλφαριθμητικών προκειμένου να βρίσκουμε πλειάδες στις οποίες υπάρχει ταίριασμα κάποιου ονόματος με ένα συγκεκριμένο πρότυπο αλφαριθμητικού. Για παράδειγμα για να βρούμε όλους τους φοιτητές που το όνομά τους τελειώνει σε 'ΟΣ' μπορούμε να γράψουμε select * ΣΕΛΙΔΑ 3/43

4 Το σύμβολο % συμβολίζει το οτιδήποτε. 8. Διαγραφή from student where name like '%ΟΣ'; Για να διαγράψουμε κάποιες πλειάδες από μία βάση δεδομένων πρέπει να χρησιμοποιήσουμε την εντολή delete, που συντάσσεται ως εξής: delete from tablename where condition; Αν για παράδειγμα θέλουμε να σβήσουμε τους φοιτητές που ο κωδικός τους είναι αρνητικός (λάθος στην εισαγωγή), τότε μπορούμε να γράψουμε: delete from student where code<0; Αν θέλουμε να διαγράψουμε ολόκληρο τον πίνακα student, τότε δίνουμε drop table student; ΣΕΛΙΔΑ 4/43

5 Η γλώσσα PHP 1. Εισαγωγή Php είναι ακρωνύμιο για το Php Hypertext Preprocessor, το οποίο φυσικά είναι μία επαναλαμβανόμενη ακολουθία του ίδιου του ονόματος. Ουσιαστικά πρόκειται για μια γλώσσα script που εκτελείται στην μεριά του διακομιστή σελιδών. Για να δούμε με τι μοιάζει μπορούμε να μελετήσουμε το επόμενο παράδειγμα: <html> </html> <head> </head> <body> </body> <title> Βασική Σελίδα </title> echo ΓΕΙΑ ΣΑΣ ΑΠΟ ΤΗΝ PHP ; Όπως μπορούμε να καταλάβουμε με μία πρώτη ανάγνωση του κώδικα η PHP περικλείεται μέσα σε κώδικα HTML με την χρήση των TAGS. Σκοπός της PHP είναι να δώσει ζωντάνια σε έναν στατικό κώδικα HTML, ώστε να μπορούμε μέσα από απλές σελίδες να εκτελούμε και κώδικα που να προσαρμόζεται στις απαιτήσεις του χρήστη. Οι σελίδες PHP επειδή εκτελούνται από τον server δεν τις ανοίγουμε ποτέ σαν απλά έγγραφα από τον φυλλομετρητή που χρησιμοποιούμε, αλλά πρέπει να συνδεθούμε μέσω του φυλλομετρητή στον απομακρυσμένο διακομιστή σελιδών και να ζητήσουμε την εκτέλεση της σελίδας. Αν λοιπόν ο χρήστης user έχει στον φάκελο public_html στον κόμβο την σελίδα first.php για να την δούμε θα πρέπει να δώσουμε στο πεδίο διευθύνσεως του φυλλομετρητή μας Αν από την άλλη δεν έχουμε μόνιμη σύνδεση στο INTERNET (μόνιμο ΙΡ) και θέλουμε απλώς να δοκιμάσουμε μία σελίδα στο μηχάνημα που βρισκόμαστε, τότε πολύ απλά δίνουμε στο πεδίο διευθύνσεως του φυλλομετρητή Στην επόμενη ενότητα θα μελετήσουμε τα βασικά στοιχεία της γλώσσας. 2. Βασικά στοιχεία της γλώσσας 2.1 Βασική Σύνταξη Για να μπορέσουμε να γράψουμε κώδικα PHP που να εκτελείται θα πρέπει να ΣΕΛΙΔΑ 5/43

6 περικλείεται στα TAGS που είδαμε στην προηγούμενη ενότητα. Επιπλέον οι εντολές που υπάρχουν σε μία ενότητα PHP διαχωρίζονται μεταξύ τους με το Ελληνικό ερωτηματικό (;) ακριβώς όπως θα κάναμε και στην γλώσσα C. Έτσι το επόμενο παράδειγμα <html> </html> <head> </head> <body> </body> <title> Βασική Σελίδα </title> echo ΓΕΙΑ ΣΑΣ ΑΠΟ ΤΗΝ PHP ; echo Αυτό είναι το δεύτερο μήνυμα ; περιέχει μία ενότητα PHP με 2 εντολές σε αυτήν. Εδώ θα πρέπει να πούμε πως η εντολή echo τυπώνει στην σελίδα HTML στην θέση που βρισκόμαστε το κείμενο που υπάρχει μέσα στα διπλά εισαγωγικά. Αν λοιπόν ανοίξουμε την παραπάνω σελίδα θα δούμε στην οθόνη το κείμενο ΓΕΙΑ ΣΑΣ ΑΠΟ ΤΗΝ ΡΗΡΑυτό είναι το δεύτερο μήνυμα. Στην παραπάνω έξοδο δεν υπάρχει κανένα λάθος. Και τα δύο μηνύματα εμφανίστηκαν το ένα μετά το άλλο και δεν υπήρξε αλλάγή γραμμής ανάμεσά τους. Αν θέλουμε να γίνει κάτι τέτοιο, τότε θα πρέπει να ενσωματώσουμε το TAG <BR> μέσα στο κείμενο που θα εκτυπώσουμε. Έτσι λοιπόν η ενότητα κώδικα θα τυπώσει echo MHNYMA1<BR> ; echo MHNYMA2 ; MHNYMA1 MHNYMA2 Φυσικά από την στιγμή που μπορούμε να ενσωματώσουμε ένα TAG μπορούμε να ενσωματώσουμε οποιοδήποτε άλλο. Η επόμενη ενότητα κώδικα θα τυπώσει echo MHNYMA1<BR> ; echo <B>MHNYMA2</B>; ΜΗΝΥΜΑ1 ΜΗΝΥΜΑ2 ΣΕΛΙΔΑ 6/43

7 Ένα άλλο βασικό στοιχείο σε γλώσσες προγραμματισμού είναι ο σχολιασμός κώδικα. Στην PHP αυτό γίνεται με την χρήση των σχολίων που συναντάμε στην C++. Έτσι τα σχόλια μπορούν να βρίσκονται μετά από // ή ακόμα και να περικλείονται μέσα σε /* */. 2.2 Μεταβλητές Ονοματολογία Αν οι δυνατότητες της PHP περιορίζονταν στο να γράφει απλώς κείμενο επί της οθόνης, τότε δεν θα ήταν περισσότερο χρήσιμη από ότι η απλή HTML. Ωστόσο πρόκειται για μία γλώσσα προγραμματισμού και σαν τέτοια έχει και μεταβλητές και τελεστές αλλά και δομές ελέγχου. Οι μεταβλητές στην PHP ξεκινούν πάντα με το σύμβολο $ ακολουθούμενο από ένα όνομα με λατινικά γράμματα, αριθμούς και _ που πρέπει να ξεκινά με γράμμα ή κάτω παύλα. Έτσι έγκυρα ονόματα είναι $i, $kala, $var11, $_ab κτλ Τέλος πρέπει να επισημανθεί πως η γλώσσα θεωρεί διαφορετικές μεταβλητές αυτές που γράφονται με πεζά ή κεφαλαία γράμματα. Έτσι οι μεταβλητές $a και $Α δεν είναι ίδιες Τύποι δεδομένων Τυπικά η γλώσσα έχει τους ακόλουθους τύπους δεδομένων 1. Boolean 2. Integer 3. Double 4. String Ωστόσο δεν παρέχεται στον προγραμματιστή κάποιος άμεσος τρόπος ώστε να δηλώσει μία μεταβλητή με κάποιον από τους παραπάνω τύπους. Η ανάθεση σε μία μεταβλητή μίας τιμής κατευθύνει τον διερμηνευτή, ώστε να καταλάβει ποιος είναι ο απαιτούμενος τύπος. Έστω η επόμενη ενότητα κώδικα <% %> $a=1; $b=true; $c=2.2; $d= good morning ; Δημιουργεί τέσσερις μεταβλητές, την a με ακέραιο τύπο, την b με boolean τύπο, την c με τύπο πραγματικών αριθμών και τέλος την d με τύπο αλφαριθμητικού. Ωστόσο καμία μεταβλητή δεν δεσμεύεται στατικά με έναν τύπο παρά μόνον στην ανάθεση. Έτσι αν στην ίδια ενότητα κώδικα με την προηγούμενη ή σε κάποια άλλη υπάρχει η ανάθεση $d=-1.7, τότε δεν θα προκληθεί κάποιο λάθος και απλά ο νέος τύπος για την μεταβλητή $d είναι double. ΣΕΛΙΔΑ 7/43

8 2.2.3 Μεταβλητές του Apache Πέρα από τις μεταβλητές που μπορούμε να φτιάξουμε στο δικό μας πρόγραμμα, υπάρχουν και κάποιες μεταβλητές που παρέχονται από τον διακομιστή σελιδών και έχουν ειδική σημασία για το πρόγραμμά μας. Οι σημαντικότερες από αυτές είναι: 1. $SERVER_NAME Είναι το όνομα του διακομιστή σελιδών που μας διερμηνεύει τις σελίδες. Σε μηχάνημα χωρίς δίκτυο επιστρέφει localhost.localdomain 2. $REQUEST_METHOD Επιστρέφει την μέθοδο που χρησιμοποιήθηκε για την πρόσβαση στην σελίδα, αν αυτό έγινε με την χρήση κάποιας φόρμας. Πιθανές τιμές αυτής της μεταβλητής είναι GET, HEAD, POST, PUT 3. $QUERY_STRING Επιστρέφει τα QUERY_STRINGS που βρίσκονται στην γραμμή διευθύνσεων του φυλλομετρητή. Αν για παράδειγμα έχουμε γράψει τότε $QUERY_STRING= a=1 Από την άλλη αν έχουμε δώσει την διεύθυνση τότε $QUERY_STRING= a=1&b=2 4. $HTTP_USER_AGENT Επιστρέφει σε μορφή αλφαριθμητικού πληροφορία για τον φυλλομετρητή που χρησιμοποιούμε για να δούμε την συγκεκριμένη σελίδα. Για παράδειγμα σε PC με Linux και φυλλομετρητή Konqueror επεστράφη η ακόλουθη πληροφορία Mozilla/5.0 (compatible; Konqueror/3.0.0; Linux) 5. $REMOTE_ADDR Μας δίνει την διεύθυνση (ΙΡ) από την οποία βλέπουμε την συγκεκριμένη σελίδα. Αν φυσικά χρησιμοποιούμε το localhost θα μας επιστρέψει $SCRIPT_FILENAME Μας δίνει υπό την μορφή απόλυτης διαδρομής το μονοπάτι προς το εκτελούμενο script. Παράδειγμα τιμής είναι το /home/user/public_html/page1.php 7. $SCRIPT_NAME Μας δίνει υπό την μορφή διαδρομών του διακομιστή το μονοπάτι προς το εκτελούμενο script. Για το προηγούμενο παράδειγμα επιστρέφει /~user/page1.php Ανάκτηση Query Strings Πολλές φορές θα έχουμε προσέξει πως στο Internet μια σελίδα δεν εμφανίζεται απλώς με το όνομά της, αλλά και με διάφορα QUERY STRINGS που την ακολουθούν στο πεδίο διευθύνσεως του φυλλομετρητή. Για παράδειγμα η αναφορά στην σελίδα αναφέρεται στην σελίδα page1.php και της περνά σαν πληροφορία δύο query strings, το a με τιμή 1 και το b με τιμή 2. Τα δύο query strings δεν είναι απαραίτητο πως θα χωρίζονται πάντα με &. Πολλές φορές μπορεί να ΣΕΛΙΔΑ 8/43

9 χρησιμοποιούμε και το % χωρίς περιορισμό. Ωστόσο στα παραδείγματα αυτού του κειμένου χρησιμοποιούμε το &. Στο επόμενο παράδειγμα παίρνουμε δύο παραμέτρους στην σελίδα μας και τα εκτυπώνουμε μέσα σε αυτήν <html> </html> <head> </head> <body> </body> <title> $a=$_get['a']; $b=$_get['b']; ΣΕΛΙΔΑ </title> echo Η ΠΡΩΤΗ ΠΑΡΑΜΕΤΡΟΣ ΕΙΝΑΙ $a<br> ; echo Η ΔΕΥΤΕΡΗ ΠΑΡΑΜΕΤΡΟΣ ΕΙΝΑΙ $b<br> ; Φυσικά θα πρέπει να χρησιμοποιήσουμε τα QUERY STRINGS προκειμένου να δούμε τις τιμές τους από τις δύο echo εντολές. προηγούμενη σελίδα θα τυπώσει στο παράθυρο του φυλλομετρητή Η ΠΡΩΤΗ ΠΑΡΑΜΕΤΡΟΣ ΕΙΝΑΙ 1 Η ΔΕΥΤΕΡΗ ΠΑΡΑΜΕΤΡΟΣ ΕΙΝΑΙ 2 a και b Για την Για να εκτυπώσουμε τις τιμές παραμέτρων μέσα από την echo αρκεί να παρεμβάλλουμε τα ονόματα των μεταβλητών στο σημείο που θέλουμε Ανάκτηση πεδίων φόρμας Ένα άλλο σημαντικό στοιχείο στον προγραμματισμό σελιδών είναι η επικοινωνία μεταξύ σελιδών με την χρήση φορμών. Η ανάκτηση των τιμών των πεδίων των φορμών γίνεται πολύ απλά με το όνομα των πεδίων ακριβώς όπως κάναμε προηγουμένως και με τα QUERY STRINGS, αλλά με χρήση του πίνακα $_POST αντί για τον πίνακα $_GET. Στο επόμενο παράδειγμα εισάγουμε στην φόρμα το όνομα και το επίθετο ενός ατόμου και στην δεύτερη σελίδα τα εμφανίζουμε στην οθόνη του φυλλομετρητή. <html> <head> </head> <body> form1.html <title> ΣΕΛΙΔΑ ΕΙΣΑΓΩΓΗΣ </title> ΣΕΛΙΔΑ 9/43

10 </html> <html> <body> <head> </body> </head> </body> </html> <form method= post action= page1.php > ΟΝΟΜΑ:<input type= text name= name > <BR> ΕΠΙΘΕΤΟ:<input type= text name= lastname > <BR> <input type= submit value= send > </form> page1.php <title> ΔΕΥΤΕΡΗ ΣΕΛΙΔΑ </title> $name=$_post['name']; $lastname=$_post['lastname']; echo "ΤΟ ΟΝΟΜΑ ΣΑΣ ΕΙΝΑΙ $name <BR>"; echo "ΤΟ ΕΠΙΘΕΤΟ ΣΑΣ ΕΙΝΑΙ $lastname <BR>"; Ανάκτηση τιμών λίστας Σε πολλές περιπτώσεις θα χρειαστεί να φτιάξουμε πτυσσόμενες λίστες προκειμένου να παρέχουμε στον χρήστη την δυνατότητα να επιλέξει από μία σειρά επιλογών. Στην επόμενη φόρμα φτιάχνουμε μία λίστα επιλογών για τις τέσσερις βασικές αριθμητικές πράξεις: <html> <head> </head> <title> </title> TEST PAGE ΣΕΛΙΔΑ 10/43

11 <body> </body> </html> <form method= post action= test1.php > ΠΡΑΞΕΙΣ:<select name= list > <option> add</option> <option> sub </option> <option> mult </option> <option> div </option> </select> <br> <input type= submit value= ok > </form> Για να φτιάξουμε μία λίστα χρησιμοποιούμε το tag select και με το πεδίο name δίνουμε ένα όνομα στην λίστα. Αυτό το όνομα είναι ιδιαίτερα σημαντικό, καθώς η PHP θα χρησιμοποιήσει μία μεταβλητή με αυτό το όνομα προκειμένου να αναφερθεί στο επιλεγμένο στοιχείο της λίστας. Οι επιλογές της λίστες μπαίνουν πάντα ανάμεσα στα tag <select> </select> με την βοήθεια του tag <option>. Ανάμεσα στα <select> </select> δεν μπορεί να μπει τίποτα άλλο παρά μόνον επιλογές με <option> και τίποτα άλλο. Μία απλή σελίδα η οποία εμφανίζει την τιμή που επιλέξαμε από την λίστα είναι η επόμενη: <html> <head> </head> <body> </body> </html> <title> </title> PHP PAGE $list=$_post['list']; echo ΕΠΙΛΕΞΑΤΕ ΤΟ ΣΤΟΙΧΕΙΟ $list<br> ; ΣΕΛΙΔΑ 11/43

12 2.3 Τελεστές Αριθμητικοί τελεστές ΤΕΛΕΣΤΗΣ ΑΠΟΤΕΛΕΣΜΑ $a+$b Πρόσθεση $a και $b $a-$b Αφαίρεση $b από $a $a * $b Πολλαπλασιασμός $a με $b $a / $b Διαίρεση $a και $b $a % $b Υπόλοιπο της ακέραιας διαιρέσεως $a/$b Αν τα δύο ορίσματα του τελεστή / είναι ακέραιοι τότε το αποτέλεσμα της διαιρέσεως είναι ακέραιος αριθμός. Επίσης υπάρχει και ο τελεστής. (τελεία) ο οποίος κάνει ότι το + στους αριθμούς για τα αλφαριθμητικά. Με αυτόν τον τελεστή συνενώνουμε δύο αλφαριθμητικά. Για παράδειγμα η έκφραση HELLO. WORLD έχει σαν αποτέλεσμα HELLO WORLD Τελεστές αναθέσεως Όμοια με την C η PHP έχει και τελεστές αναθέσεως. Για παράδειγμα είναι απόλυτα έγκυρο να γράψουμε σε κάποιο σημείο του κώδικα $a=($b = 2); όπως και να γράψουμε $a+=2; Η πρώτη εντολή αναθέτει το 2 στην μεταβλητή $b και φυσικά μετά την αναθέτει και στην μεταβλητή $a. Στην δεύτερη εντολή το 2 προστίθεται στην τιμή που έχει εκείνη την στιγμή η μεταβλητή $a Τελεστές συγκρίσεως Για να συγκρίνουμε αποτελέσματα πράξεων μεταξύ τους χρησιμοποιούμε τους τελεστές συγκρίσεως, οι οποίοι παρουσιάζονται στον επόμενο πίνακα. ΤΕΛΕΣΤΗΣ ΟΝΟΜΑ ΑΠΟΤΕΛΕΣΜΑ $a == $b ΙΣΟΤΗΤΑ Αληθές αν έχουν την ίδια τιμή τα $a, $b $a === $b ΤΑΥΤΟΤΗΤΑ Αληθές αν έχουν την ίδια τιμή τα $a,$b και είναι του ίδιου τύπου $a!= $b ΟΧΙ ΙΣΟΤΗΤΑ Αληθές αν δεν έχουν την ίδια τιμή τα $a, $b $a!== $b ΟΧΙ ΤΑΥΤΟΤΗΤΑ Αληθές αν δεν έχουν την ίδια τιμή τα $a, $b ή δεν έχουν τον ίδιο τύπο. ΣΕΛΙΔΑ 12/43

13 ΤΕΛΕΣΤΗΣ ΟΝΟΜΑ ΑΠΟΤΕΛΕΣΜΑ $a < $b ΜΙΚΡΟΤΕΡΟ Αληθές αν $a < $b $a <= $b ΜΙΚΡΟΤΕΡΟ Ή ΙΣΟΝ Αληθές αν $a<=$b $a > $b ΜΕΓΑΛΥΤΕΡΟ Αληθές αν $a>$b $a >= $b ΜΕΓΑΛΥΤΕΡΟ Ή ΙΣΟΝ Αληθές αν $a>=$b Τελεστές εκτελέσεως Η PHP έχει έναν τελεστή που όμοιό του δεν θα δούμε σε άλλη γλώσσα. Αυτός είναι ο τελεστής εκτελέσεως προγραμμάτων. Για να εκτελέσουμε μία εντολή του λειτουργικού αρκεί να την περικλείσουμε σε ` `. Προσέξτε αυτά δεν είναι τα μονά εισαγωγικά αλλά οι απόστροφοι. Για να δούμε στην πράξη το αποτέλεσμα του παραπάνω τελεστή ας μελετήσουμε την επόμενη ενότητα κώδικα: $result=`ls -CF'; echo LS RESULTS=<B>$result</B> ; Στην παραπάνω ενότητα εκτελείται η εντολή ls -CF του UNIX και το αποτέλεσμα αυτής εκχωρείται στην μεταβλητή $result. Στην συνέχεια με μία echo εμφανίζουμε με έντονα γράμματα τα αποτελέσματα της εντολής Λογικοί τελεστές Το τελευταίο είδος τελεστών που θα παρουσιάσουμε είναι οι λογικοί τελεστές. ΤΕΛΕΣΤΗΣ ΟΝΟΜΑ ΑΠΟΤΕΛΕΣΜΑ $a and $b AND Αληθές αν και $a αληθές και $b αληθές $a or $b OR Αληθές αν ή $a αληθές ή $b αληθές $a xor $b XOR Αληθές αν μόνον $a αληθές ή μόνον $b αληθές! $a NOT Αληθές αν $a ψευδές $a && $b AND Αληθές αν και $a αληθές και $b αληθές $a $b OR Αληθές αν ή $a αληθές ή $b αληθές Οι τελεστές and και or έχουν την ίδια σημασία με τους && και αλλά μικρότερη προτεραιότητα. ΣΕΛΙΔΑ 13/43

14 2.4 Δομές Ελέγχου Μια γλώσσα προγραμματισμού θεωρείται νεκρή χωρίς δομές ελέγχου. Οι δομές ελέγχου πάντα περιορίζονταν σε δύο κατηγορίες: τις δομές επιλογής και τις δομές ανακυκλώσεως. Στις πρώτες αποφασίζουμε για το ποια θα είναι η επόμενη εντολή που θα εκτελεστεί χρησιμοποιώντας μία λογική συνθήκη. Στις δομές ανακυκλώσεως μια ομάδα εντολών εκτελείται πολλές φορές με βάση μία λογική συνθήκη ή έναν προκαθορισμένο αριθμό επαναλήψεων Απλός επιλογέας Ο απλός επιλογέας αποφασίζει για την επόμενη εντολή που θα εκτελεστεί με την χρήση μιας λογικής συνθήκης. Η σύνταξή του είναι if(condition) group1; Που σημαίνει πως αν ισχύει η λογική συνθήκη condition, τότε εκτελείται η ομάδα εντολών group1. Διαφορετικά αυτή η ομάδα εντολών δεν εκτελείται. Το επόμενο απλό παράδειγμα δείχνει μία εφαρμογή του απλού επιλογέα. $a=1; $b=2; if($b < $a) $b=$a; echo b=$b a=$a ; Φυσικά πάντα δεν υπάρχει ένας μόνο δρόμος στις αποφάσεις. Για αυτόν τον λόγο έχει προβλεφτεί να υπάρχει και ένα else για να καλύψει αυτήν την περίπτωση, όπως δείχνει το επόμενο παράδειγμα $a=1; $b=2; if($a < $b) echo TO A EINAI ΜΙΚΡΟΤΕΡΟ ΤΟΥ Β ; ΣΕΛΙΔΑ 14/43

15 else echo ΤΟ Β ΕΙΝΑΙ ΜΙΚΡΟΤΕΡΟ ΤΟΥ Α ; Πολλαπλός επιλογέας Εκτός του απλού επιλογέα υπάρχει και ο πολλαπλός επιλογέας, στον οποίο δεν εξετάζουμε μόνον μία περίπτωση για να πάρουμε απόφαση για την επόμενη εντολή, αλλά περισσότερες. Η δομή του πολλαπλού επιλογέα έχει ως εξής: switch (variable) case value1: case value2: group1; break; group2; break;... default: group-default; break; Αν η τιμή της μεταβλητής είναι ίση με value1, τότε εκτελούνται οι εντολές group1. Διαφορετικά ελέγχουμε αν είναι ίση με value2. Αν είναι έτσι, εκτελούνται οι εντολές group2. Αν δεν βρεθεί ταίριασμα εκτελούνται οι εντολές που ακολουθούν πρόταση default. Εδώ θα πρέπει να επισημάνουμε τα ακόλουθα σε σχέση με την switch. 1. Οι εντολές break δεν είναι απαραίτητες για την συντακτική εγκυρότητα της switch. Αν δεν υπάρχουν όμως τότε θα εκτελεστεί και το επόμενο μπλοκ εντολών μετά το πρώτο ταίριασμα της μεταβλητής. 2. Η πρόταση default δεν είναι επίσης απαραίτητη. Ωστόσο συνίσταται η χρήση της προκειμένου να εξασφαλίσουμε πως τουλάχιστον μία ομάδα εντολών θα εκτελεστεί αλλά και πως έχουμε καλύψει όλες τις πιθανές περιπτώσεις για την τιμή της μεταβλητής. 3. Δεν πρέπει σε καμία περίπτωση η πρόταση switch να θεωρηθεί ισοδύναμη με πολλαπλά if. Στα πολλαπλά if δεν έχουμε μόνον ελέγχους για ισότητα. Ένα από παράδειγμα για το πως δουλεύει η εντολή switch παρουσιάζεται στο ΣΕΛΙΔΑ 15/43

16 επόμενο παράδειγμα $var=1; switch ($var) case 1: echo H TIMH EINAI 1 ; break; case 2: echo H TIMH EINAI 2 ; break; default: echo OYTE 1 OYTE 2 ; break; Ένα λίγο πιο δυσνόητο παράδειγμα είναι αυτό που ακολουθεί: $var=5; switch ($var) case 1: case 2: case 3: echo ΕΙΝΑΙ ΑΠΟ 1 ΜΕΧΡΙ 3 ; break; case 4: case 5: case 6: echo EINAI ΑΠΟ 4 ΜΕΧΡΙ 6 ; break; default: echo EINAI ΣΕ ΑΛΛΟ ΣΥΝΟΛΟ ; break; ΣΕΛΙΔΑ 16/43

17 Στο παραπάνω παράδειγμα αν η μεταβλητή είναι από 1 μέχρι 3 εμφανίζεται το πρώτο μήνυμα. Αν είναι από 4 μέχρι 6 το δεύτερο αλλιώς το τρίτο. Δεν είναι ιδιαίτερα βολικός τρόπος για να καλύψουμε σύνολα αλλά τουλάχιστον είναι ένας τρόπος Επανάληψη με while Ο απλούστερος τρόπος για να γράψουμε μία επανάληψη είναι με την χρήση της εντολής while. Η σύνταξή της είναι ίδια με αυτήν που συναντάμε στην C, δηλαδή: while(condition) group; Δηλαδή όσο ισχύει η condition εκτελούνται οι εντολές στην ομάδα εντολών group. Ένα απλό παράδειγμα είναι αυτό ενός απλού μετρητή: $sum=0; $i=1; while($i<=100) $sum=$sum+$i; $i=$i+1; Σε αυτό το παράδειγμα υπολογίζουμε το άθροισμα 100 i Φυσικά ο βρόγχος i=1 while δεν είναι πάντα ο πλέον κατάλληλος για προκαθορισμένο πλήθος επαναλήψεων, καθώς θα πρέπει από μόνοι μας να φροντίζουμε για την ανανέωση της μεταβλητής που ελέγχει τον βρόγχο. Αν ξεχάσουμε την αύξηση της μεταβλητής $i, τότε θα έχουμε έναν ατέρμονό βρόγχο Επανάληψη με do.. while Ο δεύτερος βρόγχος που θα εξετάσουμε είναι ο βρόγχος do..while. Η σύνταξή του έχει ως ακολούθως: do ΣΕΛΙΔΑ 17/43

18 group; while(condition); Εδώ βλέπουμε πως το σύνολο εντολών θα εκτελεστεί και ύστερα θα ελέγξουμε αν η συνθήκη είναι αληθής ή ψευδής. Η διαφορά με τον προηγούμενο βρόγχο είναι ότι με το do...while οι εντολές θα εκτελεστούν τουλάχιστον μία φορά, όπως άλλωστε φαίνεται και στο επόμενο παράδειγμα: $var=100; do $var=$var+1; while($var<50); echo var=$var ; Μετά την εκτέλεση του παραπάνω κώδικα η τιμή του $var θα είναι 101, αφού θα εκτελεστεί ο βρόγχος τουλάχιστον μία φορά Επανάληψη με for Το τελευταίο είδος επαναλήψεως που θα εξετάσουμε είναι αυτό με την χρήση της εντολής for. Η σύνταξή της είναι ίδια με αυτήν που συναντάμε στην γλώσσα C, δηλαδή: for(init;check;update) group; Η σημασία των παραμέτρων του for είναι η ακόλουθη: 1. init Είναι μία εντολή που εκτελείται σε κάθε περίπτωση πριν την έναρξη του βρόγχου ακόμα και αν οι εντολές στο σώμα του δεν εκτελεστούν καμία φορά. 2. check Είναι μία λογική συνθήκη που εκτελείται πριν την κάθε επανάληψη. Αν εξαρχής δεν είναι αληθής, τότε οι εντολές στο σώμα του βρόγχου δεν θα εκτελεστούν καμία φορά. 3. update Είναι μία εντολή που εκτελείται στο τέλος του βρόγχου μετά την εκτέλεση των εντολών στο σώμα του βρόγχου και οπωσδήποτε πριν τον έλεγχο της συνθήκης check. Ένα απλό παράδειγμα του βρόγχου είναι αυτό που ακολουθεί: $sum=0; for($i=1;$i<=100;$i=$i+1) ΣΕΛΙΔΑ 18/43

19 $sum=$sum+$i; Αξίζει να σημειωθεί πως κάποιες από τις παραμέτρους του βρόγχου μπορούν να παραληφθούν, αλλά με κανέναν τρόπο δεν παραλείπονται τα Ελληνικά ερωτηματικά που τις διαχωρίζουν. Για παράδειγμα στην επόμενη πρόταση δεν υπάρχει init και update και όμως ο βρόγχος δουλεύει κανονικά. for(;$i<=100;) $sum=$sum+$i; $i=$i+1; Στην παραπάνω περίπτωση η πρόταση for είναι ισοδύναμη με ένα while. 3. Συναρτήσεις 3.1 Εισαγωγή Το πιο σημαντικό θέμα στην PHP είναι οι συναρτήσεις της. Η γλώσσα διαθέτει ένα πλούσιο ρεπερτόριο από συναρτήσεις, με τις οποίες μπορούμε να κάνουμε τα πάντα σε θέματα όπως βάσεις δεδομένων, πίνακες, μαθηματικά, συμπίεση δεδομένων κτλ. Επειδή η αναφορά σε όλες τις συναρτήσεις της γλώσσας θα απαιτούσε εκατοντάδες σελίδες και επειδή ο προσανατολισμός αυτού του κειμένου είναι προς το ηλεκτρονικό εμπόριο θα εστιάσουμε την μελέτη μας σε ότι έχει να κάνει με ηλεκτρονικό εμπόριο. Αν κάπου χρειαστεί να αναφέρουμε κάποια ειδική συνάρτηση θα το κάνουμε Ορισμός συναρτήσεων Μία συνάρτηση μπορεί να εμφανιστεί σε οποιοδήποτε σημείο του κώδικα μας ακόμα και μετά την χρήση της. Μια συνάρτηση έχει τον επόμενο ορισμό function name($arg1,$arg2,...,$argn) group; return value; Το αναγνωριστικό function είναι απαραίτητο πριν από το όνομα της συναρτήσεως προκειμένου να κατανοήσει ο διερμηνευτής της γλώσσας πως ΣΕΛΙΔΑ 19/43

20 δεν πρόκειται για απλό κώδικα, αλλά για συνάρτηση της οποίας ο κώδικας φυσικά θα εκτελεστεί όταν αυτή κληθεί. Στο σώμα της συναρτήσεως (group) βάζουμε εντολές όπως θα τις βάζαμε και σε συνεχόμενο κώδικα. Σε μία συνάρτηση δεν είναι απαραίτητο να υπάρχει η εντολή επιστροφής τιμής return. Ωστόσο γενικά οι συναρτήσεις θα πρέπει να επιστρέφουν τιμές. Επίσης οι συναρτήσεις δεν είναι απαραίτητο να παίρνουν ορίσματα όπως κάναμε στο παραπάνω παράδειγμα. Βέβαια η χρήση παραμέτρων είναι ένας τρόπος επικοινωνίας ανάμεσα στο καλούμενο πρόγραμμά και καλών πρόγραμμά. Ένα παράδειγμα μίας απλής συναρτήσεως είναι και το επόμενο που προσθέτει τα δύο ορίσματα που δέχεται και τα επιστρέφει. function add($a,$b) return $a+$b; $result=add(10,20); echo result=$result<br> ; Όπως βλέπουμε η αναφορά στην τιμή της συναρτήσεως δεν γίνεται με το $ μπροστά από το όνομά της. Αυτό γίνεται αλλά έχει άλλη σημασία όπως θα δούμε παρακάτω. Προς το παρόν αρκεί να θυμόμαστε πως όταν θέλουμε να πάρουμε το αποτέλεσμα μίας συναρτήσεως δεν βάζουμε το $ πριν από το όνομά της. Το παραπάνω παράδειγμα θα μπορούσε να είχε γραφεί και αλλιώς $result=add(10,20); echo result=$result<br> ; function add($a,$b) return $a+$b; Γιατί όπως είπαμε δεν είναι απαραίτητο να δηλώνεται η συνάρτηση πριν από την χρήση της. Βέβαια για να αποφεύγονται λάθη αλλά και επειδή πριν την έκδοση 4 αυτό δεν υποστηρίζονταν καλό είναι να δηλώνουμε τις συναρτήσεις πριν τις χρησιμοποιήσουμε Ορίσματα Όπως και σε μία τυπική διαδικασιακή γλώσσα προγραμματισμού τα ονόματα των ορισμάτων δεν έχουν καμία σχέση με ονόματα που τυχόν υπάρχουν στο υπόλοιπο πρόγραμμα ή σε κάποια άλλη συνάρτηση, πράγμα που φαίνεται στο ΣΕΛΙΔΑ 20/43

21 επόμενο απλό παράδειγμα: $a=1; $b=2; $c=3; function add($a,$b) return $a+$b; function sub($a,$b) return $a-$b; $result=sub(2,b); echo result=$result ; Ένα δεύτερο σημείο που πρέπει να προσέξουμε με τα ορίσματα είναι πως μπορούμε να χρησιμοποιήσουμε πέρασμα με αναφορά προκειμένου να πετύχουμε την αλλαγή μεταβλητών μέσα σε μία συνάρτηση. Για να περάσουμε μια μεταβλητή με αναφορά χρησιμοποιούμε τον τελεστή & μπροστά από το όνομα του ορίσματος στον ορισμό της συναρτήσεως. Στο επόμενο παράδειγμα μέσα από την συνάρτηση swap ανταλλάσσουμε τις τιμές δύο μεταβλητών: function swap(&$a,&$b) $var1=100; $var2=200; $temp=$a; $a=$b; $b=$temp; swap($var1,$var2); echo var1=$var1 and var2=$var2<br> ; ΣΕΛΙΔΑ 21/43

22 Ο παραπάνω τρόπος περάσματος τιμών με αναφορά είναι λίγο πολύ ίδιος με αυτόν που βρίσκουμε στην C++. Ωστόσο η PHP έχει ακόμα έναν τρόπο περάσματος τιμών με αναφορά : function swap($a,$b) $var1=100; $var2=200; $temp=$a; $a=$b; $b=temp; swap(&$var1,&$var2); echo var1=$var1 and var2=$var2<br> ; Λογικά η νέα έκδοση της συναρτήσεως swap δεν θα έπρεπε να ανταλλάσει τις τιμές των μεταβλητών. Ωστόσο αυτό γίνεται επειδή αν προσέξετε καλά στην κλήση της συναρτήσεως δεν περνάμε απλώς τις μεταβλητές $var1 και $var2, αλλά τις διευθύνσεις αυτών με την χρήση του τελεστή & μπροστά από το ονόματα των μεταβλητών. Ένα ακόμα σημαντικό στοιχείο που πρέπει να πούμε για τις συναρτήσεις της PHP είναι η χρήση προκαθορισμένων τιμών στις παραμέτρους. Αυτό σημαίνει πως δεν είναι απαραίτητο να καλούμε μία συνάρτηση περνώντας τιμές σε όλα της τα ορίσματα. function add($a,$b=1) return $a+$b; $result1=add(100); $result2=add(200,300); echo result1=$result1 and result2=$result2<br> ; Ορίσαμε την συνάρτηση add() να δέχεται δύο ορίσματα. Το δεύτερο όρισμα δεν είναι απαραίτητο να το περάσουμε στην κλήση της συναρτήσεως, για αυτό και δηλώνουμε πως η προκαθορισμένη του τιμή θα είναι 1. Έτσι το πρώτο ΣΕΛΙΔΑ 22/43

23 αποτέλεσμα είναι 101 και το δεύτερο Πίνακες Ο προσεκτικός αναγνώστης θα παρατήρησε πως μέχρι τώρα αποφύγαμε να μιλήσουμε για πίνακες στην ενότητα των μεταβλητών ή των δομών ελέγχου. Ο λόγος είναι απλός: Η γλώσσα δεν έχει πίνακες, τουλάχιστον όχι με την συνηθισμένη έννοια του όρου. Για την δημιουργία και τον χειρισμό πινάκων η γλώσσα διαθέτει ειδικές συναρτήσεις και ειδικές δομές ελέγχου. Οι πίνακες όπως θα δούμε παίζουν σημαντικό ρόλο στο ηλεκτρονικό εμπόριο, καθώς σε αυτούς μπορούμε να αποθηκεύουμε στοιχεία από ίδιες ομάδες αλλά και γιατί οι συναρτήσεις χειρισμού βάσεων δεδομένων επιστρέφουν πολύ συχνά πίνακες Δημιουργία πινάκων Οι πίνακες δημιουργούνται με την χρήση της συναρτήσεως Array(). Η συνάρτηση αυτή παίρνει σαν όρισμα τα στοιχεία του πίνακα και τον δημιουργεί όπως φαίνεται και στο επόμενο παράδειγμα $my_array=array(1,7,9,11); echo πρώτο=$my_array[0]<br> ; echo δεύτερο=$my_array[1]<br> ; echo τρίτο=$my_array[2]<br> '; echo τέταρτο=$my_array[3]<br> ; Στο παράδειγμα αυτό δημιουργούμε τον πίνακα $my_array με τα στοιχεία 1,7,9,11 και στην συνέχεια τα τυπώνουμε από το πρώτο προς το τελευταίο. Όπως βλέπουμε οι δείκτες των πινάκων ξεκινούν από το 0 και φτάνουν μέχρι το μέγεθος του πίνακα -1, ακριβώς όπως θα κάναμε και στην C. Ένα άλλο σημαντικό στοιχείο είναι η αναφορά στα στοιχεία του πίνακα. Αυτή γίνεται με την χρήση του [ ]. Φυσικά τα στοιχεία ενός πίνακα είναι με την σειρά τους μεταβλητές και έτσι αναφορές όπως είναι καθόλα έγκυρες. $my_array[2]=100 Ο τρόπος δημιουργίας πινάκων που είδαμε προηγουμένως δεν είναι ο μόνος. Μπορούμε κατά την δημιουργία ενός πίνακα να προσδιορίσουμε σε ποια θέση θα μπει κάθε στοιχείο στον πίνακα, όπως δείχνει και το επόμενο παράδειγμα: $fruits=array( 2=> ΜΗΛΑ, 0=> ΛΕΜΟΝΙΑ, 1=> ΠΟΡΤΟΚΑΛΙΑ, ΣΕΛΙΔΑ 23/43

24 ); 3=> ΑΧΛΑΔΙΑ echo πρώτο=$fruits[0]<br> ; echo δεύτερο=$fruits[1]<br> ; echo τρίτο=$fruits[2]<br> '; echo τέταρτο=$fruits[3]<br> ; Για να προσδιορίσουμε σε ποια θέση θα μπει κάποιο στοιχείο σε έναν πίνακα αρκεί να γράψουμε τον δείκτη της θέσεως, τον τελεστή => και στην συνέχεια την τιμή που θέλουμε να έχει ο πίνακας σε εκείνη την θέση. Όπως αναφέραμε προηγουμένως οι πίνακες ξεκινούν στην PHP από το 0. Αυτό είναι αλήθεια αρκεί να μην το αλλάξουμε ρητά. Αν θέλουμε να ξεκινά ένας πίνακας από διαφορετική θέση πρέπει να το προσδιορίσουμε καθορίζοντας την πρώτη θέση όπως στο επόμενο παράδειγμα: $my_array=array(4=>1,3,7,11); Σε αυτήν την περίπτωση ο πίνακας 1,3,7,11 στις θέσεις 4,5,6,7. ξεκινά από το 4 και έχει τα στοιχεία Οι πίνακες κατακερματισμού παίζουν ιδιαίτερα σημαντικό ρόλο στον προγραμματισμό, καθώς με την χρήση κλειδιών μπορούμε αυτόματα να αποκτήσουμε πρόσβαση σε πληροφορία που θα απαιτούσε σημαντικό χρόνο αναζητήσεως. Η PHP διαθέτει πίνακες κατακερματισμού, οι οποίοι μάλιστα δημιουργούνται με την χρήση της συναρτήσεως Array() που είδαμε για την δημιουργία πινάκων. Ένα απλό παράδειγμα πίνακα κατακερματισμού είναι και το επόμενο που παρουσιάζει έναν πίνακα κόστους για προΐόντα που πουλά ένα κατάστημα ειδών πληροφορικής: $cost=array( ); "CPU"=>100, "MB"=>80, "RAM"=>30, "HDISK"=>120, "PRINTER"=>110 $cost_printer=$cost["printer"]; echo "THE COST OF PRINTER IS ΣΕΛΙΔΑ 24/43

25 $cost_printer<br>"; Σε πολλές εφαρμογές οι πίνακες δεν είναι μονοδιάστατοι. Η δημιουργία περισσοτέρων διαστάσεων γίνεται πάλι με την χρήση της συναρτήσεως Array() αλλά με διαφορετικό τρόπο από ότι είδαμε προηγουμένως: $my_array=array( Array(1,6,7), Array(2,4,5), Array(5,5,8) ); for($i=0;$i<3;$i=$i+1) for($j=0;$j<3;$j=$j+1) echo "<BR>"; $var=$my_array[$i][$j]; echo "$var "; Με άλλα λόγια οι πολυδιάστατοι πίνακες δημιουργούνται με την χρήση ένθετων πινάκων. Βέβαια οι ένθετοι πίνακες δεν είναι απαραίτητο να έχουν όλοι την ίδια διάσταση Πλοήγηση σε πίνακες Με τον όρο πλοήγηση σε πίνακες εννοούμε την ενέργεια που κάνουμε να κινηθούμε από την μία άκρη ενός πίνακα στην άλλη. Οι πίνακες στην PHP δεν είναι πίνακες με την έννοια του όρου που τον συναντάμε στις άλλες διαδικασιακές γλώσσες.. Στην ουσία πρόκειται για γραμμικές λίστες οι οποίες διαθέτουν κάποιον δείκτη θέσεως ο οποίος δείχνει και την τρέχουσα θέση στην οποία κάνουμε κάποια συγκεκριμένη πράξη όπως έναν έλεγχο. Η απλούστερη ενέργεια που θέλουμε να κάνουμε σε έναν πίνακα είναι να ψάξουμε για ένα στοιχείο σε αυτόν. Η πρώτη συνάρτηση που το κάνει αυτό είναι η in_array(value,array). Η πρώτη της παράμετρος είναι η τιμή για την οποία ψάχνουμε και η δεύτερη παράμετρος είναι ο πίνακας στον οποίο γίνεται η έρευνα. Η συνάρτηση αυτή επιστρέφει TRUE ή FALSE, ανάλογα με το αν υπάρχει στον πίνακα η τιμή ή όχι. Αν και αυτή η συνάρτηση είναι αρκετά απλή στην σκέψη και στην λειτουργία δεν μας δίνει την θέση στην οποία βρίσκεται το ΣΕΛΙΔΑ 25/43

26 στοιχείο στον πίνακα. Αυτό γίνεται με την συνάρτηση array_search(value,array). Η συνάρτηση αυτή ψάχνει για το στοιχείο value στον πίνακα array και θα επιστρέψει αν υπάρχει το κλειδί (ή θέση) αυτού του στοιχείου στον πίνακα. Όπως αναφέραμε παραπάνω οι πίνακες είναι στην ουσία γραμμικές λίστες. Επομένως υπάρχει κάποιος τρόπος να της διατρέξουμε από την αρχή μέχρι το τέλος. Αυτήν την λειτουργία κάνει η συνάρτηση next(array), η οποία επιστρέφει το επόμενο στοιχείο σε έναν πίνακα και ταυτόχρονα μετακινεί τον δείκτη θέσεως του πίνακα κατά 1 στοιχείο. Αν έχουμε φτάσει στο τέλος του πίνακα η συνάρτηση αυτή επιστρέφει FALSE. Ένα απλό παράδειγμα της χρήσεώς της φαίνεται παρακάτω: $a=array(1,2,11,-2,4,5); $item=next($a); while($item) echo element=$item<br> ; $item=next($a); Το παραπάνω πρόγραμμα όσο απλό και αν φαίνεται έχει ένα ελάττωμα: δεν τυπώνει το πρώτο στοιχείο του πίνακα, αλλά το παρακάμπτει. Αυτό γίνεται επειδή η next() περνά αμέσως στο επόμενο στοιχείο του πίνακα. Αν θέλουμε να παίρνουμε κάθε φορά το τρέχον στοιχείο σε έναν πίνακα, τότε πρέπει να χρησιμοποιήσουμε την συνάρτηση current(array) η οποία επιστρέφει το στοιχείο σε εκείνη την θέση του πίνακα που βρισκόμαστε. Το παραπάνω παράδειγμα γραμμένο σωστά έχει ως ακολούθως: $a=array(1,2,11,-2,4,5); do $item=current($a); echo current=$item<br> ; while(next($a)); Αν δεν θέλουμε να περάσουμε από όλα τα στοιχεία ενός πίνακα, αλλά απλά να πάμε στο τέλος του, τότε μπορούμε να χρησιμοποιήσουμε την συνάρτηση end(), η οποία επιστρέφει το τελευταίο στοιχείο στον πίνακα και μετακινεί τον δείκτη του πίνακα στην τελευταία θέση του. ΣΕΛΙΔΑ 26/43

27 Όμοια με την συνάρτηση next() υπάρχει και η prev() η οποία δίνει το προηγούμενο στοιχείο σε έναν πίνακα και επιστρέφει FALSE όταν φτάσουμε στην αρχή του πίνακα. Οι προηγούμενες συναρτήσεις γενικά μετακινούν τον δείκτη ενός πίνακα για να κάνουν την δουλεία τους. Ωστόσο σε πολλές περιπτώσεις θα μας χρειαστεί να μετακινηθούμε κατά μήκος ενός πίνακα πολλές φορές. Σε αυτήν την περίπτωση θα πρέπει να χρησιιμοποιήσουμε την συνάρτηση reset(array), η οποία επαναθέτει τον δείκτη ενός πίνακα στην αρχή. Έτσι οι μελλοντικές συναρτήσεις next(), prev() κτλ θα ξεκινήσουν και πάλι από την πρώτη θέση του πίνακα Πράξεις μεταξύ πινάκων Έκτος από την πλοήγηση σε έναν πίνακα πολύ σημαντικό είναι να εξετάσουμε και τις συναρτήσεις για πράξεις μεταξύ πινάκων. Στον επόμενο πίνακα παρουσιάζονται οι σημαντικότερες από αυτές τις συναρτήσεις και την σημασία τους: ΣΥΝΑΡΤΗΣΗ array_diff(array1,array2,... ) array_flip(array) array_intersect(array1,arra y2,...) array_sum(array) array_unique(array) array_reverse(array) ΣΗΜΑΣΙΑ Επιστρέφει τα στοιχεία που υπάρχουν μόνον στο array1 Αντιμεταθέτει τα κλειδιά και τις τιμές του πίνακα array. Έχει επίδραση σε ακέραιες και string τιμές. Επιστρέφει την τομή των στοιχείων των πινάκων. Επιστρέφει το άθροισμα των στοιχείων του πίνακα. Διαγράφει τις διπλές τιμές από τον πίνακα array. Αναποδογυρίζει τον πίνακα array Ταξινόμηση πινάκων Για την ταξινόμηση πινάκων η PHP διαθέτει μία σειρά από συναρτήσεις που παρουσιάζονται στον επόμενο πίνακα: ΣΥΝΑΡΤΗΣΗ arsort(array) asort (array) krsort(array) ksort(array) rsort(array) sort(array) ΣΗΜΑΣΙΑ Ταξινομεί τον πίνακα αντίστροφα και τα κλειδιά διατηρούν την σχέση τους με τις τιμές. Ταξινομεί τον πίνακα και τα κλειδιά διατηρούν την σχέση τους με τις τιμές. Ταξινομεί τον πίνακα αντίστροφα βάσει του κλειδιού Ταξινομεί τον πίνακα βάσει του κλειδιού Ταξινομεί τον πίνακα αντίστροφα Ταξινομεί τον πίνακα ΣΕΛΙΔΑ 27/43

28 3.2.5 Η δομή foreach Μια πολύ χρήσιμη δομή που παρέχει η γλώσσα για την κίνηση μέσα σε πίνακες είναι η δομή foreach. Η δομή αυτή εμφανίζεται με δύο μορφές. Στην πρώτη μορφή του γράφουμε foreach($array as $value) group; Σε αυτήν την μορφή η μεταβλητή $value παίρνει διαδοχικά μία μία τις τιμές που περιέχονται στον πίνακα $array. Κάθε φορά που έχουμε μία νέα τιμή από τον πίνακα εκτελούνται οι εντολές στον σύνολο group. Για παράδειγμα μπορούμε με αυτόν τον τρόπο να τυπώσουμε όλα τα στοιχεία που υπάρχουν στην λίστα $ar=array(1,7,12,34); foreach($ar as $v) echo Value=$v<BR> ; Έτσι ακόμα και αν δεν ξέρουμε πόσα στοιχεία έχει ένας πίνακας μπορούμε να τον διατρέξουμε και να εκτελέσουμε διάφορες πράξεις πάνω στον πίνακα. Βέβαια η PHP διαθέτει την συνάρτηση count() η οποία επιστρέφει το πλήθος των στοιχείων ενός πίνακα. Η δομή foreach εκτελεί την πράξη reset() πάνω σε ένα αντίγραφο του πίνακα πριν την έναρξη των πράξεων. Έτσι ο προγραμματιστής απαλλάσσεται από την μέριμνα την τοποθετήσεως του δείκτη του πίνακα. Ωστόσο αυτό σημαίνει πως πράξεις σαν και την επόμενη δεν έχουν το αποτέλεσμα που θα επιθυμούσαμε: $ar=array(1,3,5,10); foreach($ar as $v) print_r($ar); $v=$v+1; ΣΕΛΙΔΑ 28/43

29 Η συνάρτηση print_r() απλά τυπώνει τα στοιχεία ενός πίνακα. Θα περιμέναμε να προστεθεί 1 σε κάθε στοιχείο του πίνακα. Αυτό όμως δεν συνέβη, καθώς η foreach δεν επηρεάζει τον πραγματικό πίνακα. Η δεύτερη μορφή με την οποία εμφανίζεται η δομή είναι η επόμενη: foreach($array as $key=>$value) group; Σε αυτήν την μορφή σε κάθε επανάληψη εκτελούνται οι εντολές στο group και η μεταβλητή $value λαμβάνει την επόμενη τιμή στον πίνακα αλλά και η μεταβλητή $key παίρνει το κλειδί σε εκείνη την θέση στον πίνακα. Και αυτή η μορφή της δομής δεν επηρεάζει τον πραγματικό πίνακα Το επόμενο παράδειγμα δείχνει την χρήση αυτής της μορφής της δομής Στοιβάδες $ar=array( a =>1 b =>2, c =>3, d =>4 ); foreach($ar as $key=>$value) echo key=$key<br> ; echo value=$value<br> ; Το τελευταίο σημεία που θα εξετάσουμε στους πίνακες είναι η χρήση τους με την μορφή στοιβάδας. Στοιβάδες είναι δομές δεδομένων στις οποίες επιτρέπονται δύο πράξεις: Η εισαγωγή ενός στοιχείο στο τέλος της στοιβάδας (κορυφή). Η εξαγωγή ενός στοιχείου από το τέλος της στοιβάδας. Για να καταλάβουμε καλύτερα την δομή της θα πρέπει να την φανταστούμε σαν μία σειρά από πιάτα. Μπορούμε μόνον να πάρουμε το επάνω πιάτο ή να βάλουμε κάποιο άλλο πάνω από αυτό. Αυτή η δομή έχει πάρα πολλά πλεονεκτήματα 1 και για αυτόν τον λόγο αξίζει να αφιερώσουμε λίγο χρόνο για 1 Ειδικά στους μεταφραστές ΣΕΛΙΔΑ 29/43

30 να την μελετήσουμε. Η πρώτη συνάρτηση που θα εξετάσουμε είναι η συνάρτηση array_push(array,value). Η συνάρτηση αυτή τοποθετεί την τιμή value στο τέλος του array και επιστρέφει το νέο πλήθος στοιχείων που έχει ο πίνακας. Αν θέλουμε μπορούμε να προσθέσουμε περισσότερα στοιχεία στον πίνακα βάζοντας και τρίτο και τέταρτο όρισμα στην συνάρτηση. Στο επόμενο παράδειγμα οι ζυγοί αριθμοί από το 2 έως και το 100 τοποθετούνται σε έναν πίνακα: $ar=array(); for($i=2;$i<=100;$i+=2) print_r($ar); array_push($ar,$i); Η δεύτερη συνάρτηση που θα εξετάσουμε είναι η συνάρτηση array_pop(array) επιστρέφει το τελευταίο στοιχείο του πίνακα. Αν ο πίνακας είναι άδειος επιστρέφει NULL. $ar=array(); for($i=2;$i<=100;$i+=2) do while($v!=null); 3.3 Ημερομηνία και ώρα array_push($ar,$i); $v=array_pop($ar); echo value=$v<br> ; Με την βοήθεια της γλώσσας μπορούμε να ανακτήσουμε την ώρα και την ημερομηνία και να τα ενσωματώσουμε στις σελίδες μας. Στον επόμενο πίνακα παρουσιάζονται οι σημαντικότερες συναρτήσεις για ημερομηνία και ώρα ΣΥΝΑΡΤΗΣΗ date() ΣΗΜΑΣΙΑ Ανάκτηση ημερομηνίας ΣΕΛΙΔΑ 30/43

31 ΣΥΝΑΡΤΗΣΗ time() getdate() localtime() ΣΗΜΑΣΙΑ Ανάκτηση ώρας σε δευτερόλεπτα (UNIX) Επιστρέφει πίνακα με μήνες, χρόνια, μέρες Επιστρέφει πίνακα με λεπτά, δευτερόλεπτα κτλ Η συνάρτηση date() γενικά απαιτεί ένα αλφαριθμητικό με πολλές παραμέτρους και θα ήταν χάσιμο χρόνο να τις αναλύσουμε αυτήν την στιγμή εδώ. Από την άλλη η time() είναι χρήσιμη για να μετρήσουμε χρονικές αποστάσεις. H getdate() και η localtime() είναι οι πιο εύχρηστες και μας επιστρέφουν πληροφορία που μπορεί να διαβαστεί εύκολα από άνθρωπο. 3.4 MySQL Εισαγωγή $current_date=getdate(); $month= $current_date["month"]; $year= $day= $current_date["year"]; $current_date["mday"]; $minutes= $current_date["minutes"]; $seconds= $current_date["seconds"]; $hours= $current_date["hours"]; echo "TIME $hours:$minutes :$seconds <BR>"; echo "DATE $day / $month / $year <BR>"; Για όσους ασχολούνται με ηλεκτρονικό εμπόριο το πλέον σημαντικό θέμα στον σχεδιασμό σελιδών είναι η σύνδεση με βάσεις δεδομένων και η εκτέλεση ερωτημάτων μέσω του διαδικτύου σε αυτές. Η PHP έχει δεκάδες συναρτήσεις για αυτόν τον σκοπό με τις οποίες μπορούμε να συνδεθούμε σε βάσεις ORACLE, SQL SERVER, INGRESS κτλ. Ωστόσο σε αυτό το κείμενο παρουσιάζονται μόνον οι συναρτήσεις που έχουν να κάνουν με την MySQL, καθώς μπορεί κανείς να την βρει εύκολα, δεν είναι ιδιαίτερα απαιτητική σε πόρους και προ πάντων εργάζεται το ίδιο σε όλα τα λειτουργικά συστήματα στα οποία είναι εγκατεστημένη Σύνδεση με βάση Το πρώτο που κοιτάμε να κάνουμε όταν θέλουμε να εργαστούμε σε μία βάση είναι να συνδεθούμε σε αυτήν. Η σύνδεση για την MySQL γίνεται με την συνάρτηση ΣΕΛΙΔΑ 31/43

32 mysql_connect(ip,username,password); Η παραπάνω συνάρτηση επιστρέφει έναν περιγραφέα της βάσεως (περιγραφέας αρχείου) σε περίπτωση επιτυχίας. Σε περίπτωση αποτυχίας επιστρέφει FALSE. Τα ορίσματα έχουν την ακόλουθη σημασία 1. IP Είναι η διεύθυνση του μηχανήματος στην οποίο τρέχει ο εξυπηρέτης της MySQL. Για παράδειγμα σε αυτό μπορούμε να δώσουμε τιμές όπως , localhost, pegasus.cs.uoi.gr κτλ. Όταν ο εξυπηρέτης είναι στο ίδιο μηχάνημα με το κώδικα, τότε μπορούμε να βάλουμε την τιμή localhost. 2. username Είναι ο κώδικος με τον οποίο θα συνδεθούμε στην βάση του απομακρυσμένου μηχανήματος. Αν η βάση δεδομένων βρίσκεται στον ίδιο υπολογιστή με τον κώδικα βάζουμε το username που έχουμε σε αυτό το μηχάνημα. 3. password Είναι το συνθηματικό το οποίο αντιστοιχεί στον κωδικό συνδέσεως για την βάση του απομακρυσμένου μηχανήματος. Αν η βάση δεδομένων βρίσκεται στον ίδιο υπολογιστή βάζουμε δύο συνεχόμενα, δηλαδή το αφήνουμε κενό. Ένα παράδειγμα συνδέσεως παρατίθεται στην συνέχεια $link=mysql_connect("localhost","sheridan","") ; if(!$link) else echo ΛΑΘΟΣ ΣΤΗΝ ΣΥΝΔΕΣΗ<BR>; mysql_close($link); Η συνάρτηση mysql_close() κλείνει μία σύνδεση που έχει ανοίξει επιτυχώς προηγουμένως. Θα πρέπει να σημειωθεί πάντως πως ακόμα και με την mysql_connect() δεν επιτυγχάνουμε σύνδεση με συγκεκριμένη βάση δεδομένων παρά μόνον σύνδεση με τον εξυπηρέτη. Για να συνδεθούμε με συγκεκριμένη βάση δεδομένων και να μπορέσουμε να εκτελέσουμε ερωτήματα πρέπει να χρησιμοποιήσουμε την συνάρτηση mysql_select_db(database). Η παράμετρος database επιλέγει την βάση δεδομένων με την οποία επιθυμούμε να εργαστούμε. Αν ο δεν έχουμε φτιάξει κάποια συγκεκριμένη βάση, τότε απλά μπορούμε να βάλουμε την default βάση test. ΣΕΛΙΔΑ 32/43

33 3.4.3 Δημιουργία βάσεων Όπως είπαμε πριν αν δεν έχουμε κάποια βάση να συνδεθούμε, τότε απλά μπορούμε να χρησιμοποιήσουμε την προκαθορισμένη βάση test. Ωστόσο η δημιουργία βάσεων είναι σχετικά απλή ακόμα και μέσα από php. Αυτό γίνεται με την συνάρτηση mysql_create_db( name,$link) Αυτή η συνάρτηση δημιουργεί την βάση name. Σε περίπτωση επιτυχίας επιστρέφει TRUE και σε περίπτωση αποτυχίας επιστρέφει FALSE. Το δεύτερο όρισμα είναι ο περιγραφέας που έχουμε πάρει με την σύνδεση προηγουμένως. Από την άλλη αν θέλουμε να διαγράψουμε μία βάση δεδομένων θα πρέπει να χρησιμοποιήσουμε την συνάρτηση mysql_drop_db(database,$link) η οποία έχει παρόμοια στην σημασία ορίσματα με την προηγούμενη συνάρτηση. Ωστόσο πρέπει να επισημανθεί πως η δημιουργία και η διαγραφή βάσεων δεδομένων εξαρτάται από τον διαχειριστή της βάσεως δεδομένων στην οποία συνδεόμαστε και από τα δικαιώματα που έχουμε επί των βάσεων δεδομένων που προσπαθούμε να δημιουργήσουμε ή/και να διαγράψουμε Ανάκτηση πλειάδων Η βασικότερη συνάρτηση που θα δούμε είναι η mysql_query(query,link). Το πρώτο όρισμα είναι το ερώτημα σε μορφή αλφαριθμητικού που θέλουμε να εκτελέσουμε και το δεύτερο όρισμα είναι ο περιγραφέας της βάσεως δεδομένων που έχουμε ανοίξει. Το αποτέλεσμα αυτής της συναρτήσεως αν είναι FALSE, σημαίνει πως το ερώτημα απέτυχε. Οι λόγοι αποτυχίας μπορεί να έχουν να κάνουν είτε με την σύνταξη του ερωτήματος είτε με δικαιώματα που υπάρχουν επί της βάσεως δεδομένων που θέλουμε. Το επόμενο απλό παράδειγμα δείχνει πως μπορούμε να εκτελέσουμε ερώτημα επιλογής σε μία βάση δεδομένων: <html> <head> </head> <body> <TITLE> ΔΟΚΙΜΗ </TITLE> $link=mysql_connect("localhost","sheridan",""); if(!$link) echo "ΛΑΘΟΣ ΣΤΗΝ ΣΥΝΔΕΣΗ<BR>"; mysql_select_db("test",$link); $result=mysql_query("select * from test",$link); ΣΕΛΙΔΑ 33/43

34 </html> if(!$result) </body> echo "ΛΑΘΟΣ ΣΤΟ ΕΡΩΤΗΜΑ"; mysql_close($link); Στο παραπάνω παράδειγμα έχω φτιάξει στην βάση δεδομένων test έναν πίνακα με τα πεδία name, job, code. Τα δύο πρώτα είναι αλφαριθμητικά και το τρίτο είναι ακέραιος και είναι το κλειδί της βάσεως. Αν και το παραπάνω παράδειγμα είναι επιτυχές δεν εμφανίζει κάτι στην οθόνη. Η βάση μου έχει αρκετές γραμμές αλλά καμία δεν εμφανίζεται επί της οθόνης. Αυτό γίνεται γιατί με το που εκτελείται ένα ερώτημα τα αποτελέσματα αποθηκεύονται σε δυαδική μορφή στην μεταβλητή που ανατίθεται το ερώτημα, στην παραπάνω περίπτωση στην μεταβλητή $result. Για να μπορέσουμε λοιπόν να ανακτήσουμε αυτές τις πλειάδες θα πρέπει να επεξεργαστούμε τα δεδομένα στο $result με την συνάρτηση myql_fetch_array() που αναλαμβάνει να φέρει μία προς μία τις όποιες γραμμές υπάρχουν σε αυτόν τον πίνακα. Το επόμενο παράδειγμα ολοκληρώνει αυτό που είδαμε προηγουμένως: <html> <head> </head> <body> <TITLE> ΔΟΚΙΜΗ </TITLE> $link=mysql_connect("localhost","sheridan",""); if(!$link) echo "ΛΑΘΟΣ ΣΤΗΝ ΣΥΝΔΕΣΗ<BR>"; mysql_select_db("test",$link); $result=mysql_query("select * from test",$link); if(!$result) echo "ΛΑΘΟΣ ΣΤΟ ΕΡΩΤΗΜΑ"; ΣΕΛΙΔΑ 34/43

35 echo "<table border=1>"; while($row=mysql_fetch_array($result)) echo "<tr>"; foreach($row as $v) echo </tr> ; echo </table> ; mysql_close($link); </body> </html> echo "<td> $v </td>"; Η mysql_fetch_array() αναλαμβάνει να σπάσει το $result σε γραμμές. Κάθε κλήση σε αυτήν λαμβάνει την επόμενη γραμμή. Το αποτέλεσμα της συναρτήσεως είναι ένας πίνακας με μήκος ίσο με το πλήθος των στοιχείων κάθε πλειάδας. Αυτό σημαίνει πως μπορούμε να ταξινομήσουμε τον πίνακα ή να το επεξεργαστούμε με κάποια από τις συναρτήσεις που έχουμε δει σε προηγούμενη ενότητα για τον χειρισμό πινάκων. Το παραπάνω παράδειγμα δεν είναι πλήρες. Μπορεί να τυπώνει στην οθόνη τα πεδία ενός πίνακα αλλά δεν τυπώνει τα ονόματα των πεδίων. Έτσι αν δεν ξέρουμε την δομή ενός πίνακα δεν θα μπορέσουμε να καταλάβουμε τι παριστάνει κάθε στήλη. Για αυτόν τον λόγο υπάρχει η συνάρτηση $fields=mysql_list_fields(database,table,link) Το πρώτο όρισμα είναι το όνομα της βάσεως για την οποία ενδιαφερόμαστε. Το δεύτερο όρισμα είναι το όνομα του πίνακα και το τρίτο όρισμα είναι ο περιγραφέας της βάσεως δεδομένων. Το αποτέλεσμα είτε θα είναι FALSE αν υπάρχει κάποιο σφάλμα (ανύπαρκτος πίνακας) είτε θα είναι μία λίστα με τα ονόματα των πεδίων του πίνακα. Για να ξέρουμε πόσα πεδία έχει ένας πίνακας αρκεί να καλέσουμε την συνάρτηση: $columns=mysql_num_fields($fields) Η συνάρτηση αυτή θα επιστρέψει το πλήθος των στηλών που υπάρχουν στην λίστα $fields. Η λίστα $fields προήλθε από την mysql_list_fields(). Στην συνέχεια με την συνάρτηση $fieldname=mysql_field_name($fields,pos) λαμβάνουμε το όνομα του πεδίου, σαν αλφαριθμητικό πλέον, από την λίστα ΣΕΛΙΔΑ 35/43

36 fields στην θέση pos. Το αρχικό μας παράδειγμα ολοκληρωμένο τώρα και με ονόματα πεδίων έχει ως ακολούθως: <html> <head> </head> <body> <TITLE> ΔΟΚΙΜΗ </TITLE> $link=mysql_connect("localhost","sheridan",""); if(!$link) echo "ΛΑΘΟΣ ΣΤΗΝ ΣΥΝΔΕΣΗ<BR>"; mysql_select_db("test",$link); $result=mysql_query("select * from test",$link); if(!$result) echo "ΛΑΘΟΣ ΣΤΟ ΕΡΩΤΗΜΑ"; $fields=mysql_list_fields( test, test,$link) echo "<table border=1>"; echo "<tr>"; for($i=0;$i<$columns;$i++) echo "<td>"; echo mysql_field_name($fields,$i); echo "</td>"; echo "</tr>"; while($row=mysql_fetch_array($result)) echo "<tr>"; foreach($row as $v) ΣΕΛΙΔΑ 36/43

37 echo </tr> ; echo </table> ; mysql_close($link); </body> </html> Εισαγωγή πλειάδων echo "<td> $v </td>"; Ένα άλλο σημαντικό ζήτημα που έχουμε στις βάσεις δεδομένων και στο ηλεκτρονικό εμπόριο είναι η εισαγωγή νέων εγγραφών σε μία βάση δεδομένων ή η ενημέρωση παλαιών. Με την PHP κάτι τέτοιο είναι αρκετά απλό αρκεί να γνωρίζουμε MySQL. Στην MySQL για να ενημερώσουμε έναν πίνακα σε μία βάση δεδομένων γράφουμε INSERT INTO TABLENAME(field1,field2,...) VALUES(val1,val1,val3); Με τον όρο TABLENAME εννοούμε το όνομα του πίνακα. Field1, field2 κτλ είναι τα ονόματα των πεδίων στον πίνακα στα οποία κάνουμε εισαγωγή. Για το παράδειγμα του πίνακα test που είδαμε παραπάνω μπορούμε να φτιάξουμε την επόμενη σελίδα. Στην πρώτη δίνονται τρία πεδία: όνομα, εργασία και κωδικός και στην δεύτερη αυτά τα στοιχεία εισάγονται στην βάση δεδομένων και εμφανίζονται πλέον όλα μαζί στην οθόνη μας. Η πρώτη σελίδα έχει ως ακολούθως: <html> <body> <head> </head> <title> ΔΕΥΤΕΡΗ ΣΕΛΙΔΑ </title> <form method="post" action="page2.php"> ONOMA:<input type="text" name="name"> <br> ERGASIA:<input type="text" name="job"> <br> CODIKOS:<input type="text" name="code"> <br> <input type="submit" value="ok"> ΣΕΛΙΔΑ 37/43

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

Διαβάστε περισσότερα

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές

Εργαστήριο Βάσεων Δεδομένων. Δικαιώματα Χρηστών Προβολές Εργαστήριο Βάσεων Δεδομένων Δικαιώματα Χρηστών Προβολές Επικοινωνία με MySQL mysql host DB server queries results Client host Β Δ Η χρήση της mysql βασίζεται στο μοντέλο client server Remote access to

Διαβάστε περισσότερα

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

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Φροντιστήριο 4/2/2009 Δικαιώματα χρηστών - Προβολές (Views) ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ MYSQL queries results mysql host DB server queries results Client host Β Δ Ηχρήσητηςmysql βασίζεται

Διαβάστε περισσότερα

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

Εργαστήριο #10 (Ε10) 1 Εργαστήριο #10 Από τα προηγούμενα εργαστήρια......θα χρειαστείτε ορισμένες από τις οδηγίες μορφοποίησης CSS (ανατρέξτε στις εκφωνήσεις του 8 ου και 9 ου εργαστηρίου).! Οδηγίες Στη δυναμική δημιουργία ιστοσελίδων

Διαβάστε περισσότερα

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP.

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP. Εργαστήριο #5 Τι πρέπει να έχετε ολοκληρώσει από το προηγούμενο εργαστήριο. Θα πρέπει να ξέρετε να εισάγετε ένα βασικό πρόγραμμα PHP μέσα σε μια ιστοσελίδα, τη χρήση της echo και τον χειρισμό απλών μεταβλητών

Διαβάστε περισσότερα

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Τμημα Πληροφορικης και Τηλεματικης Τσάμη Παναγιώτα ΑΜ: 20833 ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Άσκηση 1 Αθήνα 13-12-2011 Αναφορά Ενότητα 1 A Δημιουργήστε στο φλοιό 3 εντολές (alias) που η

Διαβάστε περισσότερα

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Μονάδες 12 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΗΜΕΡΗΣΙΩΝ ΚΑΙ ΕΣΠΕΡΙΝΩΝ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑΔΑ A ) ΚΑΙ ΜΑΘΗΜΑΤΩΝ ΕΙΔΙΚΟΤΗΤΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΩΝ ΛΥΚΕΙΩΝ (ΟΜΑΔΑ Β ) ΠΑΡΑΣΚΕΥΗ 5 ΙΟΥΝΙΟΥ 2015 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ:

Διαβάστε περισσότερα

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015 ΛΥΚΕΙΟ ΑΡΧ. ΜΑΚΑΡΙΟΥ Γ - ΔΑΣΟΥΠΟΛΗ ΣΧΟΛΙΚΟ ΕΤΟΣ 2014-2015 ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ-ΙΟΥΝΙΟΥ 2015 ΜΑΘΗΜΑ: ΠΛΗΡΟΦΟΡΙΚΗ ΗΜΕΡΟΜΗΝΙΑ: 10 /6 / 2015 ΒΑΘΜΟΣ:... ΤΑΞΗ: Β ΧΡΟΝΟΣ: 2 ώρες ΥΠ. ΚΑΘΗΓΗΤΗ:...

Διαβάστε περισσότερα

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

. Εργαστήριο Βάσεων Δεδομένων. Triggers Εργαστήριο Βάσεων Δεδομένων Triggers Triggers: Βασικές Έννοιες Ένας trigger είναι ένα κομμάτι κώδικα, μια ρουτίνα Συνδέεται με ένα συγκεκριμένο πίνακα Καλείται όταν συμβεί ένα γεγονός στον πίνακα Συχνές

Διαβάστε περισσότερα

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές Μορφές Εντολών Είδη εντολών Απλές εντολές Εκτελούν κάποια ενέργεια Εντολές ελέγχου Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές Εντολές και παραστάσεις Μιαεντολήείναιμιαπαράστασηπου ακολουθείται

Διαβάστε περισσότερα

Τεχνολογίες Διαδικτύου. Server Side Scripting I PHP

Τεχνολογίες Διαδικτύου. Server Side Scripting I PHP Τεχνολογίες Διαδικτύου Server Side Scripting I PHP Εισαγωγή PHP PHP:Hypertext Preprocessor Mηχανή που συνοδεύει web servers όπως ο IIS και ο Apache Η PHP είναι γλώσσα προγραμματισμού για web εφαρμογές

Διαβάστε περισσότερα

Εφαρµογές διαδικτύου µε PHP

Εφαρµογές διαδικτύου µε PHP Εφαρµογές διαδικτύου µε PHP Σταύρος Πολυβίου Αρχιτεκτονική τριών επιπέδων (three-tier architecture) SQL HTTP request Αποτελέσµατα (πίνακες) PHP HTML Σύστηµα διαχείρισης δεδοµένων (Database Management System)

Διαβάστε περισσότερα

Πληρουορική Γ Γσμμασίοσ

Πληρουορική Γ Γσμμασίοσ Πληρουορική Γ Γσμμασίοσ Προγραμματισμός και Αλγόριθμοι Από το και τημ Χελώμα στημ Ευριπίδης Βραχνός http://evripides.mysch.gr/ 2014 2015 1 Προγραμματισμός Ζάννειο Πρότυπο Πειραματικό Γυμνάσιο Πειραιά Ενότητα:

Διαβάστε περισσότερα

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1)

SQL Τύποι Δεδομένων Δημιουργία Πίνακα Παράδειγμα.. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγή στη MySQL (1) Εργαστήριο Βάσεων Δεδομένων Εισαγωγή στη My (1) Η (Structured Query Language) είναι μια πλήρης γλώσσα Βάσεων Δεδομενων Είναι δομημένη σε βάσεις που περιέχουν πίνακες Οι πίνακες αποτελούνται από γραμμές

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΠΕΜΠΤΟ Triggers, Stored procedures Γιώργος Μαρκοµανώλης Περιεχόµενα Triggers-Ενηµέρωση δεδοµένων άλλων πινάκων... 1 Ασφάλεια...

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07 Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public

Διαβάστε περισσότερα

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αυγερινός Αραμπατζής avi@ee.duth.gr www.aviarampatzis.com Βάσεις Δεδομένων Stored Procedures 1 Stored Routines (1/2) Τμήματα κώδικα τα

Διαβάστε περισσότερα

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008

2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008 Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει

Διαβάστε περισσότερα

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη

ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης. Φροντιστήριο SQL Examples Ξένου Ρουμπίνη ΗΥ-360 Αρχεία και Βάσεις Δεδομένων Διδάσκων: Δ. Πλεξουσάκης Φροντιστήριο SQL Examples Ξένου Ρουμπίνη 1 SQL-DDL Data Definition/Description Language (DDL): προσδιορίζουν τη δομή ή το σχήμα των δεδομένων.

Διαβάστε περισσότερα

Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών:

Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών: Άσκηση 1 (α) Να διατυπώσετε την πιο κάτω λογική έκφραση στη Visual Basic κάνοντας χρήση μεταβλητών: (Μον.2) Η ηλικία είναι μεταξύ των 15 και 18 συμπεριλαμβανομένων (β) Αν Χ= 4, Υ=2, Κ=2 να βρείτε το αποτέλεσμα

Διαβάστε περισσότερα

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο

Διαβάστε περισσότερα

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

Τεχνικός Εφαρμογών Πληροφορικής Τεχνικός Εφαρμογών Πληροφορικής ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΠΙΝΑΚΕΣ Εξάμηνο: 2014Β Διδάσκουσα: Ηλεκτρονική Τάξη: Κανελλοπούλου Χριστίνα_ΠΕ19 Πληροφορικής Περιεχόμενα Πίνακες Τι είναι πίνακας; Οι πίνακες χρησιμοποιούνται

Διαβάστε περισσότερα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 Μάθημα: ΠΛΗΡΟΦΟΡΙΚΗ Ημερομηνία και ώρα εξέτασης: Τρίτη, 6 Ιουνίου 2006 07:30 10:30

Διαβάστε περισσότερα

Παιχνίδια σε Javascript

Παιχνίδια σε Javascript Παιχνίδια σε Javascript Μάθημα 1ο Μια Γρήγορη Εισαγωγή στη Γλώσσα Τα Εργαλεία Την Javascript μπορούμε (όπως και την HTML) να τη γράψουμε σε ένα απλό συντάκτη κειμένου, ή σε ένα περιβάλλον όπως το Bluefish

Διαβάστε περισσότερα

Ασκήσεις Ηλεκτρονικού Εμπορίου Ιωάννης Γ. Τσούλος

Ασκήσεις Ηλεκτρονικού Εμπορίου Ιωάννης Γ. Τσούλος 1. HTML Ασκήσεις Ηλεκτρονικού Εμπορίου Ιωάννης Γ. Τσούλος Σε αυτό το κεφάλαιο παρουσιάζονται τα βασικά στοιχεία από την HTML προκειμένου να αποτελέσουν μία καλή εισαγωγή για την συνέχεια όπου θα δούμε

Διαβάστε περισσότερα

Πώς γίνεται το debug? Το debug γίνεται με δύο τρόπους, ως επί το πλείστον. Τουλάχιστον, εγώ δύο έμαθα, και αυτούς αναφέρω.

Πώς γίνεται το debug? Το debug γίνεται με δύο τρόπους, ως επί το πλείστον. Τουλάχιστον, εγώ δύο έμαθα, και αυτούς αναφέρω. Τι είναι το debug μαμα? Με απλά λόγια, debug (αποσφαλμάτωση αλλά που να κάθεσαι να το πεις), είναι η διαδικασία εντοπισμού και διόρθωσης σφαλμάτων που υπάρχουν σε κώδικα (ασχέτως γλώσσας προγραμματισμού).

Διαβάστε περισσότερα

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP Το FTP (File Transfer Protocol) είναι το εξειδικευμένο πρωτόκολλο μεταφοράς αρχείων στα σύγχρονα δίκτυα δεδομένων όπως το Διαδίκτυο. Δίνει τη δυνατότητα μεταφοράς αρχείων από τον υπολογιστή

Διαβάστε περισσότερα

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Να αναπτύξουν ένα πρόγραμμα όπου θα επαναλάβουν τα βήματα ανάπτυξης μιας παραθυρικής εφαρμογής.

Διαβάστε περισσότερα

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

Διαβάστε περισσότερα

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ ΣΥΜΒΕΒΛΗΜΕΝΟΥΣ ΜΕ ΤΟΝ Ε.Ο.Π.Υ. Τ.Ε.Ι ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ «ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΔΙΑΔΡΑΣΤΙΚΗΣ ΔΙΑΔΙΚΤΥΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ΓΙΑ ΤΗΝ ΕΞΥΠΗΡΕΤΗΣΗ ΑΣΘΕΝΩΝ» ΟΝΟΜΑΤΕΠΩΝΥΜΑ ΣΠΟΥΔΑΣΤΩΝ : ~ΔΕΛΗΓΙΑΝΝΗ ΚΥΡΙΑΚΗ, 1925~

Διαβάστε περισσότερα

ΜΕΡΟΣ ΠΡΩΤΟ: Θεωρητική Προσέγγιση...15

ΜΕΡΟΣ ΠΡΩΤΟ: Θεωρητική Προσέγγιση...15 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος του συγγραφέα...11 Πρόλογος του καθηγητή Γεωργίου Δουκίδη...13 ΜΕΡΟΣ ΠΡΩΤΟ: Θεωρητική Προσέγγιση...15 ΚΕΦΑΛΑΙΟ 1. Η ΕΠΙΧΕΙΡΗΣΗ...17 Ορισμός της έννοιας της επιχείρησης και οι μορφές

Διαβάστε περισσότερα

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ και ΔΟΜΗ ΑΚΟΛΟΥΘΙΑΣ 2.1 Να δοθεί ο ορισμός

Διαβάστε περισσότερα

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

Διαβάστε περισσότερα

Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες)

Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες) Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 13-1 Περιεχόμενο

Διαβάστε περισσότερα

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει;

Αναδρομή. Τι γνωρίζετε για τη δυνατότητα «κλήσης» αλγορίθμων; Τι νόημα έχει; ΜΑΘΗΜΑ 7 Κλήση αλγορίθμου από αλγόριθμο Αναδρομή Σ χ ο λ ι κ ο Β ι β λ ι ο ΥΠΟΚΕΦΑΛΑΙΟ 2.2.7: ΕΝΤΟΛΕΣ ΚΑΙ ΔΟΜΕΣ ΑΛΓΟΡΙΘΜΟΥ ΠΑΡΑΓΡΑΦΟI 2.2.7.5: Κλήση αλγορίθμου από αλγόριθμο 2.2.7.6: Αναδρομή εισαγωγη

Διαβάστε περισσότερα

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

Βάσεις Δεδομένων (Databases) Βάσεις Δεδομένων (Databases) ΕΠΛ 342 Χειμερινό Εξάμηνο 2011 Διδάσκοντες Καθηγητές Γιώργος Σαμάρας (ΧΩΔ01 109) Δημιουργία Πεδίων Ορισμού Πεδίο Ορισμού είναι συστατικό του σχήματος για τον ορισμό των μακροεντολών

Διαβάστε περισσότερα

Διάλεξη 6: Δείκτες και Πίνακες

Διάλεξη 6: Δείκτες και Πίνακες Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 6: Δείκτες και Πίνακες (Κεφάλαιο 12, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132 6-1 Περιεχόμενο

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β.

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β. ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β. Καβακλή Χειμερινό Εξάμηνο 2001 1 Σύνολο χαρακτήρων της Pascal Για

Διαβάστε περισσότερα

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

Προγραμματισμός διαδικτυακών εφαρμογών με PHP ΕΣΔ516: Τεχνολογίες Διαδικτύου Προγραμματισμός διαδικτυακών εφαρμογών με PHP Ερωτήματα μέσω Περιεχόμενα Περιεχόμενα Λογισμικό για εφαρμογές Web Η τριεπίπεδη αρχιτεκτονική (3-tier architecture) Εισαγωγή

Διαβάστε περισσότερα

METALIB Σύστημα μετα-αναζήτησης για ηλεκτρονικές πηγές πληροφόρησης

METALIB Σύστημα μετα-αναζήτησης για ηλεκτρονικές πηγές πληροφόρησης METALIB Σύστημα μετα-αναζήτησης για ηλεκτρονικές πηγές πληροφόρησης Βιβλιοθήκη & Κέντρο Πληροφόρησης, Πανεπιστημίου Λευκωσίας E-mail: libithelp@unic.ac.cy Τηλ: 22444772 Έκδοση: Μάρτιος 2013 (ES, GC, KP)

Διαβάστε περισσότερα

Δρ. Δημήτριος Α. Κουτσομητρόπουλος. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Α.Τ.Ε.Ι. Πάτρας 2012-2013

Δρ. Δημήτριος Α. Κουτσομητρόπουλος. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Α.Τ.Ε.Ι. Πάτρας 2012-2013 Εισαγωγή στην PHP Δρ. Δημήτριος Α. Κουτσομητρόπουλος Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Α.Τ.Ε.Ι. Πάτρας 2012-2013 Εισαγωγή στην PHP PHP : Hypertext Preprocessor Η PHP είναι μία

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης

ΚΕΦΑΛΑΙΟ 1ο 3ο. ΚΕΦΑΛΑΙΟ 5ο 6ο. ΚΕΦΑΛΑΙΟ 7ο. Δομημένος Προγραμματισμός - Γενικές Ασκήσεις Επανάληψης ΚΕΦΑΛΑΙΟ 1ο 3ο 1. Συμπληρώστε τα κενά με τη λέξη που λείπει. α. Ένα πρόβλημα το χωρίζουμε σε άλλα απλούστερα, όταν είναι ή όταν έχει τρόπο επίλυσης. β. Η επίλυση ενός προβλήματος προϋποθέτει την του. γ.

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΕΥΤΕΡΟ ηµιουργία Βάσης, Πίνακα, Domain Γιώργος Μαρκοµανώλης Περιεχόµενα ηµιουργία Βάσης... 1 ηµιουργία µιας shadow βάσης... 2 ιαγραφή

Διαβάστε περισσότερα

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Υλοποίηση ΑΤΔ με Συνδεδεμένες Λίστες -

Διαβάστε περισσότερα

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας δίπλα στο γράμμα που αντιστοιχεί σε κάθε πρόταση τη

Διαβάστε περισσότερα

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 26-01-2014

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 26-01-2014 ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 26-01-2014 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα τη λέξη Σωστό, αν είναι

Διαβάστε περισσότερα

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013

Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 Αρχές Γλωσσών Προγραμματισμού και Μεταφραστών: Εργαστηριακή Άσκηση 2012-2013 27 Μαρτίου 2013 Περίληψη Σκοπός της παρούσας εργασίας είναι η εξοικείωσή σας με τις θεμελιώδεις θεωρητικές και πρακτικές πτυχές

Διαβάστε περισσότερα

3 Αλληλεπίδραση Αντικειμένων

3 Αλληλεπίδραση Αντικειμένων Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή

Διαβάστε περισσότερα

XAMPP Apache MySQL PHP javascript xampp

XAMPP Apache MySQL PHP javascript xampp XAMPP Το xampp είναι ένα δωρεάν πρόγραμμα με το οποίο μπορούμε να κάνουμε εγκατάσταση τον Apache, τη MySQL και την PHP. Apache. Ο Apache είναι ένας Web Server. Είναι δηλαδή πρόγραμμα το οποίο τρέχει μόνιμα

Διαβάστε περισσότερα

ιαχείριση Πληροφοριών στο ιαδίκτυο

ιαχείριση Πληροφοριών στο ιαδίκτυο ιαχείριση Πληροφοριών στο ιαδίκτυο Εργαστήριο (Φυλλάδιο 8) ΤΕΙ Καβάλας - Σχολή ιοίκησης & Οικονοµίας Τµήµα ιαχείρισης Πληροφοριών ιδάσκων: Μαρδύρης Βασίλειος, ιπλ. Ηλ. Μηχανικός & Μηχ. Υπολογιστών, MSc

Διαβάστε περισσότερα

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C

ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΣΥΝΟΠΤΙΚΟΣ ΟΔΗΓΟΣ ΓΛΩΣΣΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C 1 Εισαγωγή Ο προγραμματισμός είναι μια διαδικασία επίλυσης προβλημάτων με χρήση Η/Υ. Ένα πρόγραμμα είναι ένα σύνολο εντολών κάποιας γλώσσας προγραμματισμού,

Διαβάστε περισσότερα

[11] Υπολογιστικά συστήματα: Στρώματα. Περιεχόμενα. Εισαγωγή. επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό

[11] Υπολογιστικά συστήματα: Στρώματα. Περιεχόμενα. Εισαγωγή. επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό Υπολογιστικά συστήματα: Στρώματα 1 ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗς ΠΛΗΡΟΦΟΡΙΚΗΣ επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό δεδομένα Εισαγωγή στο Unix Περιεχόμενα Εισαγωγή 2 Εισαγωγή

Διαβάστε περισσότερα

Web Programming for Dummies

Web Programming for Dummies Web Programming for Dummies Γράψαμε αυτό το tutorial, αφού ολοκληρώσαμε την άσκηση Προγραμματισμού στον Παγκόσμιο Ιστό. Προσπαθήσαμε να γράψουμε γενικά πράγματα που βρήκαμε εμείς μετά από αναζητήσεις.aποφύγαμε

Διαβάστε περισσότερα

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ ΜΑΘΗΜΑ : Πληροφορική Κατεύθυνσης ΤΑΞΗ : Β Αρ. σελίδων : 11 Ηµεροµηνία : 10/6/2008 Ώρα Έναρξης : 7:45 π.µ ιάρκεια : 2 ώρες Ονοµατεπώνυµο :...Τµήµα : Αριθµός :...Βαθµός

Διαβάστε περισσότερα

Αφού δώσουμε όνομα χρήση και password μπορούμε να επιλέξουμε ημερομηνία εισόδου στο σύστημα, εταιρία και υποκατάστημα

Αφού δώσουμε όνομα χρήση και password μπορούμε να επιλέξουμε ημερομηνία εισόδου στο σύστημα, εταιρία και υποκατάστημα Αφού δώσουμε όνομα χρήση και password μπορούμε να επιλέξουμε ημερομηνία εισόδου στο σύστημα, εταιρία και υποκατάστημα Η κεντρική οθόνη του προγράμματος. Ανά χρήστη υπάρχει δυνατότητα σχεδιασμού Menu Αρχείο

Διαβάστε περισσότερα

Το teachers Web είναι µία ΝΕΑ Υπηρεσία που υποστηρίζεται από την Οµάδα Υποστήριξης του Πληροφοριακού Συστήµατος Γραµµατειών. Η υπηρεσία Teachers Web, προσφέρει στους διδάσκοντες χρήστες του συστήµατος

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. 3 η Γραπτή Εργασία ΠΛΗ 23 Ακαδημαϊκό Έτος 2011 2012 ( Τόμος Β Κεφάλαια 1 4 ) Ημερομηνία Παράδοσης 25.3.

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. 3 η Γραπτή Εργασία ΠΛΗ 23 Ακαδημαϊκό Έτος 2011 2012 ( Τόμος Β Κεφάλαια 1 4 ) Ημερομηνία Παράδοσης 25.3. 3 η Γραπτή Εργασία ΠΛΗ 23 Ακαδημαϊκό Έτος 2011 2012 ( Τόμος Β Κεφάλαια 1 4 ) Ημερομηνία Παράδοσης 25.3.2012 ΕΝΔΕΙΚΤΙΚΕΣ ΑΠΑΝΤΗΣΕΙΣ Άσκηση 1 Δημιουργία συστήματος διαδραστικού ημερολογίου Εισαγωγή Στην

Διαβάστε περισσότερα

Αβδέλαρου Κωνσταντίνα

Αβδέλαρου Κωνσταντίνα ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Αβδέλαρου Κωνσταντίνα 1 η Εργασία στο μάθημα Λειτουργικά Συστήματα Ταύρος, 9 Δεκεμβρίου 2014 Άσκηση 1.1 Το shell script που δημιουργήθηκε είναι:

Διαβάστε περισσότερα

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Καθηγητής. Γουνόπουλος Άσκηση 1 Σκοπός της εργασίας αυτής είναι η κατανόηση της εσωτερικής λειτουργίας

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές Σκοπός του εργαστηρίου αυτού είναι η εξοικείωση με κάποιες εφαρμογές που θα μας φανούν πολύ χρήσιμες κατά τη διάρκεια του μαθήματος της Εισαγωγής στον Προγραμματισμό.

Διαβάστε περισσότερα

SPSS Statistical Package for the Social Sciences

SPSS Statistical Package for the Social Sciences SPSS Statistical Package for the Social Sciences Ξεκινώντας την εφαρμογή Εισαγωγή εδομένων Ορισμός Μεταβλητών Εισαγωγή περίπτωσης και μεταβλητής ιαγραφή περιπτώσεων ή και μεταβλητών ΣΤΑΤΙΣΤΙΚΗ Αθανάσιος

Διαβάστε περισσότερα

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

Διαβάστε περισσότερα

Εργασία για το Facility Game Μάθημα: Δομές Δεδομένων 2013-2014. Σωτήρης Γυφτόπουλος

Εργασία για το Facility Game Μάθημα: Δομές Δεδομένων 2013-2014. Σωτήρης Γυφτόπουλος Εργασία για το Facility Game Μάθημα: Δομές Δεδομένων 2013-2014 Σωτήρης Γυφτόπουλος Κανόνες του Facility Game (1/4) Στο Facility Game υπάρχει ένα σύνολο κόμβων που συνδέονται «σειριακά» και κάθε κόμβος

Διαβάστε περισσότερα

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word Επειδή οι μεταγενέστερες εκδόσεις του Word δεν περιλαμβάνουν στο μενού τη δυνατότητα δημιουργίας πολλαπλών

Διαβάστε περισσότερα

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών Σκοπός Nα κατασκευάσουν πίνακες από δεδομένα. Να κατασκευάσουν συναρτήσεις με πίνακες. Να κάνουν χρήση

Διαβάστε περισσότερα

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Εκφράσεις και Λίγες Εντολές Οι εκφράσεις της C Τελεστές Απλές και σύνθετες εντολές Εντολές ελέγχου (επιλογής) Εισαγωγή σε

Διαβάστε περισσότερα

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

Βάσεις δεδομένων (Access) Βάσεις δεδομένων (Access) Όταν εκκινούμε την Access εμφανίζεται το παρακάτω παράθυρο: Για να φτιάξουμε μια νέα ΒΔ κάνουμε κλικ στην επιλογή «Κενή βάση δεδομένων» στο Παράθυρο Εργασιών. Θα εμφανιστεί το

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Σκοπός του μαθήματος Σκοπός του παρόντος μαθήματος είναι να μάθετε να κάνετε εισαγωγή δεδομένων σε πίνακες και περαιτέρω επεξεργασία

Διαβάστε περισσότερα

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

Μια καλή επιλογή θα ήταν www.epipla-onomasas.gr (χωρίζοντας τις λέξεις με παύλα -) ή Τι είναι ένα CMS CMS ή Σύστημα Διαχείρισης Περιεχομένου (Content Management System) ονομάζουμε ένα λογισμικό που μας βοηθά να ελέγχουμε και να διαχειριζόμαστε έναν ιστότοπο δημόσιας ή περιορισμένης πρόσβασης.

Διαβάστε περισσότερα

Σενάριο 17: Παιχνίδι μνήμης με εικόνες

Σενάριο 17: Παιχνίδι μνήμης με εικόνες Σενάριο 17: Παιχνίδι μνήμης με εικόνες Φύλλο Εργασίας Τίτλος: Παιχνίδι μνήμης με εικόνες Γνωστικό Αντικείμενο: Εφαρμογές Πληροφορικής-Υπολογιστών Διδακτική Ενότητα: Διερευνώ - Δημιουργώ Ανακαλύπτω, Συνθετικές

Διαβάστε περισσότερα

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

PROJECT ΕΡΓΑΣΤΗΡΙΩΝ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ Ι. Τμήμα Μηχανικών Πληροφορικής Τ.Ε. Παραδοτέα 1. Το αρχείο.mdb της βάσης δεδομένων σας σε ACCESS 2. Ένα CD που θα αναγράφει το ονοματεπώνυμο του σπουδαστή και το ΑΕΜ και θα περιέχει το αρχείο.mdb της βάσης δεδομένων καθώς και το εγχειρίδιο

Διαβάστε περισσότερα

Διαβάστε στο Παράρτημα Α.1 πώς θα γράψετε ένα πρόγραμμα PHP για την παροχή δεδομένων σε μορφή διαφορετική από την HTML.

Διαβάστε στο Παράρτημα Α.1 πώς θα γράψετε ένα πρόγραμμα PHP για την παροχή δεδομένων σε μορφή διαφορετική από την HTML. Εργαστήριο #13 Από τα προηγούμενα εργαστήρια: Θα πρέπει να έχετε ολοκληρώσει το 11 ο (προσπέλαση βάσης δεδομένων μέσω PHP και 12 ο εργαστήριο (βασικές τεχνικές JavaScript στον browser). Οδηγίες Στο τελευταίο

Διαβάστε περισσότερα

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ: ΕΙΔΟΣ ΜΑΘΗΜΑΤΟΣ: Μικτό Γενικός σκοπός είναι να αποκτήσει ο καταρτιζόμενος τις αναγκαίες γνώσεις σχετικά με εργαλεία και τις τεχνικές για

Διαβάστε περισσότερα

Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015

Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015 Φροντιστήρια Επίγνωση Προτεινόμενα Θέματα Πανελλαδικών ΑΕΠΠ 2015 Βάλβης Δημήτριος Μηχανικός Πληροφορικής ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα

Διαβάστε περισσότερα

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

Διαβάστε περισσότερα

C: Από τη Θεωρία στην Εφαρμογή

C: Από τη Θεωρία στην Εφαρμογή Δρ. Γ. Σ. Τσελίκης Δρ. Ν. Δ. Τσελίκας C: Από τη Θεωρία στην Εφαρμογή Ενδεικτικές Ασκήσεις από το Βιβλίο C: Από τη Θεωρία στην Εφαρμογή (Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας) Ενδεικτικές Ασκήσεις του Βιβλίου Ε.Α.1

Διαβάστε περισσότερα

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER Η εφαρμογή LiveTripTraveller διατίθεται για κινητά τηλέφωνα με λειτουργικό σύστημα Android. Στο υπο-ιστοσελίδα www.livetrips.com/sources μπορείτε να κατεβάσετε την εφαρμογή

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΤΜΗΜΑ ΜΑΘΗΜΑΤΙΚΩΝ ΕΡΓΑΣΤΗΡΙΟ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΜΕΡΟΣ ΤΕΤΑΡΤΟ Insert, Update, Delete, Ένωση πινάκων Γιώργος Μαρκοµανώλης Περιεχόµενα Group By... 1 Having...1 Οrder By... 2 Εντολή Insert...

Διαβάστε περισσότερα

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα

Μεταφερσιμότητα Τα προγράμματα μεταφέρονται εύκολα σε διαφορετικά λειτουργικά συστήματα Η ΓΛΩΣΣΑ C Η C είναι μια γλώσσα προγραμματισμού υψηλού επιπέδου η οποία αναπτύχθηκε στις αρχές της δεκαετίας του 70 από τον Dennis Ritchie στα Bell Labs. Η σημερινή μορφή της γλώσσας ακολουθεί το πρότυπο

Διαβάστε περισσότερα

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr

Βάσεις δεδομένων. (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Βάσεις δεδομένων (10 ο μάθημα) Ηρακλής Βαρλάμης varlamis@hua.gr Περιεχόμενα Ευρετήρια Σκανδάλες PL/SQL Δείκτες/Δρομείς 2 Αποθήκευση δεδομένων Πρωτεύουσα αποθήκευση Κύρια μνήμη (main memory) ή κρυφή μνήμη

Διαβάστε περισσότερα

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr»

«Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Επεξήγηση web site με λογικό διάγραμμα «Δουλεύω Ηλεκτρονικά, Δουλεύω Γρήγορα και με Ασφάλεια - by e-base.gr» Web : www.e-base.gr E-mail : support@e-base.gr Facebook : Like Twitter : @ebasegr Πολλοί άνθρωποι

Διαβάστε περισσότερα

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής:

Περιληπτικά, τα βήματα που ακολουθούμε γενικά είναι τα εξής: Αυτό που πρέπει να θυμόμαστε, για να μη στεναχωριόμαστε, είναι πως τόσο στις εξισώσεις, όσο και στις ανισώσεις 1ου βαθμού, που θέλουμε να λύσουμε, ακολουθούμε ακριβώς τα ίδια βήματα! Εκεί που πρεπει να

Διαβάστε περισσότερα

ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : /www.wik id ot.com /

ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : /www.wik id ot.com / ΔΗ Μ Ι Ο ΥΡ Γ Ι Α W I K I με τ η χρήση τ η ς υπ ηρεσίας h t t p : /www.wik id ot.com / 1. Τι είναι το wikidot Το wikidot είναι ένας δικτυακός τόπος στον οποίο κάθε χρήστης έχει το δικαίωμα να δημιουργήσει

Διαβάστε περισσότερα

«Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ.

«Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ. ΕΡΓΑΣΙΑ 4 «Μηχανή Αναζήτησης Αρχείων» Ημερομηνία Παράδοσης: 30/04/2015, 09:00 π.μ. Στόχος Στόχος της Εργασίας 4 είναι να η εξοικείωση με την αντικειμενοστρέφεια (object oriented programming). Πιο συγκεκριμένα,

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Βιβλιογραφία "C Προγραμματισμός", Deitel & Deitel, Πέμπτη Έκδοση, Εκδόσεις

Διαβάστε περισσότερα

Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές

Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εισαγωγή, εύρεση, διαγραφή) Ευθύγραμμες Διπλά Συνδεδεμένες Λίστες

Διαβάστε περισσότερα

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

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ. ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ Ηλεκτρονική Υποβολή Α.Π.Δ. ΠΕΡΙΕΧΟΜΕΝΑ 1) Είσοδος στην εφαρμογή 2) Δημιουργία Περιόδου Υποβολής 2.α) Ακύρωση Περιόδου Υποβολής 3) Μέθοδος Υποβολής: Συμπλήρωση Φόρμας 3.α) Συμπλήρωση

Διαβάστε περισσότερα

Μανώλης Κιαγιάς, MSc. Aiolos Project. Αρχικές Ρυθμίσεις SSH και εγκατάσταση OpenMPI

Μανώλης Κιαγιάς, MSc. Aiolos Project. Αρχικές Ρυθμίσεις SSH και εγκατάσταση OpenMPI Μανώλης Κιαγιάς, MSc Aiolos Project Αρχικές Ρυθμίσεις SSH και εγκατάσταση OpenMPI Χανιά, 2015 2 (C) 2014 Μανώλης Κιαγιάς, manolis@freebsd.org Το παρόν έργο διατίθεται υπό τους όρους της Άδειας: Αναφορά

Διαβάστε περισσότερα

Εισαγωγή στις Συναρτήσεις

Εισαγωγή στις Συναρτήσεις Εισαγωγή στις Συναρτήσεις Η φιλοσοφία σχεδίασης της C βασίζεται στη χρήση των συναρτήσεων. Έχουμε ήδη δει και χρησιμοποιήσει πολλές συναρτήσεις που έχει το σύστημα, όπως είναι οι printf(), scanf(),αλλά

Διαβάστε περισσότερα

Ανάκτηση Δεδομένων (Information Retrieval)

Ανάκτηση Δεδομένων (Information Retrieval) Ανάκτηση Δεδομένων (Information Retrieval) Παύλος Εφραιμίδης Βάσεις Δεδομένων Ανάκτηση Δεδομένων 1 Information Retrieval (1) Βάσεις Δεδομένων: Περιέχουν δομημένη πληροφορία: Πίνακες Ανάκτηση Πληροφορίας

Διαβάστε περισσότερα

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

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΨΗΦΙΑΚΩΝ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΨΗΦΙΑΚΩΝ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ 1 Α. ΛΗΨΗ ΑΝΤΙΓΡΑΦΟΥ ΑΣΦΑΛΕΙΑΣ (EXPORT) ΨΗΦΙΑΚΩΝ ΠΙΣΤΟΠΟΙΗΤΙΚΩΝ 3 1. ΜΕ ΧΡΗΣΗ INTERNET EXPLORER 3 2. ΜΕ ΧΡΗΣΗ MOZILLA FIREFOX 10 Β. ΜΕΤΑΦΟΡΑ ΨΗΦΙΑΚΩΝ

Διαβάστε περισσότερα

Σενάριο Εστίασης Win XP:

Σενάριο Εστίασης Win XP: Σενάριο Εστίασης Win XP: Υλικό: 1 Η/Υ (backoffice), 1 POS, 1 router Motorola, 1 PDA. Σενάριο: Sync του backoffice με το POS και merge του POS με το PDA. Προϋποθέσεις Software: 1) BACK OFFICE : WIN XP pro,.net

Διαβάστε περισσότερα

Visual Basic Βασικές Έννοιες

Visual Basic Βασικές Έννοιες Visual Basi Βασικές Έννοιες «Είδα στον ύπνο µου ότι η ζωή είναι χαρά. Ξύπνησα και είδα ότι είναι χρέος. Αγωνίστηκα και είδα ότι τo χρέος είναι χαρά.» Ραµπριτανάθ Ταγκόρ Κουλλάς Χρίστος www.oullas.om oullas

Διαβάστε περισσότερα

Singular Report Generator. Σχ 1 ηµιουργία Καταστάσεων SRG

Singular Report Generator. Σχ 1 ηµιουργία Καταστάσεων SRG Μια από τις πιο σηµαντικές ανάγκες που αντιµετωπίζει µια επιχείρηση κατά την εγκατάσταση ενός λογισµικού «πακέτου» (Οικονοµικής & Εµπορικής ιαχείρισης), είναι ο τρόπος µε τον οποίο πρέπει να ανταποκριθεί

Διαβάστε περισσότερα

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΩΤΗΣΕΙΣ 1. Τι καλείται ψευδοκώδικας; 2. Τι καλείται λογικό διάγραμμα; 3. Για ποιο λόγο είναι απαραίτητη η τυποποίηση του αλγόριθμου; 4. Ποιες είναι οι βασικές αλγοριθμικές δομές; 5. Να περιγράψετε τις

Διαβάστε περισσότερα

Τύποι, Σταθερές και Μεταβλητές

Τύποι, Σταθερές και Μεταβλητές ΚΕΦΑΛΑΙΟ 3 Τύποι, Σταθερές και Μεταβλητές Η έννοια της μεταβλητής Γενικά μπορούμε να πούμε ότι η έννοια της μεταβλητής στον προγραμματισμό είναι άμεσα συνδεδεμένη με την έννοια που αυτή έχει σε μαθηματικό

Διαβάστε περισσότερα

«Δημιουργία Δυναμικών Ιστοσελίδων με PHP και MySQL στο Πανελλήνιο Σχολικό Δίκτυο»

«Δημιουργία Δυναμικών Ιστοσελίδων με PHP και MySQL στο Πανελλήνιο Σχολικό Δίκτυο» «Δημιουργία Δυναμικών Ιστοσελίδων με PHP και MySQL στο Πανελλήνιο Σχολικό Δίκτυο» Κ. Στυλιάδης Υπ. Κέντρου ΠΛΗ.ΝΕ.Τ. Δ/νσης Β /θμιας Εκπ/σης Ν. Φλώρινας styliadis@sch.gr Περίληψη Ο συνδυασμός της τεχνολογίας

Διαβάστε περισσότερα

Εργαστήριο Σημασιολογικού Ιστού

Εργαστήριο Σημασιολογικού Ιστού Εργαστήριο Σημασιολογικού Ιστού Ενότητα 8: Εισαγωγή στη SPARQL Βασική Χρήση Μ.Στεφανιδάκης 3-5-2015. Η γλώσσα ερωτημάτων SPARQL Ερωτήσεις (και ενημερώσεις) σε σετ δεδομένων RDF Και σε δεδομένα άλλης μορφής

Διαβάστε περισσότερα

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ.

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. Οδηγός Διαχειριστή Το m-learning Toolkit είναι μια ολοκληρωμένη πλατφόρμα εξ αποστάσεως εκπαίδευσης που έχει σχεδιαστεί για να υπάρχει η δυνατότητα της πρόσβασης

Διαβάστε περισσότερα