Το σύστημα βάσεων δεδομένων 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 Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

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

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

Ιατρική Πληροφορική. Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Ιατρική Πληροφορική Δρ. Π. ΑΣΒΕΣΤΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΒΙΟΪΑΤΡΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Τ. Ε. Χρήσιμοι Σύνδεσμοι Σημειώσεις μαθήματος: http://medisp.bme.teiath.gr/eclass/courses/tio103/ https://eclass.teiath.gr/courses/tio100/

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

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ

ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ ΤΑΞΙΝΟΜΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΕΡΩΤΗΜΑΤΟΣ Η συνθήκη WHERE βάζει περιορισμούς στις εγγραφές που επιστρέφονται. Ο όρος ORDER BY ταξινομεί τις εγγραφές που επιστρέφονται. Παράδειγμα: SELECT * FROM table_name ORDER

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

ΕΠΛ 012. JavaScripts

ΕΠΛ 012. JavaScripts ΕΠΛ 012 JavaScripts Γλώσσα JavaScript (JS) ηµιουργεί δυναµικές ιστοσελίδες και αλληλεπιδράσεις µε το χρήστη εν είναι Java, αλλά είναι αντικειµενοστραφής (απλό µοντέλο υποκειµένων) Objects, properties (τιµές

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

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων

2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων 2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει

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

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

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

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

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

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

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

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

9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers. Αποθηκευμένες Διαδικασίες (Stored Procedures): 9η Εργαστηριακή Άσκηση: Stored Procedures - Triggers Σκοπός της παρούσας εργαστηριακής άσκησης, είναι η εξοικείωση του σπουδαστή με τη δημιουργία αποθηκευμένων διαδικασιών (Stored Procedures) και σκανδάλης

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

Τμήμα Διοίκησης Επιχειρήσεων

Τμήμα Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων «Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα» «Σημειώσεις για την SQL» ΕΞΑΜΗΝΟ: ΣΤ Δρ. Κωνσταντίνος Χ. Γιωτόπουλος Πάτρα, Νοέμβριος 2010 SQL Create Table Η CREATE TABLE

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

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

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C Εισαγωγή στην C Μορφή Προγράµµατος σε γλώσσα C Τµήµα Α Με την εντολή include συµπεριλαµβάνω στο πρόγραµµα τα πρότυπα των συναρτήσεων εισόδου/εξόδου της C.Το αρχείο κεφαλίδας stdio.h είναι ένας κατάλογος

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

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

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

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

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

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

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

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

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο

if(συνθήκη) {... // οµάδα εντολών } C: Από τη Θεωρία στην Εφαρµογή 5 ο Κεφάλαιο C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 5 ο Έλεγχος Προγράµµατος Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Η εντολή if (Ι) Η εντολή if είναι µία από τις βασικότερες δοµές ελέγχου ροής στη C, αλλά και στις περισσότερες

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Τρίτη Διάλεξη Εντολές Επιλογής και Επανάληψης Εντολές επιλογής Εντολή if Η πιο απλή μορφή της if συντάσσεται ως εξής: if ( συνθήκη ) Οι εντολές μέσα στα άγκιστρα αποτελούν

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

ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά 2008-2009

ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά 2008-2009 ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά 2008-2009 ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ 2009 ΜΑΘΗΜΑ: ΠΛΗΡΟΦΟΡΙΚΗ ΤΑΞΗ : Β ΗΜΕΡΟΜΗΝΙΑ: Τετάρτη, 3 Ιουνίου 2009 ΩΡΑ: 07:45 10:15 ΟΔΗΓΙΕΣ: Το εξεταστικό δοκίμιο αυτό αποτελείται

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

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

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

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

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

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

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Η ΓΛΩΣΣΑ PASCAL ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας Σύνθετοι Τ.Δ. Αλφαριθμητικός 1. Ακέραιος (integer) Εύρος: -32768 έως 32767 Δήλωση

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Τμήμα Πληροφορικής & Επικοινωνιών Τομέας Υπολογιστικών Τεχνικών & Συστημάτων Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010 Ιωάννης Γεωργουδάκης - Πάρις Μαστοροκώστας Σεπτέμβριος 2011 ΠΕΡΙΕΧΟΜΕΝΑ

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

Παρουσίαση PHP. Μιχάλης Ζήσης GreekLUG

Παρουσίαση PHP. Μιχάλης Ζήσης GreekLUG Παρουσίαση PHP Μιχάλης Ζήσης GreekLUG PHP Λίγα λόγια... Η PHP είναι μιας γενικής χρήσης Γλώσσα Προγραμματισμού για δημιουργία δυναμικού περιεχομένου PHP σημαίνει... PHP Hypertext Preprocessor Τρέχει σε

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

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

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

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

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

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

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

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

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

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

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

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

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

Τεχνολογίες Διαδικτύου. 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 εφαρμογές

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

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

Οδηγίες Χρήσης της MySQL ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΗΜΕΙΩΣΕΙΣ ΣΕ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Οδηγίες Χρήσης της MySQL Διδάσκων: Γιάννης Θεοδωρίδης Συντάκτης Κειμένου: Βαγγέλης Κατσικάρος Νοέμβριος 2007 1 Περιεχόμενα Εισαγωγή...2

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

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

Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας. 3ο Μάθημα: Εισαγωγή στην SQL. Δρ. Κωνσταντίνος Χ. Βάσεις Δεδομένων και Ευφυή Πληροφοριακά Συστήματα Επιχειρηματικότητας 3ο Μάθημα: Εισαγωγή στην SQL Δρ. Κωνσταντίνος Χ. Γιωτόπουλος SQL Background SQL Structured Query Language Standard query γλώσσα για

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

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

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

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

Διάλεξη 5η: Εντολές Επανάληψης

Διάλεξη 5η: Εντολές Επανάληψης Διάλεξη 5η: Εντολές Επανάληψης Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Εντολές Επανάληψης CS100, 2015-2016

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

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

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

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

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

PHPMyAdmin: Σύντομος οδηγός για αρχάριους 2014 PHPMyAdmin: Σύντομος οδηγός για αρχάριους Καρούσος Νικόλαος Επιστημονικός Συνεργάτης Παρασκευά Σταυρούλα Φοιτήτρια, Εργαστηριακή Βοηθός, τμήμα ΕΠΔΟ Μεσολογγίου 33 Έκδοση 1.1 Πρόλογος... - 2-1. Είσοδος

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

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

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2013-2014 Επιμέλεια: Ομάδα Διαγωνισμάτων από το Στέκι των Πληροφορικών Θέμα Α A1. Να γράψετε στο τετράδιό σας τους

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

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ Διάλεξη 2 Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 2 Internal

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

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο

Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο Τετάρτη, 30 Οκτωβρίου 2013 Στοιχεία Προγραμματισμού Σε Γραφικό Περιβάλλον Φύλλο εργασίας 1 ο Λύστε στο Visual Basic Express 2010 τις παρακάτω ασκήσεις: 1. Να δημιουργήσετε ένα νέο Project του είδους Console

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

Εντολές της LOGO (MicroWorlds Pro)

Εντολές της LOGO (MicroWorlds Pro) Εντολές της LOGO (MicroWorlds Pro) Εντολές εμφάνισης (εξόδου) και αριθμητικές πράξεις δείξε Εμφανίζει στην οθόνη έναν αριθμό, το αποτέλεσμα πράξεων, μια λέξη ή μια λίστα (ομάδα) λέξεων. δείξε 200 200 δείξε

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

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

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

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

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι 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

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού Μάθημα 2ο Aντώνης Σπυρόπουλος v2_061015 Οροι που

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

3ο Εργαστήριο Βασικές εντολές διαχείρισης αρχείων σε LINUX

3ο Εργαστήριο Βασικές εντολές διαχείρισης αρχείων σε LINUX ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τμήμα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήματα (Εργαστήριο) Διδάσκων: I. Τσακνάκης 3ο Εργαστήριο Βασικές εντολές διαχείρισης αρχείων σε LINUX Αρχικός φάκελος χρήστη Home directory

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

Τυπικές χρήσεις της Matlab

Τυπικές χρήσεις της Matlab Matlab Μάθημα 1 Τι είναι η Matlab Ολοκληρωμένο Περιβάλλον Περιβάλλον ανάπτυξης Διερμηνευμένη γλώσσα Υψηλή επίδοση Ευρύτητα εφαρμογών Ευκολία διατύπωσης Cross platform (Wintel, Unix, Mac) Τυπικές χρήσεις

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

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

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

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

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

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

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

Αποθηκευμένες Διαδικασίες 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) Τμήματα κώδικα τα

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

ΛΥΚΕΙΟ ΑΓΙΟΥ ΝΕΟΦΥΤΟΥ ΣΧΟΛΙΚΗ ΧΡΟΝΙΑ 2010 2011 ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ 2011

ΛΥΚΕΙΟ ΑΓΙΟΥ ΝΕΟΦΥΤΟΥ ΣΧΟΛΙΚΗ ΧΡΟΝΙΑ 2010 2011 ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ 2011 ΛΥΚΕΙΟ ΑΓΙΟΥ ΝΕΟΦΥΤΟΥ ΣΧΟΛΙΚΗ ΧΡΟΝΙΑ 2010 2011 ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΙΟΥΝΙΟΥ 2011 ΜΑΘΗΜΑ: ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΤΕΥΘΥΝΣΗΣ ΗΜΕΡΟΜΗΝΙΑ: 07/06/2011 ΤΑΞΗ: Β ΛΥΚΕΙΟΥ ΩΡΑ: 11:00 ΑΡ. ΣΕΛΙΔΩΝ: 14 ΣΤΟΙΧΕΙΑ ΜΑΘΗΤΗ

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

NetBeans και σχετικά προγράμματα. Κακαρόντζας Γεώργιος Κέντρο Αριστείας Ανοιχτού Λογισμικού ΑΠΘ 1ο Θερινό Σχολείο Κώδικα

NetBeans και σχετικά προγράμματα. Κακαρόντζας Γεώργιος Κέντρο Αριστείας Ανοιχτού Λογισμικού ΑΠΘ 1ο Θερινό Σχολείο Κώδικα NetBeans και σχετικά προγράμματα Κακαρόντζας Γεώργιος Κέντρο Αριστείας Ανοιχτού Λογισμικού ΑΠΘ 1ο Θερινό Σχολείο Κώδικα Ατζέντα Εγκατάσταση προγραμμάτων Java NetBeans MySQL Δημιουργία απλής εφαρμογής διαδικτύου

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

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

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

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

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας

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

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

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

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

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

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

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

XAMPP Apache MySQL PHP javascript xampp

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

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

ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ ΜΑΗΣ 2007 - ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ ΟΔΗΓΙΕΣ: ΝΑ ΑΠΑΝΤΗΣΕΤΕ ΣΕ ΟΛΕΣ ΤΙΣ ΕΡΩΤΗΣΕΙΣ. Το εξεταστικό δοκίμιο αποτελείται από δύο Ενότητες Α και Β. ΕΝΟΤΗΤΑ Α - Αποτελείται από δέκα (10) ερωτήσεις. Κάθε ορθή απάντηση

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

ΑΡΧΗ 2ΗΣ ΣΕΛΙΔΑΣ Γ Α... Β

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

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

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

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

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

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

Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub Σύνοψη Σ αυτό το κεφάλαιο θα περιγράψουμε τη δημιουργία φορμών, προκειμένου να εισάγουμε δεδομένα και να εμφανίζουμε στοιχεία από τους πίνακες

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

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

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

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

Υπολογιστικά Συστήματα

Υπολογιστικά Συστήματα Υπολογιστικά Συστήματα Ενότητα 3: Βασικά στοιχεία της γλώσσας προγραμματισμού Visual Basic for Applications (VBA) Σαπρίκης Ευάγγελος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

Διαχείριση χρηστών και δικαιωμάτων

Διαχείριση χρηστών και δικαιωμάτων ΕΣΔ 232 Διαχείριση Δεδομένων στη Κοινωνία της Πληροφορίας Διαχείριση χρηστών και δικαιωμάτων Χρήστες και διακομιστές Περιεχόμενα Περιεχόμενα Χρήστες και δικαιώματα Δημιουργία νέων χρηστών Χρήστες και διακομιστές

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

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας 4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας 4.1.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας από βάση δεδομένων Όταν εκκινήσουμε τον Discoverer εμφανίζεται στην οθόνη μας το παράθυρο διαλόγου του βοηθητικού προγράμματος

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

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

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

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

Εισαγωγή στην γλώσσα προγραμματισμού C

Εισαγωγή στην γλώσσα προγραμματισμού C Εισαγωγή στην γλώσσα προγραμματισμού C Χαρακτηριστικά της C Ιδιαίτερα δημοφιλής Έχει χρησιμοποιηθεί για τον προγραμματισμό ευρέος φάσματος συστημάτων και εφαρμογών Γλώσσα μετρίου επιπέδου Φιλοσοφία: Ο

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

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

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται

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

Προγραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προεπεξεργαστής Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαδικασία Μεταγλώττισης πρόγραµµα επεξεργασίας κειµένου if a

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) Pascal- Εισαγωγή Η έννοια του προγράμματος Η επίλυση ενός προβλήματος με τον υπολογιστή περιλαμβάνει, όπως έχει ήδη αναφερθεί, τρία εξίσου

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

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

Εργαστήριο Βάσεων Δεδομένων Εργαστήριο Βάσεων Δεδομένων Άσκηση 2 Σκοπός της άσκησης είναι: 1. Με δεδομένο το σχεσιακό διάγραμμα, η υλοποίηση μιας βάσης σε MySQL. 2. Η εισαγωγή δεδομένων στη βάση. 3. Η υλοποίηση απλών ερωτημάτων mysql

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

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

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

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

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) 133 244 355 a= b= c= 3 read(d,e) 166 277 3888 ΕΡΩΤΗΣΕΙΣ 1. Να αναφέρετε μερικά από τα ιδιαίτερα χαρακτηριστικά της Pascal. 2. Ποιο είναι το αλφάβητο της Pascal; 3. Ποια είναι τα ονόματα-ταυτότητες και σε τι χρησιμεύουν; 4. Σε τι χρησιμεύει το συντακτικό

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

a = 10; a = k; int a,b,c; a = b = c = 10;

a = 10; a = k; int a,b,c; a = b = c = 10; C: Από τη Θεωρία στην Εφαρµογή Κεφάλαιο 4 ο Τελεστές Γ. Σ. Τσελίκης Ν. Δ. Τσελίκας Ο τελεστής εκχώρησης = Ο τελεστής = χρησιµοποιείται για την απόδοση τιµής (ή αλλιώς ανάθεση τιµής) σε µία µεταβλητή Π.χ.

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

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

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

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

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

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

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

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

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

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

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής

Διάλεξη 1. Πράξεις Τελεστές Έλεγχος Ροής Διάλεξη 1 Πράξεις Τελεστές Έλεγχος Ροής Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 Αριθμητικοί Τελεστές- Αριθμητικές Πράξεις 2 Internal use only Αριθμητικοί

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

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

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

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επιλογής. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επιλογής. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Δομή Επιλογής Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Δομή Επιλογής (Απόφασης) Εκτέλεση υπό συνθήκη IF THEN IF THEN ELSE IF THEN

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Το if-else statement Το if-else statement δουλεύει καλά όταν στο condition θέλουμε να περιγράψουμε μια επιλογή με δύο πιθανά ενδεχόμενα.

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

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

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

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

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

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

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

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

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

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

Ενδεικτική περιγραφή μαθήματος

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

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

Δομές Δεδομένων. Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα

Δομές Δεδομένων. Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα Ενότητα 4: Ο ΑΤΔ Λίστα & Υλοποίηση Λίστας με σειριακή αποθήκευση- Ο ΑΤΔ Συνδεδεμένη Λίστα- Υλοποίηση ΑΤΔ Συνδεδεμένη Λίστα με πίνακα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

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

PRISMA Win POS Sync Merge Replication

PRISMA Win POS Sync Merge Replication ΤΜΗΜΑ ΥΠΟΣΤΗΡΙΞΗΣ Οδηγός Ρυθμίσεων Συγχρονισμού PRISMA Win POS Sync Merge Replication Η διαδικασία του συγχρονισμού γίνεται από τον Η/Υ που έχει το Back Office. Βασική προϋπόθεση για να ενεργοποιηθεί ο

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

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

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

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

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

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

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

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

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

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

Οδηγός Βήμα-Βήμα για να εγκαταστήσετε τα Windows 7 στον Η/Υ σας

Οδηγός Βήμα-Βήμα για να εγκαταστήσετε τα Windows 7 στον Η/Υ σας Οδηγός Βήμα-Βήμα για να εγκαταστήσετε τα Windows 7 στον Η/Υ σας ΒΗΜΑ 1 Εφεδρικό Αντίγραφο Ασφαλείας ΠΡΟΣΟΧΗ: Πριν εφαρμόσουμε τον οδηγό εγκατάστασης στον Η/Υ μας κρατούμε αντίγραφα ασφαλείας των σημαντικών

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

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός Παναγιώτης Σφέτσος sfetsos@it.teithe.gr Εντολές ελέγχου συγκρίσεων επιλογής ή διακλαδώσεων ( if switch) Μία από τις σημαντικότερες

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

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

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

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

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

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

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

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

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

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

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

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

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

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής.

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Επιλέγει όλες τις πλειάδες, από μια σχέση R, που ικανοποιούν τη συνθήκη επιλογής. ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Χειμερινό Εξάμηνο 2012 SQL Structured Query Language Δρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ 1 Πράξεις της σχεσιακής άλγεβρας ΠΡΑΞΗ ΣΚΟΠΟΣ

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

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

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

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

Εργαστήριο #12. Βήμα 1 ο. Βήμα 2 ο. Βήμα 3 ο. Βήμα 4 ο.

Εργαστήριο #12. Βήμα 1 ο. Βήμα 2 ο. Βήμα 3 ο. Βήμα 4 ο. Εργαστήριο #12 Από τα προηγούμενα εργαστήρια: Το εργαστήριο αυτό είναι ανεξάρτητο από τα προηγούμενα επειδή όμως ασχολείται με τη γλώσσα JavaScript, βεβαιωθείτε ότι έχετε διαβάσει το εισαγωγικό Παράρτημα

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

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

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

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