Professional Documents
Culture Documents
Τεχνολογικό Εκπαιδευτικό
Ίδρυμα Ηπείρου
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ
με χρήση M ySQL - PHP
Ιωάννης Τσούλος
Σκοποί ενότητας
•Εισαγωγή στα βασικά χαρακτηριστικά του
συστήματος δεδομένων της mysql
Περιεχόμενα ενότητας
•Εισαγωγή
•Είσοδος
•Δημιουργία βάσεων δεδομένων
•Δημιουργία πινάκων
•Εισαγωγή δεδομένων
•Ενημέρωση δεδομένων
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Εισαγωγή
H mysql είναι ένα ελεύθερο σύστημα
διαχειρίσεως βάσεων δεδομένων που είναι
ευρύτατα διαδεδομένη στα UNIX συστήματα, αν
και τα τελευταία χρόνια δείχνει να κατακτά και
τον κόσμο των Win32.
9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Εισαγωγή
•H mysql είναι πολυνηματική και πολυχρηστική και
υποστηρίζει τα τελευταία standards της SQL.
Είσοδος
Για να ξεκινήσουμε την mysql σαν απλοί χρήστες
αρκεί να γράψουμε mysql σε ένα τερματικό. Αν
λάβουμε το μήνυμα
ERROR 2002: Can't connect to local MySQL server
through socket '/var/lib/mysql/mysql.sock'
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου 1
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Είσοδος
•Είναι απαραίτητο για να μπορούμε να μπούμε
στην mysql να εκτελείται ήδη ο εξυπηρέτης της
μιας και η βάση είναι όχι μόνον πολυχρηστική
αλλά επιτρέπει και την σύνδεση από άλλα
μηχανήματα.
Είσοδος
•Αν και στο internet υπάρχουν διαθέσιμα πολλές
γραφικές διαπροσωπείες για την mysql, ο
καλύτερος τρόπος να ξεκινήσει κανείς μαζί της
είναι με την χρήση εντολών σε τερματικό.
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου 3
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου 5
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
connect name
και ύστερα
use name
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου 7
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Δημιουργία πινάκων
•Αφού συνδεθούμε σε μία βάση δεδομένων το
επόμενο βήμα είναι να κάνουμε
κάποια εργασία σε πίνακες που διαθέτει. Αν δεν
έχει πίνακες μπορούμε να φτιάξουμε με την
εντολή create table.
Αν π.χ. θέλουμε ένα πίνακα για την περιγραφή
φοιτητών μπορούμε να γράψουμε:
Εισαγωγή δεδομένων
•Η εισαγωγή δεδομένων στην βάση μπορεί να
γίνει είτε με την εντολή insert είτε
από κάποιο αρχείο.
Με την εντολή insert μπορούμε να γράψουμε για το
παράδειγμα του πίνακα φοιτητών:
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου 9
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Εισαγωγή δεδομένων
•Αν έχουμε να περάσουμε κάποιες χιλιάδες
ονόματα η παραπάνω διαδικασία
γίνεται κουραστική.
Αυτό που μπορούμε να κάνουμε είναι να γράψουμε
τιςπλειάδες που θέλουμε σε ένα αρχείο κειμένου,
έστω students.txt, και στην συνέχεια να φορτώσουμε
αυτά τα στοιχεία στην βάση δεδομένων
load data local infile 'students.txt' into table
student;
•Στο αρχείο δεδομένων τα πεδία στην κάθε
πλειάδα χωρίζονται μεταξύ τους με TAB.
2
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Ενημέρωση δεδομένων
•Πολλές φορές χρειάζεται να αλλάξουμε κάποια
από τα δεδομένα που έχουμε εισάγει νωρίτερα σε
κάποιον πίνακα.
Η αλλαγή αυτή γίνεται με την χρήση της εντολής
update. Για το παράδειγμα των φοιτητών που είδαμε
προηγουμένως μία έγκυρη εντολή ενημερώσεως θα
μπορούσε να είναι:
Σκοποί ενότητας
•Εισαγωγή στα βασικά χαρακτηριστικά
(Ερωτήματα, λήψη όλων των δεδομένων,
ανάκτηση συγκεκριμένων πλειάδων, επιλογή
συγκεκριμένων στηλών, ταξινόμηση πλειάδων,
ταίριασμα προτύπων, διαγραφή πλειάδων) του
συστήματος δεδομένων της mysql.
Περιεχόμενα ενότητας
•ερωτήματα
•λήψη όλων των δεδομένων
•ανάκτηση συγκεκριμένων πλειάδων
•επιλογή συγκεκριμένων στηλών
•ταξινόμηση πλειάδων
•ταίριασμα προτύπων
•διαγραφή πλειάδων
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Ερωτήματα
Η εντολή που χρησιμοποιούμε για να εκτελέσουμε
κάποια ερωτήματα σε μία βάση δεδομένων είναι
η select.
Η πλήρης (όσο γίνεται) σύνταξή της είναι
9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Όλα τα δεδομένα
Για να πάρουμε όλα τα δεδομένα από έναν πίνακα
χρησιμοποιούμε την σύνταξη
1
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Συγκεκριμένες πλειάδες
•Για να ανακτήσουμε συγκεκριμένες πλειάδες από
έναν πίνακα αρκεί να ορίσουμε
κάποια λογική συνθήκη στην ενότητα where της
εντολής select.
Για παράδειγμα για να εμφανίσουμε τους φοιτητές
με κωδικό μεγαλύτερο του 500 γράφουμε
select *
from student
where code>500;
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου 1
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Συγκεκριμένες στήλες
•Για να επιλέξουμε συγκεκριμένες στήλες από
έναν πίνακα πρέπει να προσδιορίσουμε τις στήλες
αυτές στην κεφαλή του select.
Για παράδειγμα για να εμφανίσουμε μόνον τα
ονόματα των φοιτητών γράφουμε:
select name
from student;
1
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Ταξινόμηση πλειάδων
•Είναι χρήσιμο στην έξοδο των αποτελεσμάτων
από μία επιλογή να δούμε τα αποτελέσματα
ταξινομημένα προκειμένου να αποφασίσουμε πιο
εύκολα.
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου 3
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Ταξινόμηση πλειάδων
Για παράδειγμα αν θέλουμε να ταξινομήσουμε
τους φοιτητές ως προς το επίθετό τους γράφουμε:
select *
from student
order by lastname;
1
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Ταίριασμα προτύπων
Με το ταίριασμα προτύπων κάνουμε πράξεις
μεταξύ αλφαριθμητικών προκειμένου να
βρίσκουμε πλειάδες στις οποίες υπάρχει
ταίριασμα κάποιου ονόματος με ένα συγκεκριμένο
πρότυπο αλφαριθμητικού.
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου 5
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Ταίριασμα προτύπων
Για παράδειγμα για να βρούμε όλους τους
φοιτητές που το όνομά τους τελειώνει σε 'ΟΣ'
μπορούμε να γράψουμε
select *
ΣΕΛΙΔΑ 3/43
from student
where name like '%ΟΣ';
1
6
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Διαγραφή
Για να διαγράψουμε κάποιες πλειάδες από μία
βάση δεδομένων πρέπει να χρησιμοποιήσουμε την
εντολή delete, που συντάσσεται ως εξής:
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου 7
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Διαγραφή
•Αν για παράδειγμα θέλουμε να σβήσουμε τους
φοιτητές που ο κωδικός τους είναι αρνητικός (λάθος
στην εισαγωγή), τότε μπορούμε να γράψουμε:
Σκοποί ενότητας
•Εισαγωγή στην PHP(Βασική Σύνταξη),
Μεταβλητές(Ονοματολογία, Τύποι δεδομένων,
Μεταβλητές του Apache, Ανάκτηση Query Strings,
Ανάκτηση πεδίων φόρμας, Ανάκτηση τιμών λίστας).
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 3, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Περιεχόμενα ενότητας
•Εισαγωγή στην PHP
•Βασική Σύνταξη
•Μεταβλητές(Ονοματολογία, Τύποι δεδομένων,
Μεταβλητές του Apache, Ανάκτηση Query Strings,
Ανάκτηση πεδίων φόρμας, Ανάκτηση τιμών λίστας).
Εισαγωγή
Php είναι ακρωνύμιο για το Php Hypertext Preprocessor,
το οποίο φυσικά είναι μία επαναλαμβανόμενη ακολουθία
του ίδιου του ονόματος.
9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Εισαγωγή
Για να δούμε με τι μοιάζει μπορούμε να μελετήσουμε το
επόμενο παράδειγμα:
1
0
Εισαγωγή
•Με μία πρώτη ανάγνωση του κώδικα η PHP περικλείεται
μέσα σε κώδικα HTML με την χρήση των TAGS <? ?>.
1
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Εισαγωγή
Οι σελίδες PHP επειδή εκτελούνται από τον server δεν τις
ανοίγουμε ποτέ σαν απλά έγγραφα από τον
φυλλομετρητή που χρησιμοποιούμε, αλλά πρέπει να
συνδεθούμε μέσω του φυλλομετρητή στον
απομακρυσμένο διακομιστή σελιδών και να ζητήσουμε
την εκτέλεση της σελίδας.
1
2
Εισαγωγή
•Αν ο χρήστης user έχει στον φάκελο public_html στον
κόμβο www.teiep.gr
την σελίδα first.php για να την δούμε θα πρέπει να
δώσουμε στο πεδίο διευθύνσεως του φυλλομετρητή μας
http://www.teiep.gr/~user/first.php.
1
3
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Εισαγωγή
•Αν από την άλλη δεν έχουμε μόνιμη
σύνδεση στο INTERNET (μόνιμο ΙΡ) και θέλουμε απλώς να
δοκιμάσουμε μία σελίδα στο μηχάνημα που βρισκόμαστε,
τότε πολύ απλά δίνουμε στο πεδίο διευθύνσεως του
φυλλομετρητή
http://localhost/~user/first.php
1
4
Βασική Σύνταξη
Για να μπορέσουμε να γράψουμε κώδικα PHP που να
εκτελείται θα πρέπει να περικλείεται στα TAGS που
είδαμε στην προηγούμενη ενότητα. Επιπλέον οι εντολές
που υπάρχουν σε μία ενότητα PHP διαχωρίζονται μεταξύ
τους με το
Ελληνικό ερωτηματικό (;) ακριβώς όπως θα κάναμε και
στην γλώσσα C.
1
5
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Βασική Σύνταξη
Το παράδειγμα
Βασική Σύνταξη
•Εδώ θα πρέπει να πούμε πως η εντολή echo τυπώνει
στην σελίδα HTML στην θέση που βρισκόμαστε το κείμενο
που υπάρχει μέσα στα διπλά εισαγωγικά.
Αν λοιπόν ανοίξουμε την παραπάνω σελίδα θα δούμε στην
οθόνη το κείμενο
1
7
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Βασική Σύνταξη
Και τα δύο μηνύματα εμφανίστηκαν το ένα μετά το άλλο
και δεν υπήρξε αλλαγή γραμμής ανάμεσά
τους.
Αν θέλουμε να γίνει κάτι τέτοιο, τότε θα πρέπει να
ενσωματώσουμε το TAG <BR> μέσα στο κείμενο που θα
εκτυπώσουμε. Έτσι λοιπόν η ενότητα κώδικα
echo “MHNYMA1<BR>”;
echo “MHNYMA2”;
θα τυπώσει
MHNYMA1
MHNYMA2
1
8
Βασική Σύνταξη
Φυσικά από την στιγμή που μπορούμε να
ενσωματώσουμε ένα TAG μπορούμε να ενσωματώσουμε
οποιοδήποτε άλλο.
Η επόμενη ενότητα κώδικα
echo “MHNYMA1<BR>”;
echo “<B>MHNYMA2</B>;
θα τυπώσει
ΜΗΝΥΜΑ1
ΜΗΝΥΜΑ2
1
9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Βασική Σύνταξη
•Ένα άλλο βασικό στοιχείο σε γλώσσες προγραμματισμού
είναι ο σχολιασμός
κώδικα.
Στην PHP αυτό γίνεται με την χρήση των σχολίων που
συναντάμε στην C++.
2
0
Μεταβλητές-Ονοματολογία
•Αν οι δυνατότητες της PHP περιορίζονταν στο να γράφει
απλώς κείμενο επί της
οθόνης , τότε δεν θα ήταν περισσότερο χρήσιμη από ότι η
απλή HTML.
2
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Μεταβλητές-Ονοματολογία
•Οι μεταβλητές στην PHP ξεκινούν πάντα
με το σύμβολο $ ακολουθούμενο από ένα όνομα με
λατινικά γράμματα, αριθμούς και _ που πρέπει να ξεκινά
με γράμμα ή κάτω παύλα.
Έτσι, έγκυρα ονόματα είναι $i, $kala, $var11, $_ab, κλπ.
Τέλος, πρέπει να επισημανθεί πως η γλώσσα θεωρεί
διαφορετικές μεταβλητές αυτές που γράφονται με πεζά ή
κεφαλαία γράμματα.
Έτσι, οι μεταβλητές $a και $Α δεν είναι ίδιες.
2
2
Τύποι δεδομένων
Τυπικά, η γλώσσα έχει τους ακόλουθους τύπους
δεδομένων
1. Boolean
2. Integer
3. Double
4. String
Τύποι δεδομένων
Έστω η επόμενη ενότητα κώδικα
Τύποι δεδομένων
Ωστόσο, καμία μεταβλητή δεν δεσμεύεται στατικά με
έναν τύπο παρά μόνον
στην ανάθεση.
Έτσι, αν στην ίδια ενότητα κώδικα με την προηγούμενη ή σε
κάποια άλλη υπάρχει η ανάθεση $d=-1.7, τότε δεν θα
προκληθεί κάποιο λάθος και απλά ο νέος τύπος για την
μεταβλητή $d είναι double.
2
5
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
2
6
τότε $QUERY_STRING=”a=1”.
τότε $QUERY_STRING=”a=1&b=2”. 2
8
2
9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
3
0
3
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
3
3
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
3
4
3
6
3
7
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
3
8
3
9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
4
0
4
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
4
2
Βιβλιογραφία
Ηλεκτρονικό Εμπόριο Πομπόρτσης-Τσούφλας, Εκδόσεις Τζιόλα 2002
Ηλεκτρονικό Εμπόριο, Αρχές και Εξελίξεις, E. Turban, Εκδόσεις Γκιούρδας
Ηλεκτρονικό Εμπόριο Γ. Δουκίδης
Ηλεκτρονικό Εμπόριο Ν. Γεωργόπουλος
Εγχειρίδιο Προγραμματισμού E-Commerce με ASP Stephen Walther, Jonathan Levine
ASP Web Development Εύκολα και γρήγορα
Java Οδηγός Προγραμματισμού για E-Commerce με XML και JSP
4
8
Ενότητα 4 : Τελεστές της γλώσσας PHP
Σκοποί ενότητας
•Χρήση των τελεστών (Αριθμητικοί τελεστές, Τελεστές
αναθέσεως Τελεστές συγκρίσεως, Τελεστές εκτελέσεως)
της γλώσσας PHP.
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 4, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Περιεχόμενα ενότητας
•Αριθμητικοί τελεστές
•Τελεστές αναθέσεως
•Τελεστές συγκρίσεως
•Τελεστές εκτελέσεως
Αριθμητικοί τελεστές
9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 4, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Αριθμητικοί τελεστές
•Αν τα δύο ορίσματα του τελεστή / είναι ακέραιοι τότε το
αποτέλεσμα της διαιρέσεως είναι ακέραιος αριθμός.
1
0
Τελεστές αναθέσεως
Όμοια με την C η PHP έχει και τελεστές αναθέσεως. Για
παράδειγμα είναι απόλυτα έγκυρο να γράψουμε σε
κάποιο σημείο του κώδικα
$a=($b = 2);
όπως και να γράψουμε
$a+=2;
Η πρώτη εντολή αναθέτει το 2 στην μεταβλητή $b και
φυσικά μετά την αναθέτει και στην μεταβλητή $a.
Στην δεύτερη εντολή το 2 προστίθεται στην τιμή που
έχει εκείνη την στιγμή η μεταβλητή $a.
1
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 4, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Τελεστές συγκρίσεως
Για να συγκρίνουμε αποτελέσματα πράξεων μεταξύ τους
χρησιμοποιούμε τους τελεστές συγκρίσεως.
1
2
Τελεστές συγκρίσεως
1
3
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 4, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Τελεστές εκτελέσεως
•Η PHP έχει έναν τελεστή που όμοιό του δεν θα δούμε σε
άλλη γλώσσα. Αυτός είναι ο τελεστής εκτελέσεως
προγραμμάτων.
Τελεστές εκτελέσεως
<?
$result=`ls -CF';
echo “LS RESULTS=<B>$result</B>”;
?>
Λογικοί τελεστές
Σκοποί ενότητας
Εφαρμογή των δομών ελέγχου της PHP (δομές επιλογής
και δομές ανακυκλώσεως).
Περιεχόμενα ενότητας
•Δομές Ελέγχου της PHP
Απλός επιλογέας-πολλαπλός επιλογέας
Επανάληψη με while
Επανάληψη με do .. While
Επανάληψη με for
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Αριθμητικοί τελεστές
Μια γλώσσα προγραμματισμού θεωρείται νεκρή χωρίς
δομές ελέγχου. Οι δομές ελέγχου πάντα περιορίζονταν
σε δύο κατηγορίες:
1. Δομές επιλογής (αποφασίζουμε για το ποια θα είναι η
επόμενη εντολή που θα εκτελεστεί χρησιμοποιώντας
μία λογική συνθήκη)
2. Δομές ανακυκλώσεως (μια ομάδα εντολών εκτελείται
πολλές φορές με βάση μία λογική συνθήκη ή έναν
προκαθορισμένο αριθμό επαναλήψεων).
Απλός επιλογέας
Ο απλός επιλογέας αποφασίζει για την επόμενη εντολή
που θα εκτελεστεί με την χρήση μιας λογικής συνθήκης.
Η σύνταξή του είναι
if(condition)
{
group1;
}
Που σημαίνει πως αν ισχύει η λογική συνθήκη condition,
τότε εκτελείται η ομάδα εντολών group1. Διαφορετικά
αυτή η ομάδα εντολών δεν εκτελείται.
1
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Απλός επιλογέας
<?
$a=1;
$b=2;
if($b < $a)
{
$b=$a;
}
echo “b=$b a=$a”;
?>
1
1
Απλός επιλογέας
Φυσικά πάντα δεν υπάρχει ένας μόνο δρόμος στις
αποφάσεις. Για αυτόν τον λόγο έχει προβλεφτεί να
υπάρχει και ένα else για να καλύψει αυτήν την
περίπτωση, όπως δείχνει το επόμενο παράδειγμα
1
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
<?
$a=1;
$b=2;
if($a < $b)
{
echo “TO A EINAI ΜΙΚΡΟΤΕΡΟ ΤΟΥ Β”;
}
else
{
echo “ΤΟ Β ΕΙΝΑΙ ΜΙΚΡΟΤΕΡΟ ΤΟΥ Α”;
}
?> 1
3
Πολλαπλός επιλογέας
Εκτός του απλού επιλογέα υπάρχει και ο πολλαπλός
επιλογέας, στον οποίο δεν εξετάζουμε μόνον μία
περίπτωση για να πάρουμε απόφαση για την επόμενη
εντολή, αλλά περισσότερες.
1
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Πολλαπλός επιλογέας
1
5
Πολλαπλός επιλογέας
•Αν η τιμή της μεταβλητής είναι ίση με value1, τότε
εκτελούνται οι εντολές group1.
1
6
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Πολλαπλός επιλογέας
1.Οι εντολές break δεν είναι απαραίτητες για την
συντακτική εγκυρότητα της switch.
Αν δεν υπάρχουν όμως τότε θα εκτελεστεί και το επόμενο
μπλοκ εντολών μετά το πρώτο ταίριασμα της μεταβλητής.
Πολλαπλός επιλογέας
3. Δεν πρέπει σε καμία περίπτωση η πρόταση switch να
θεωρηθεί ισοδύναμη με πολλαπλά if.
Στα πολλαπλά if δεν έχουμε μόνον ελέγχους για ισότητα.
1
8
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Πολλαπλός επιλογέας-παράδειγμα1
1
9
Πολλαπλός επιλογέας-παράδειγμα2
•Αν η μεταβλητή είναι από
1 μέχρι 3 εμφανίζεται το
πρώτο μήνυμα.
•Αν είναι από 4 μέχρι 6 το
δεύτερο αλλιώς το τρίτο.
•Δεν είναι ιδιαίτερα
βολικός τρόπος για να
καλύψουμε σύνολα αλλά
τουλάχιστον είναι
ένας τρόπος.
2
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Επανάληψη με while
Ο απλούστερος τρόπος για να γράψουμε μία επανάληψη
είναι με την χρήση της εντολής while.
Η σύνταξή της είναι ίδια με αυτήν που συναντάμε στην C,
δηλαδή:
2
1
Επανάληψη με while
Δηλαδή όσο ισχύει η condition εκτελούνται οι εντολές
στην ομάδα εντολών group.
Ένα απλό παράδειγμα είναι αυτό ενός απλού μετρητή:
2
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Υπολογισμός αθροίσματος
ο βρόγχος while δεν είναι
πάντα ο πλέον κατάλληλος
για προκαθορισμένο
πλήθος επαναλήψεων,
καθώς θα πρέπει να
φροντίζουμε για την
ανανέωση της μεταβλητής
που ελέγχει τον βρόγχο.
αν ξεχάσουμε την αύξηση
της μεταβλητής $i, τότε θα
έχουμε έναν ατέρμονό
βρόγχο. 2
3
Επανάληψη με do .. while
Η σύνταξη του βρόχου do..while του έχει ως ακολούθως:
το σύνολο εντολών θα
εκτελεστεί και ύστερα θα
ελέγξουμε αν η συνθήκη
είναι αληθής ή ψευδής.
Η διαφορά με τον
προηγούμενο βρόγχο
είναι ότι με το do...while
οι εντολές θα
εκτελεστούν τουλάχιστον
μία φορά. 2
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Επανάληψη με do .. while
2
5
Επανάληψη με for
Η σύνταξή της εντολής for είναι ίδια με αυτήν που
συναντάμε στην γλώσσα C, δηλαδή:
2
6
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
2
8
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
2
9
Σκοποί ενότητας
•Χρήση και εφαρμογή των συναρτήσεων της γλώσσας
PHP στο ηλεκτρονικό εμπόριο.
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 6, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Περιεχόμενα ενότητας
•Ορισμός συναρτήσεων της γλώσσας PHP
•Ορίσματα συναρτήσεων της γλώσσας PHP
Εισαγωγή
•Το πιο σημαντικό θέμα στην PHP είναι οι συναρτήσεις
της. Η γλώσσα διαθέτει ένα πλούσιο ρεπερτόριο από
συναρτήσεις, με τις οποίες μπορούμε να κάνουμε
τα πάντα σε θέματα όπως βάσεις δεδομένων, πίνακες,
μαθηματικά, συμπίεση δεδομένων κτλ.
Ορισμός συναρτήσεων
•Μία συνάρτηση μπορεί να εμφανιστεί σε οποιοδήποτε
σημείο του κώδικα μας ακόμα και μετά την χρήση της.
1
0
Ορισμός συναρτήσεων
•Το αναγνωριστικό function είναι απαραίτητο πριν από το
όνομα της συναρτήσεως προκειμένου να κατανοήσει ο
διερμηνευτής της γλώσσας πως δεν πρόκειται για απλό
κώδικα, αλλά για συνάρτηση της οποίας ο κώδικας
φυσικά θα εκτελεστεί όταν αυτή κληθεί.
Ορισμός συναρτήσεων
•Επίσης, οι συναρτήσεις δεν είναι απαραίτητο να
παίρνουν ορίσματα όπως κάναμε στο
παραπάνω παράδειγμα.
1
2
Ορισμός συναρτήσεων
•Απλή συναρτήση που προσθέτει τα δύο ορίσματα που
δέχεται και τα επιστρέφει
1
3
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Ορισμός συναρτήσεων
Όπως βλέπουμε η αναφορά στην τιμή της
συναρτήσεως δεν γίνεται με το $ μπροστά από το όνομά
της. Αυτό γίνεται αλλά έχει άλλη σημασία όπως θα
δούμε παρακάτω.
Προς το παρόν αρκεί να θυμόμαστε πως όταν θέλουμε
να πάρουμε το αποτέλεσμα μίας συναρτήσεως δεν
βάζουμε το $ πριν από το όνομά της.
Ορισμός συναρτήσεων
1
5
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Ορίσματα
•Δεν είναι απαραίτητο να δηλώνεται η συνάρτηση πριν
από την χρήση της.
1
7
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Ορίσματα
•Μπορούμε να χρησιμοποιήσουμε πέρασμα με αναφορά
προκειμένου να πετύχουμε την αλλαγή μεταβλητών μέσα
σε μία συνάρτηση.
•Για να περάσουμε μια μεταβλητή με αναφορά
χρησιμοποιούμε τον τελεστή & μπροστά από το
όνομα του ορίσματος στον ορισμό της συναρτήσεως.
1
8
1
9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Ορίσματα
Ο προηγούμενος τρόπος περάσματος τιμών με αναφορά
είναι λίγο πολύ ίδιος με αυτόν που βρίσκουμε στην C++.
2
0
Ορίσματα
2
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Ορίσματα
Λογικά, η νέα έκδοση της συναρτήσεως swap δεν θα έπρεπε
να ανταλλάσει τις τιμές των μεταβλητών.
2
2
Ορίσματα
Ένα ακόμα σημαντικό στοιχείο που πρέπει να πούμε για τις
συναρτήσεις της PHP είναι η χρήση προκαθορισμένων τιμών
στις παραμέτρους. Αυτό σημαίνει πως δεν είναι απαραίτητο
να καλούμε μία συνάρτηση περνώντας τιμές σε όλα της
τα ορίσματα.
2
3
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Σκοποί ενότητας
•Δημιουργία και εφαρμογή των Πινάκων στο
ηλεκτρονικό εμπόριο.
Περιεχόμενα ενότητας
•Δημιουργία πινάκων
•Η συνάρτηση Array()
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Εισαγωγή
•Η γλώσσα PHP δεν έχει πίνακες, τουλάχιστον όχι με την
συνηθισμένη έννοια του όρου.
Δημιουργία πινάκων
•Οι πίνακες δημιουργούνται με την χρήση της
συναρτήσεως Array(). Η συνάρτηση αυτή παίρνει σαν
όρισμα τα στοιχεία του πίνακα και τον δημιουργεί
1
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Δημιουργία πινάκων
Στο προηγούμενο παράδειγμα αυτό δημιουργούμε τον
πίνακα $my_array με τα στοιχεία 1,7,9,11 και στην
συνέχεια τα τυπώνουμε από το πρώτο προς το τελευταίο.
Όπως βλέπουμε οι δείκτες των πινάκων ξεκινούν από το 0
και φτάνουν μέχρι το μέγεθος του πίνακα -1, ακριβώς όπως θα
κάναμε και στην C.
Η αναφορά στα στοιχεία του πίνακα γίνεται με
την χρήση του [ ] .
Φυσικά, τα στοιχεία ενός πίνακα είναι με την σειρά τους
μεταβλητές και έτσι αναφορές όπως
$my_array[2]=100
είναι καθόλα έγκυρες.
1
1
Δημιουργία πινάκων
Ο τρόπος δημιουργίας πινάκων που είδαμε
προηγουμένως δεν είναι ο μόνος.
1
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Δημιουργία πινάκων
1
3
Δημιουργία πινάκων
•Για να προσδιορίσουμε σε ποια θέση θα μπει κάποιο
στοιχείο σε έναν πίνακα αρκεί να γράψουμε τον δείκτη
της θέσεως, τον τελεστή => και στην συνέχεια
την τιμή που θέλουμε να έχει ο πίνακας σε εκείνη την
θέση.
1
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Δημιουργία πινάκων
Αν θέλουμε να ξεκινά ένας πίνακας από διαφορετική
θέση πρέπει να το προσδιορίσουμε καθορίζοντας την
πρώτη θέση όπως στο επόμενο παράδειγμα:
Δημιουργία πινάκων
•Οι πίνακες κατακερματισμού παίζουν ιδιαίτερα
σημαντικό ρόλο στον προγραμματισμό, καθώς με την
χρήση κλειδιών μπορούμε αυτόματα να
αποκτήσουμε πρόσβαση σε πληροφορία που θα
απαιτούσε σημαντικό χρόνο αναζητήσεως.
1
6
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Δημιουργία πινάκων
1
7
1
8
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Δημιουργία πινάκων
Σε πολλές εφαρμογές οι πίνακες δεν είναι μονοδιάστατοι.
Η δημιουργία περισσοτέρων διαστάσεων γίνεται πάλι με
την χρήση της συναρτήσεως Array() αλλά με διαφορετικό
τρόπο από ότι είδαμε προηγουμένως:
1
9
2
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Δημιουργία πινάκων
Με άλλα λόγια οι πολυδιάστατοι πίνακες
δημιουργούνται με την χρήση ένθετων πινάκων .
2
1
Σκοποί ενότητας
•Πλοήγηση σε πίνακες της PHP μέσω της συνάρτησης
n_array(value,array) και εφαρμογή πράξεων μεταξύ
των.
Περιεχόμενα ενότητας
•Πλοήγηση σε πίνακες
•Η συνάρτηση n_array(value,array)
•Πράξεις μεταξύ πινάκων
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 8, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Πλοήγηση σε πίνακες
•Με τον όρο πλοήγηση σε πίνακες εννοούμε την
ενέργεια που κάνουμε να κινηθούμε από την μία άκρη
ενός πίνακα στην άλλη.
Οι πίνακες στην PHP δεν είναι πίνακες με την έννοια του
όρου που τον συναντάμε στις άλλες διαδικασιακές γλώσσες.
Πλοήγηση σε πίνακες
Η απλούστερη ενέργεια που θέλουμε να κάνουμε σε
έναν πίνακα είναι να ψάξουμε για ένα στοιχείο σε αυτόν.
Η πρώτη συνάρτηση που το κάνει αυτό είναι η
in_array(value,array).
Η πρώτη της παράμετρος είναι η τιμή για την οποία ψάχνουμε
η δεύτερη παράμετρος είναι ο πίνακας στον οποίο γίνεται η
έρευνα. Η συνάρτηση αυτή επιστρέφει TRUE ή FALSE, ανάλογα
με το αν υπάρχει στον πίνακα η τιμή ή όχι.
αν και αυτή η συνάρτηση είναι αρκετά απλή στην σκέψη και στην
λειτουργία δεν μας δίνει την θέση στην οποία βρίσκεται το στοιχείο
στον πίνακα. Αυτό γίνεται με την συνάρτηση
array_search(value,array).
1
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 8, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Πλοήγηση σε πίνακες
•Η συνάρτηση αυτή ψάχνει για το στοιχείο value
στον πίνακα array και θα επιστρέψει αν υπάρχει το κλειδί
(ή θέση) αυτού του στοιχείου στον πίνακα.
•Επειδή οι πίνακες είναι στην ουσία γραμμικές λίστες,
υπάρχει κάποιος τρόπος να της διατρέξουμε από την
αρχή μέχρι το τέλος.
Αυτήν την λειτουργία κάνει η συνάρτηση next(array), η
οποία επιστρέφει το επόμενο στοιχείο σε έναν πίνακα και
ταυτόχρονα μετακινεί τον δείκτη θέσεως του πίνακα κατά 1
στοιχείο.
Αν έχουμε φτάσει στο τέλος του πίνακα η συνάρτηση αυτή
επιστρέφει FALSE. 1
1
Πλοήγηση σε πίνακες
1
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 8, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Πλοήγηση σε πίνακες
•Το προηγούμενο πρόγραμμα όσο απλό και αν φαίνεται
έχει ένα ελάττωμα: δεν τυπώνει το πρώτο στοιχείο του
πίνακα, αλλά το παρακάμπτει.
Αυτό γίνεται επειδή η next() περνά αμέσως στο επόμενο
στοιχείο του πίνακα.
Αν θέλουμε να παίρνουμε κάθε φορά το τρέχον στοιχείο σε
έναν πίνακα, τότε πρέπει να χρησιμοποιήσουμε την
συνάρτηση current(array) η οποία επιστρέφει το στοιχείο σε
εκείνη την θέση του πίνακα που βρισκόμαστε.
1
3
Πλοήγηση σε πίνακες
Το προηγούμενο παράδειγμα γραμμένο σωστά έχει
ως ακολούθως:
1
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 8, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Πλοήγηση σε πίνακες
•Αν δεν θέλουμε να περάσουμε από όλα τα στοιχεία
ενός πίνακα, αλλά απλά να πάμε στο τέλος του, τότε
μπορούμε να χρησιμοποιήσουμε:
την συνάρτηση end(), η οποία επιστρέφει το τελευταίο
στοιχείο στον πίνακα και μετακινεί τον δείκτη του πίνακα
στην τελευταία θέση του.
1
6
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 8, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
1
7
Σκοποί ενότητας
Χρήση της PHP για την ταξινόμηση πινάκων, εφαρμογή
της δομής foreach για την κίνηση μέσα σε πίνακες,
χρήση των πινάκων με την μορφή στοιβάδας, ανάκτηση
της ώρας και της ημερομηνίας μέσω της PHP και
ενσωμάτωσή τους σε σελίδες.
Περιεχόμενα ενότητας
•Ταξινόμηση πινάκων
•Η δομή foreach
•Στοιβάδες
•Ανάκτηση ημερομηνίας και ώρας με τη γλώσσα PHP
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Ταξινόμηση πινάκων
Για την ταξινόμηση πινάκων η PHP διαθέτει μία σειρά
από συναρτήσεις.
Η δομή foreach
Μια πολύ χρήσιμη δομή που παρέχει η γλώσσα για την
κίνηση μέσα σε πίνακες είναι η δομή foreach. Η δομή
αυτή εμφανίζεται με δύο μορφές.
Στην πρώτη μορφή του γράφουμε
1
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Η δομή foreach
•Έτσι, ακόμα και αν δεν ξέρουμε πόσα στοιχεία έχει ένας
πίνακας μπορούμε να τον διατρέξουμε και να εκτελέσουμε
διάφορες πράξεις πάνω στον πίνακα.
Βέβαια η PHP διαθέτει την συνάρτηση count() η οποία
επιστρέφει το πλήθος των στοιχείων ενός πίνακα.
Η δομή foreach
1
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Η δομή foreach
Η συνάρτηση print_r() απλά τυπώνει τα στοιχεία ενός
πίνακα. Θα περιμέναμε να προστεθεί 1 σε κάθε στοιχείο
του πίνακα.
Αυτό όμως δεν συνέβη, καθώς η foreach δεν επηρεάζει τον
πραγματικό πίνακα.
Η δεύτερη μορφή με την οποία εμφανίζεται η δομή είναι:
1
3
Η δομή foreach
Στην προηγούμενη μορφή, σε κάθε επανάληψη
εκτελούνται οι εντολές στο group και η μεταβλητή
1
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Η δομή foreach
1
5
Στοιβάδες
Το τελευταίο σημείo που θα εξετάσουμε στους πίνακες
είναι η χρήση τους με την μορφή στοιβάδας. Στοιβάδες
είναι δομές δεδομένων στις οποίες επιτρέπονται δύο
πράξεις:
1. Η εισαγωγή ενός στοιχείο στο τέλος της στοιβάδας
(κορυφή).
2. Η εξαγωγή ενός στοιχείου από το τέλος της στοιβάδας.
1
6
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Στοιβάδες
1
7
Στοιβάδες
Η πρώτη συνάρτηση που θα εξετάσουμε είναι η
συνάρτηση array_push(array,value).
Η συνάρτηση αυτή τοποθετεί την τιμή value στο τέλος του
array και επιστρέφει το νέο πλήθος στοιχείων που έχει ο
πίνακας.
Αν θέλουμε μπορούμε να προσθέσουμε περισσότερα
στοιχεία στον πίνακα βάζοντας και τρίτο και τέταρτο όρισμα
στην συνάρτηση.
Στοιβάδες
1
9
Στοιβάδες
Η δεύτερη συνάρτηση που θα εξετάσουμε είναι η
συνάρτηση array_pop(array) επιστρέφει το τελευταίο
στοιχείο του πίνακα.
Αν ο πίνακας είναι άδειος επιστρέφει NULL.
2
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Στοιβάδες
2
1
2
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
2
4
Ενότητα 10 : Η χρήση της MySQL στο Ηλεκτρονικό εμπόριο (Ι)
Σκοποί ενότητας
•Χρήση συναρτήσεων της MySQL στο ηλεκτρονικό
εμπόριο για τον σχεδιασμό σελίδων
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 10, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Περιεχόμενα ενότητας
•Σύνδεση με βάση δεδομένων
•Δημιουργία βάσεων δεδομένων
Εισαγωγή
•Για όσους ασχολούνται με ηλεκτρονικό εμπόριο το
πλέον σημαντικό θέμα στον σχεδιασμό σελίδων είναι
η σύνδεση με βάσεις δεδομένων και
η εκτέλεση ερωτημάτων μέσω του διαδικτύου σε αυτές.
9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 10, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Εισαγωγή
1
0
Σύνδεση με βάση
•Το πρώτο που κοιτάμε να κάνουμε όταν θέλουμε να
εργαστούμε σε μία βάση είναι να συνδεθούμε σε αυτήν.
Σύνδεση με βάση
3. password: Είναι το συνθηματικό το οποίο αντιστοιχεί
στον κωδικό συνδέσεως
για την βάση του απομακρυσμένου μηχανήματος.
Αν η βάση δεδομένων βρίσκεται στον ίδιο υπολογιστή
βάζουμε δύο συνεχόμενα “ , δηλαδή το αφήνουμε κενό.
1
3
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 10, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Παράδειγμα συνδέσεως
1
4
Παράδειγμα συνδέσεως
•Η συνάρτηση mysql_close() κλείνει μία σύνδεση που έχει
ανοίξει επιτυχώς προηγουμένως.
Παράδειγμα συνδέσεως
•Η παράμετρος database επιλέγει την βάση δεδομένων με
την οποία επιθυμούμε να εργαστούμε.
1
6
Δημιουργία βάσεων
•Αν δεν έχουμε κάποια βάση να συνδεθούμε, τότε απλά
μπορούμε να χρησιμοποιήσουμε την προκαθορισμένη
βάση test.
Δημιουργία βάσεων
•Αν θέλουμε να διαγράψουμε μία βάση δεδομένων θα
πρέπει να χρησιμοποιήσουμε την συνάρτηση
mysql_drop_db(database,$link) (έχει παρόμοια στην
σημασία ορίσματα με την προηγούμενη συνάρτηση)
Σκοποί ενότητας
•Ανάκτηση πλειάδων με τη χρήση της
συνάρτησης mysql_query(query,link).
Περιεχόμενα ενότητας
•Ανάκτηση πλειάδων
•Η συνάρτηση mysql_query(query,link).
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Ανάκτηση πλειάδων
Η βασικότερη συνάρτηση που θα δούμε είναι η
mysql_query(query,link).
Ανάκτηση πλειάδων
1
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
1
1
…συνέχεια
1
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Ανάκτηση πλειάδων
Στο παραπάνω παράδειγμα έχουμε φτιάξει στην βάση
δεδομένων test έναν πίνακα με τα πεδία name, job,
code.
Τα δύο πρώτα είναι αλφαριθμητικά και
το τρίτο είναι ακέραιος και είναι το κλειδί της βάσεως.
1
3
Ανάκτηση πλειάδων
Αν και το παραπάνω παράδειγμα είναι επιτυχές δεν
εμφανίζει κάτι στην οθόνη. Η βάση μου έχει αρκετές
γραμμές αλλά καμία δεν εμφανίζεται επί της οθόνης.
1
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Ανάκτηση πλειάδων
Για να μπορέσουμε λοιπόν να ανακτήσουμε αυτές τις
πλειάδες θα πρέπει να επεξεργαστούμε τα δεδομένα στο
$result με την συνάρτηση
myql_fetch_array()
που αναλαμβάνει να φέρει μία προς μία τις όποιες
γραμμές υπάρχουν σε αυτόν τον πίνακα.
1
6
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
1
7
Ανάκτηση πλειάδων
Η mysql_fetch_array() αναλαμβάνει να σπάσει το $result
σε γραμμές. Κάθε κλήση σε αυτήν λαμβάνει την επόμενη
γραμμή.
Το αποτέλεσμα της συναρτήσεως είναι ένας πίνακας με
μήκος ίσο με το πλήθος των στοιχείων κάθε
πλειάδας.
Αυτό σημαίνει πως μπορούμε να ταξινομήσουμε τον πίνακα ή να το
επεξεργαστούμε με κάποια από τις συναρτήσεις που έχουμε δει σε
προηγούμενη ενότητα για τον χειρισμό πινάκων.
1
8
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Ανάκτηση πλειάδων
•Το προηγούμενο παράδειγμα δεν είναι πλήρες. Μπορεί
να τυπώνει στην οθόνη τα πεδία ενός πίνακα αλλά δεν
τυπώνει τα ονόματα των πεδίων.
Έτσι, αν δεν ξέρουμε την δομή ενός πίνακα δεν θα
μπορέσουμε να καταλάβουμε τι παριστάνει κάθε στήλη.
$fields=mysql_list_fields(database,table,link)
1
9
Ανάκτηση πλειάδων
$fields=mysql_list_fields(database,table,link)
Ανάκτηση πλειάδων
•Για να ξέρουμε πόσα πεδία έχει ένας πίνακας
αρκεί να καλέσουμε την συνάρτηση:
$columns=mysql_num_fields($fields)
Η συνάρτηση αυτή θα επιστρέψει το πλήθος των στηλών
που υπάρχουν στην λίστα $fields.
Η λίστα $fields προήλθε από την mysql_list_fields().
Ανάκτηση πλειάδων
2
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
2
3
2
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
2
5
Σκοποί ενότητας
Η εισαγωγή νέων εγγραφών σε μία βάση δεδομένων
ή η ενημέρωση παλαιών με χρήση της MySQL.
Περιεχόμενα ενότητας
•Εισαγωγή πλειάδων
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 12, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Εισαγωγή πλειάδων
Εισαγωγή πλειάδων
1
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 12, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Εισαγωγή πλειάδων
1
1
Εισαγωγή πλειάδων
Η πρώτη σελίδα έχει ως ακολούθως:
1
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 12, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Εισαγωγή πλειάδων
Ουσιαστικά, η προηγούμενη σελίδα είναι μία απλή
φόρμα χωρίς κώδικα PHP. Από την σύνταξή της
καταλαβαίνουμε πως η δεύτερη σελίδα πρέπει να
ονομαστεί page2.php η οποία και παρουσιάζεται στην
συνέχεια:
1
3
1
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 12, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
1
5
1
6
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 12, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Εισαγωγή πλειάδων
Για να κάνουμε την εισαγωγή της νέας εγγραφής στην
βάση δεδομένων δημιουργήσαμε ένα αλφαριθμητικό
στην μεταβλητή $query.
Το αλφαριθμητικό αυτό είναι το ερώτημα που θα
εκτελέσουμε στην βάση δεδομένων.
Παρεμβάλλουμε τις τιμές των μεταβλητών $name, $job και
$code μέσα στο αλφαριθμητικό όπως ακριβώς θα κάναμε με
την γνωστή εντολή echo.
Έτσι, το αλφαριθμητικό που θα προκύψει αν δώσουμε σαν
τιμές Giannis, Teacher 200 είναι insert into
test(name,job,code) values('Giannis','Teacher',200)
1
7
…συνέχεια
Δηλαδή είναι ακριβώς το αλφαριθμητικό που θα δίναμε στην
κονσόλα της MySQL.
1
8
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 12, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
…συνέχεια
Δηλαδή είναι ακριβώς το αλφαριθμητικό που θα δίναμε στην
κονσόλα της MySQL.
1
9
Σκοποί ενότητας
•Διαγραφή πλειάδων με την χρήση της PHP.
•Χειρισμός αλφαριθμητικών με συναρτήσεις της PHP.
•Αποστολή e-mail σε άλλους χρήστες στο διαδίκτυο με
την PHP.
Περιεχόμενα ενότητας
•Διαγραφή πλειάδων
•Αλφαριθμητικά
•Αποστολή e-mail
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Διαγραφή πλειάδων
Εισαγωγή πλειάδων
1
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Εισαγωγή πλειάδων
Η επόμενη φόρμα
δέχεται ένα όνομα και μία εργασία και
τα στέλνει στην σελίδα page4.php όπου και
διαγράφει από την γνωστή βάση test την πλειάδα με
αυτά τα στοιχεία
1
1
…συνέχεια
1
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
1
3
…συνέχεια
1
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Αλφαριθμητικά
H PHP διαθέτει πολλές συναρτήσεις για τον χειρισμό
αλφαριθμητικών.
Οι κυριότερες από αυτές παρουσιάζονται στον επόμενο
πίνακα:
1
5
1
6
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Αποστολή e-mail
Κάτι άλλο που μπορούμε να κάνουμε με την PHP είναι να
στείλουμε e-mail σε άλλους χρήστες στο διαδίκτυο. Αυτό
είναι αρκετά σημαντικό ειδικά στην περίπτωση των
ηλεκτρονικών καταστημάτων που πιθανόν θέλουν να
ενημερώνουν τους πελάτες τους για νέα προϊόντα ή να
τους ειδοποιούν για πληρωμές κτλ.
1
7
Αποστολή e-mail
Η αποστολή γίνεται με την συνάρτηση
mail(recipient,subject,message)
•Η συνάρτηση αυτή στέλνει στον παραλήπτη που
προσδιορίζεται από το recipient το μήνυμα με σώμα
message και θέμα subject.
Αν η αποστολή ήταν επιτυχής επιστρέφει TRUE.
Σε άλλη περίπτωση επιστρέφει FALSE.
Αν οι παραλήπτες είναι περισσότεροι από ένας τότε στην
παράμετρο recipient τους παραθέτουμε με κόμμα ανάμεσα.
1
8
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Αποστολή e-mail
Ένα παράδειγμα αποστολής είναι:
mail(“sheridan@cs.uoi.gr,test@cs.uoi.gr”,”WELCOME”,”
WELCOME TO OUR STORE”)
1
9
Αποστολή e-mail
Ένα παράδειγμα αποστολής είναι:
mail(“sheridan@cs.uoi.gr,test@cs.uoi.gr”,”WELCOME”,”
WELCOME TO OUR STORE”)
2
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Αποστολή e-mail
Ένα παράδειγμα αποστολής είναι:
mail(“sheridan@cs.uoi.gr,test@cs.uoi.gr”,”WELCOME”,”
WELCOME TO OUR STORE”)
2
1
Άσκηση
Φτιάξτε μία βάση δεδομένων με το όνομα accounts. Σε
αυτήν θα υπάρχουν πραγματικά ονόματα, κωδικοί
προσβάσεως και συνθηματικά.
Στην συνέχεια δημιουργήστε δύο σελίδες.
Η πρώτη σελίδα θα δέχεται ένα κωδικό προσβάσεως και ένα
συνθηματικό.
Αν ο κωδικός δεν είναι root και το συνθηματικό δεν είναι ένα
προκαθορισμένο τότε απλά θα ελέγχει στην βάση τον κωδικό που δίνεται
και αν υπάρχει και το συνθηματικό είναι σωστό θα εμφανίζει το
πραγματικό όνομα του κατόχου.
Σε διαφορετική περίπτωση αν δηλαδή το συνθηματικό είναι root και το
password είναι το σωστό θα επιτρέπει μέσω άλλης σελίδας την εισαγωγή
ενός νέου ατόμου στην βάση δεδομένων. 2
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Άσκηση
Φτιάξτε μία βάση δεδομένων με το όνομα persons. Σε
αυτήν θα υπάρχουν ονόματα, επίθετα και e-mail. Στην
συνέχεια φτιάξτε μία σελίδα στην οποία θα στέλνεται ένα
e-mail σε καθένα άτομο το οποίο περιέχει στο επίθετό
του το στοιχείο ΙΔΗΣ.
2
3