You are on page 1of 118

Ελληνική Δημοκρατία

Τεχνολογικό Εκπαιδευτικό
Ίδρυμα Ηπείρου

ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ
με χρήση M ySQL - PHP

Ιωάννης Τσούλος

Ενότητα 1 : Το σύστημα βάσεων δεδομένων MySQL(1)


ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 1, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Σκοποί ενότητας
•Εισαγωγή στα βασικά χαρακτηριστικά του
συστήματος δεδομένων της mysql

ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 1, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,


ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Περιεχόμενα ενότητας
•Εισαγωγή
•Είσοδος
•Δημιουργία βάσεων δεδομένων
•Δημιουργία πινάκων
•Εισαγωγή δεδομένων
•Ενημέρωση δεδομένων
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή
H mysql είναι ένα ελεύθερο σύστημα
διαχειρίσεως βάσεων δεδομένων που είναι
ευρύτατα διαδεδομένη στα UNIX συστήματα, αν
και τα τελευταία χρόνια δείχνει να κατακτά και
τον κόσμο των Win32.

Οι ενδιαφερόμενοι μπορούν να βρουν


την τελευταία έκδοση στο www.mysql.com.

9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή
•H mysql είναι πολυνηματική και πολυχρηστική και
υποστηρίζει τα τελευταία standards της SQL.

•Τα πειράματα που παρουσιάζονται παρακάτω


έγιναν σε RedHat Linux 7.2 και 7.3 που
χρησιμοποιεί την έκδοση 3.23.41 της MySQL.

•Φυσικά αυτό δεν περιορίζει σε


τίποτα την γενικότητα των παραδειγμάτων που
ακολουθούν.
1
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Είσοδος
Για να ξεκινήσουμε την mysql σαν απλοί χρήστες
αρκεί να γράψουμε mysql σε ένα τερματικό. Αν
λάβουμε το μήνυμα
ERROR 2002: Can't connect to local MySQL server
through socket '/var/lib/mysql/mysql.sock'

σημαίνει πως η mysql δεν τρέχει ή καλύτερα ο


εξυπηρέτης της δεν εκτελείται.

1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου 1
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Είσοδος
•Είναι απαραίτητο για να μπορούμε να μπούμε
στην mysql να εκτελείται ήδη ο εξυπηρέτης της
μιας και η βάση είναι όχι μόνον πολυχρηστική
αλλά επιτρέπει και την σύνδεση από άλλα
μηχανήματα.

•Αν λοιπόν εμφανιστεί ένα μήνυμα σαν


και το παραπάνω θα πρέπει ο διαχειριστής του
μηχανήματος (root) να ξεκινήσει τον εξυπηρέτη
(σε redhat αρκεί η εντολή /etc/rc.d/init.d/mysql
restart). 1
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Είσοδος
•Αν και στο internet υπάρχουν διαθέσιμα πολλές
γραφικές διαπροσωπείες για την mysql, ο
καλύτερος τρόπος να ξεκινήσει κανείς μαζί της
είναι με την χρήση εντολών σε τερματικό.

•Αν θέλουμε να δούμε κάποια βοήθεια απλά


δίνουμε \h και αν θέλουμε να τερματίσουμε την
σύνοδο δίνουμε \q.

1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου 3
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Δημιουργία βάσεων δεδομένων


•Για να φτιάξουμε μία νέα βάση δεδομένων
πρέπει να έχουμε δικαίωμα από τον διαχειριστή
να το κάνουμε. Σε Linux συστήματα αυτό συνήθως
δεν γίνεται. Δικαιώματα δημιουργίας και
διαγραφής σε μία βάση δεδομένων έχει μόνον ο
υπερχρήστης.

•Για να δημιουργήσει ο υπερχρήστης μία νέα


βάση δεδομένων αρκεί να δώσει
create database name;
όπου το name είναι το όνομα της βάσεως. 1
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Δημιουργία βάσεων δεδομένων


•Στην συνέχεια θα πρέπει να δώσει δικαιώματα
και σε μας με την χρήση της εντολής

grant all on name.* to user;

•Αφού γίνουν όλα αυτά για να χρησιμοποιήσουμε


μία βάση δεδομένων απαιτείται να δώσουμε την
εντολή use name στην γραμμή εντολών της mysql.

1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου 5
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Δημιουργία βάσεων δεδομένων


•Αν την πρώτη φορά που ζητήσουμε να
χρησιμοποιήσουμε την βάση πάρουμε ένα
μήνυμα λάθους σχετικά με δικαιώματα, τότε
μπορούμε να εισάγουμε την εντολή

connect name

και ύστερα
use name

και το πρόβλημα έχει λυθεί. 1


6
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Δημιουργία βάσεων δεδομένων


•Αν όλα τα παραπάνω ακούγονται πολύπλοκα
μπορούμε να χρησιμοποιήσουμε την
προκαθορισμένη βάση δεδομένων test, για την
οποία δεν χρειάζεται να ζητήσουμε κάτι από τον
διαχειριστή συστήματος.

•Ωστόσο, είναι κοινή βάση και έτσι ότι φτιάξουμε


στην συνέχεια θα μπορούν να το δουν και να το
αλλάξουν και άλλοι χρήστες του συστήματος.

1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου 7
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Δημιουργία πινάκων
•Αφού συνδεθούμε σε μία βάση δεδομένων το
επόμενο βήμα είναι να κάνουμε
κάποια εργασία σε πίνακες που διαθέτει. Αν δεν
έχει πίνακες μπορούμε να φτιάξουμε με την
εντολή create table.
Αν π.χ. θέλουμε ένα πίνακα για την περιγραφή
φοιτητών μπορούμε να γράψουμε:

create table student(name varchar(20), lastname


varchar(20), code int);
1
8
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή δεδομένων
•Η εισαγωγή δεδομένων στην βάση μπορεί να
γίνει είτε με την εντολή insert είτε
από κάποιο αρχείο.
Με την εντολή insert μπορούμε να γράψουμε για το
παράδειγμα του πίνακα φοιτητών:

insert into student(name,lastname,code)


values('giannis','papadopoulos',122);

1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου 9
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή δεδομένων
•Αν έχουμε να περάσουμε κάποιες χιλιάδες
ονόματα η παραπάνω διαδικασία
γίνεται κουραστική.
Αυτό που μπορούμε να κάνουμε είναι να γράψουμε
τιςπλειάδες που θέλουμε σε ένα αρχείο κειμένου,
έστω students.txt, και στην συνέχεια να φορτώσουμε
αυτά τα στοιχεία στην βάση δεδομένων
load data local infile 'students.txt' into table
student;
•Στο αρχείο δεδομένων τα πεδία στην κάθε
πλειάδα χωρίζονται μεταξύ τους με TAB.
2
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ενημέρωση δεδομένων
•Πολλές φορές χρειάζεται να αλλάξουμε κάποια
από τα δεδομένα που έχουμε εισάγει νωρίτερα σε
κάποιον πίνακα.
Η αλλαγή αυτή γίνεται με την χρήση της εντολής
update. Για το παράδειγμα των φοιτητών που είδαμε
προηγουμένως μία έγκυρη εντολή ενημερώσεως θα
μπορούσε να είναι:

update students set name='kostas' where


name='giannis';
2
1

Ενότητα 2 : Το σύστημα βάσεων δεδομένων MySQL (II)


ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 1, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Σκοποί ενότητας
•Εισαγωγή στα βασικά χαρακτηριστικά
(Ερωτήματα, λήψη όλων των δεδομένων,
ανάκτηση συγκεκριμένων πλειάδων, επιλογή
συγκεκριμένων στηλών, ταξινόμηση πλειάδων,
ταίριασμα προτύπων, διαγραφή πλειάδων) του
συστήματος δεδομένων της mysql.

ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 1, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,


ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Περιεχόμενα ενότητας
•ερωτήματα
•λήψη όλων των δεδομένων
•ανάκτηση συγκεκριμένων πλειάδων
•επιλογή συγκεκριμένων στηλών
•ταξινόμηση πλειάδων
•ταίριασμα προτύπων
•διαγραφή πλειάδων
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ερωτήματα
Η εντολή που χρησιμοποιούμε για να εκτελέσουμε
κάποια ερωτήματα σε μία βάση δεδομένων είναι
η select.
Η πλήρης (όσο γίνεται) σύνταξή της είναι

select field1, field2,...


from tablename
where boolean – condition;

9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Όλα τα δεδομένα
Για να πάρουμε όλα τα δεδομένα από έναν πίνακα
χρησιμοποιούμε την σύνταξη

select * from tablename;

1
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Συγκεκριμένες πλειάδες
•Για να ανακτήσουμε συγκεκριμένες πλειάδες από
έναν πίνακα αρκεί να ορίσουμε
κάποια λογική συνθήκη στην ενότητα where της
εντολής select.
Για παράδειγμα για να εμφανίσουμε τους φοιτητές
με κωδικό μεγαλύτερο του 500 γράφουμε

select *
from student
where code>500;
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου 1
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Συγκεκριμένες στήλες
•Για να επιλέξουμε συγκεκριμένες στήλες από
έναν πίνακα πρέπει να προσδιορίσουμε τις στήλες
αυτές στην κεφαλή του select.
Για παράδειγμα για να εμφανίσουμε μόνον τα
ονόματα των φοιτητών γράφουμε:

select name
from student;

1
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ταξινόμηση πλειάδων
•Είναι χρήσιμο στην έξοδο των αποτελεσμάτων
από μία επιλογή να δούμε τα αποτελέσματα
ταξινομημένα προκειμένου να αποφασίσουμε πιο
εύκολα.

•Αυτό γίνεται βάζοντας το επίθεμα ORDER BY


COLUMN στο τέλος της εντολής select.
Column είναι το όνομα του πεδίου κατά το οποίο
επιθυμούμε ταξινόμηση.

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, που συντάσσεται ως εξής:

delete from tablename where condition;

1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 1, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου 7
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Διαγραφή
•Αν για παράδειγμα θέλουμε να σβήσουμε τους
φοιτητές που ο κωδικός τους είναι αρνητικός (λάθος
στην εισαγωγή), τότε μπορούμε να γράψουμε:

delete from student where code<0;

•Αν θέλουμε να διαγράψουμε ολόκληρο τον πίνακα


student, τότε δίνουμε:

drop table student;


1
8
Ενότητα 3 : Βασικά στοιχεία της γλώσσας PHP

ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 3, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,


ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Σκοποί ενότητας
•Εισαγωγή στην PHP(Βασική Σύνταξη),
Μεταβλητές(Ονοματολογία, Τύποι δεδομένων,
Μεταβλητές του Apache, Ανάκτηση Query Strings,
Ανάκτηση πεδίων φόρμας, Ανάκτηση τιμών λίστας).
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 3, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Περιεχόμενα ενότητας
•Εισαγωγή στην PHP
•Βασική Σύνταξη
•Μεταβλητές(Ονοματολογία, Τύποι δεδομένων,
Μεταβλητές του Apache, Ανάκτηση Query Strings,
Ανάκτηση πεδίων φόρμας, Ανάκτηση τιμών λίστας).

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή
Php είναι ακρωνύμιο για το Php Hypertext Preprocessor,
το οποίο φυσικά είναι μία επαναλαμβανόμενη ακολουθία
του ίδιου του ονόματος.

Ουσιαστικά, πρόκειται για μια γλώσσα script που


εκτελείται στην μεριά του διακομιστή
σελιδών.

9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή
Για να δούμε με τι μοιάζει μπορούμε να μελετήσουμε το
επόμενο παράδειγμα:

1
0

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή
•Με μία πρώτη ανάγνωση του κώδικα η PHP περικλείεται
μέσα σε κώδικα HTML με την χρήση των TAGS <? ?>.

•Σκοπός της PHP είναι να δώσει ζωντάνια σε έναν στατικό


κώδικα HTML, ώστε μέσα από απλές σελίδες να
εκτελούμε και κώδικα που να προσαρμόζεται στις
απαιτήσεις του χρήστη.

1
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

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

1
2

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή
•Αν ο χρήστης 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

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Βασική Σύνταξη
Για να μπορέσουμε να γράψουμε κώδικα PHP που να
εκτελείται θα πρέπει να περικλείεται στα TAGS που
είδαμε στην προηγούμενη ενότητα. Επιπλέον οι εντολές
που υπάρχουν σε μία ενότητα PHP διαχωρίζονται μεταξύ
τους με το
Ελληνικό ερωτηματικό (;) ακριβώς όπως θα κάναμε και
στην γλώσσα C.

1
5
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Βασική Σύνταξη
Το παράδειγμα

περιέχει μία ενότητα PHP με 2 εντολές σε αυτήν.


1
6

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Βασική Σύνταξη
•Εδώ θα πρέπει να πούμε πως η εντολή echo τυπώνει
στην σελίδα HTML στην θέση που βρισκόμαστε το κείμενο
που υπάρχει μέσα στα διπλά εισαγωγικά.
Αν λοιπόν ανοίξουμε την παραπάνω σελίδα θα δούμε στην
οθόνη το κείμενο

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

Αυτό είναι το δεύτερο μήνυμα.


Στην παραπάνω έξοδο δεν υπάρχει κανένα λάθος.

1
7
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Βασική Σύνταξη
Και τα δύο μηνύματα εμφανίστηκαν το ένα μετά το άλλο
και δεν υπήρξε αλλαγή γραμμής ανάμεσά
τους.
Αν θέλουμε να γίνει κάτι τέτοιο, τότε θα πρέπει να
ενσωματώσουμε το TAG <BR> μέσα στο κείμενο που θα
εκτυπώσουμε. Έτσι λοιπόν η ενότητα κώδικα
echo “MHNYMA1<BR>”;
echo “MHNYMA2”;
θα τυπώσει
MHNYMA1
MHNYMA2
1
8

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Βασική Σύνταξη
Φυσικά από την στιγμή που μπορούμε να
ενσωματώσουμε ένα TAG μπορούμε να ενσωματώσουμε
οποιοδήποτε άλλο.
Η επόμενη ενότητα κώδικα

echo “MHNYMA1<BR>”;
echo “<B>MHNYMA2</B>;

θα τυπώσει
ΜΗΝΥΜΑ1
ΜΗΝΥΜΑ2
1
9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Βασική Σύνταξη
•Ένα άλλο βασικό στοιχείο σε γλώσσες προγραμματισμού
είναι ο σχολιασμός
κώδικα.
Στην PHP αυτό γίνεται με την χρήση των σχολίων που
συναντάμε στην C++.

• Έτσι, τα σχόλια μπορούν να βρίσκονται μετά από // ή


ακόμα και να περικλείονται μέσα σε /* */.

2
0

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Μεταβλητές-Ονοματολογία
•Αν οι δυνατότητες της PHP περιορίζονταν στο να γράφει
απλώς κείμενο επί της
οθόνης , τότε δεν θα ήταν περισσότερο χρήσιμη από ότι η
απλή HTML.

•Ωστόσο, πρόκειται για μία γλώσσα προγραμματισμού και


σαν τέτοια έχει και μεταβλητές και τελεστές αλλά και
δομές ελέγχου.

2
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Μεταβλητές-Ονοματολογία
•Οι μεταβλητές στην PHP ξεκινούν πάντα
με το σύμβολο $ ακολουθούμενο από ένα όνομα με
λατινικά γράμματα, αριθμούς και _ που πρέπει να ξεκινά
με γράμμα ή κάτω παύλα.
Έτσι, έγκυρα ονόματα είναι $i, $kala, $var11, $_ab, κλπ.
Τέλος, πρέπει να επισημανθεί πως η γλώσσα θεωρεί
διαφορετικές μεταβλητές αυτές που γράφονται με πεζά ή
κεφαλαία γράμματα.
Έτσι, οι μεταβλητές $a και $Α δεν είναι ίδιες.

2
2

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Τύποι δεδομένων
Τυπικά, η γλώσσα έχει τους ακόλουθους τύπους
δεδομένων
1. Boolean
2. Integer
3. Double
4. String

Ωστόσο, δεν παρέχεται στον προγραμματιστή κάποιος


άμεσος τρόπος ώστε να
δηλώσει μία μεταβλητή με κάποιον από τους παραπάνω
τύπους. 2
3
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Τύποι δεδομένων
Έστω η επόμενη ενότητα κώδικα

Δημιουργεί τέσσερις μεταβλητές, την a με ακέραιο τύπο,


την b με boolean τύπο,
την c με τύπο πραγματικών αριθμών και τέλος την d με
τύπο αλφαριθμητικού. 2
4

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Τύποι δεδομένων
Ωστόσο, καμία μεταβλητή δεν δεσμεύεται στατικά με
έναν τύπο παρά μόνον
στην ανάθεση.
 Έτσι, αν στην ίδια ενότητα κώδικα με την προηγούμενη ή σε
κάποια άλλη υπάρχει η ανάθεση $d=-1.7, τότε δεν θα
προκληθεί κάποιο λάθος και απλά ο νέος τύπος για την
μεταβλητή $d είναι double.

2
5
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Μεταβλητές του Apache


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

2
6

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Μεταβλητές του Apache


Οι σημαντικότερες από αυτές είναι:
1. $SERVER_NAME: Είναι το όνομα του διακομιστή
σελιδών που μας διερμηνεύει
τις σελίδες. Σε μηχάνημα χωρίς δίκτυο επιστρέφει
localhost.localdomain.

2. $REQUEST_METHOD: Επιστρέφει την μέθοδο που


χρησιμοποιήθηκε για την
πρόσβαση στην σελίδα, αν αυτό έγινε με την χρήση
κάποιας φόρμας. Πιθανές τιμές αυτής της μεταβλητής
είναι GET, HEAD, POST, PUT 2
7
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Μεταβλητές του Apache


3. $QUERY_STRING: Επιστρέφει τα QUERY_STRINGS που
βρίσκονται στην
γραμμή διευθύνσεων του φυλλομετρητή.
Αν για παράδειγμα έχουμε γράψει
http://localhost/~user/page1.php?a=1

τότε $QUERY_STRING=”a=1”.

 Από την άλλη αν έχουμε δώσει την διεύθυνση


http://localhost/~user/page1.php?a=1&b=2

τότε $QUERY_STRING=”a=1&b=2”. 2
8

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Μεταβλητές του Apache


4. $HTTP_USER_AGENT: Επιστρέφει σε μορφή
αλφαριθμητικού πληροφορία για τον φυλλομετρητή που
χρησιμοποιούμε για να δούμε την συγκεκριμένη σελίδα.
Για παράδειγμα σε PC με Linux και φυλλομετρητή Konqueror
επεστράφη η ακόλουθη πληροφορία Mozilla/5.0 (compatible;
Konqueror/3.0.0; Linux)

2
9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Μεταβλητές του Apache


5. $REMOTE_ADDR: Μας δίνει την διεύθυνση (ΙΡ) από την
οποία βλέπουμε την συγκεκριμένη σελίδα. Αν φυσικά
χρησιμοποιούμε το localhost θα μας επιστρέψει 127.0.0.1

6. $SCRIPT_FILENAME: Μας δίνει υπό την μορφή


απόλυτης διαδρομής το μονοπάτι προς το εκτελούμενο
script. Παράδειγμα τιμής είναι το
/home/user/public_html/page1.php

3
0

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Μεταβλητές του Apache


7. $SCRIPT_NAME: Μας δίνει υπό την μορφή διαδρομών
του διακομιστή το μονοπάτι προς το εκτελούμενο script.
Για το προηγούμενο παράδειγμα επιστρέφει
~user/page1.php.

3
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση Query Strings


•Πολλές φορές θα έχουμε προσέξει πως στο Internet μια
σελίδα δεν εμφανίζεται απλώς με το όνομά της, αλλά και
με διάφορα QUERY STRINGS που την ακολουθούν στο
πεδίο διευθύνσεως του φυλλομετρητή.
π.χ. η αναφορά στην σελίδα
http://localhost/~user/page1.php?a=1&b=2

αναφέρεται στην σελίδα page1.php και της περνά σαν


πληροφορία δύο query strings, το a με τιμή 1 και το b με τιμή 2.
•Τα δύο query strings δεν είναι απαραίτητο πως θα
χωρίζονται πάντα με &.
3
2

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση Query Strings


•Πολλές φορές μπορεί να χρησιμοποιούμε και το % χωρίς
περιορισμό.

•Ωστόσο, στα παραδείγματα αυτού του κειμένου


χρησιμοποιούμε το &. Στο επόμενο παράδειγμα
παίρνουμε δύο παραμέτρους στην σελίδα μας και τα
εκτυπώνουμε μέσα σε αυτήν.

3
3
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση Query Strings

3
4

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση Query Strings


•Φυσικά, θα πρέπει να χρησιμοποιήσουμε τα QUERY
STRINGS a και b προκειμένου να δούμε τις τιμές τους από
τις δύο echo εντολές. Για την προηγούμενη σελίδα θα
τυπώσει στο παράθυρο του φυλλομετρητή
Η ΠΡΩΤΗ ΠΑΡΑΜΕΤΡΟΣ ΕΙΝΑΙ 1
Η ΔΕΥΤΕΡΗ ΠΑΡΑΜΕΤΡΟΣ ΕΙΝΑΙ 2

•Για να εκτυπώσουμε τις τιμές παραμέτρων μέσα από την


echo αρκεί να παρεμβάλλουμε τα ονόματα των
μεταβλητών στο σημείο που θέλουμε.
3
5
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση πεδίων φόρμας


•Ένα άλλο σημαντικό στοιχείο στον προγραμματισμό
σελίδων είναι η επικοινωνία μεταξύ σελίδων με την χρήση
φορμών.
Η ανάκτηση των τιμών των πεδίων των φορμών γίνεται πολύ
απλά με το όνομα των πεδίων ακριβώς όπως κάναμε
προηγουμένως και με τα QUERY STRINGS, αλλά με χρήση του
πίνακα $_POST αντί για τον πίνακα $_GET.
Στο επόμενο παράδειγμα εισάγουμε στην φόρμα το
όνομα και το επίθετο ενός ατόμου και στην δεύτερη σελίδα τα
εμφανίζουμε στην οθόνη του φυλλομετρητή.

3
6

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση πεδίων φόρμας

3
7
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση πεδίων φόρμας

3
8

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση τιμών λίστας


Σε πολλές περιπτώσεις θα χρειαστεί να φτιάξουμε
πτυσσόμενες λίστες προκειμένου να παρέχουμε στον
χρήστη την δυνατότητα να επιλέξει από μία
σειρά επιλογών. Στην επόμενη φόρμα φτιάχνουμε μία
λίστα επιλογών για τις τέσσερις βασικές αριθμητικές
πράξεις:

3
9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση τιμών λίστας

4
0

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση τιμών λίστας

Για να φτιάξουμε μία λίστα χρησιμοποιούμε το tag select και


με το πεδίο name δίνουμε ένα όνομα στην λίστα. Αυτό το
όνομα είναι ιδιαίτερα σημαντικό, καθώς η PHP θα
χρησιμοποιήσει μία μεταβλητή με αυτό το όνομα
προκειμένου να αναφερθεί στο επιλεγμένο στοιχείο της
λίστας.

4
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση τιμών λίστας


Μία απλή σελίδα η οποία εμφανίζει την τιμή που επιλέξαμε
από την λίστα είναι η επόμενη:

4
2

<Τίτλος Μαθήματος> - <ΤίτλοςΕΜΠΟΡΙΟ,


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>, ΤΕΙΤΜΗΜΑ
Ενότητα 3, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Βιβλιογραφία
Ηλεκτρονικό Εμπόριο Πομπόρτσης-Τσούφλας, Εκδόσεις Τζιόλα 2002
Ηλεκτρονικό Εμπόριο, Αρχές και Εξελίξεις, E. Turban, Εκδόσεις Γκιούρδας
Ηλεκτρονικό Εμπόριο Γ. Δουκίδης
Ηλεκτρονικό Εμπόριο Ν. Γεωργόπουλος
Εγχειρίδιο Προγραμματισμού E-Commerce με ASP Stephen Walther, Jonathan Levine
ASP Web Development Εύκολα και γρήγορα
Java Οδηγός Προγραμματισμού για E-Commerce με XML και JSP

Apache web server

Mysql database server

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

4
8
Ενότητα 4 : Τελεστές της γλώσσας PHP

ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 4, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,


ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Σκοποί ενότητας
•Χρήση των τελεστών (Αριθμητικοί τελεστές, Τελεστές
αναθέσεως Τελεστές συγκρίσεως, Τελεστές εκτελέσεως)
της γλώσσας PHP.
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 4, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Περιεχόμενα ενότητας
•Αριθμητικοί τελεστές
•Τελεστές αναθέσεως
•Τελεστές συγκρίσεως
•Τελεστές εκτελέσεως

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 4, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Αριθμητικοί τελεστές

9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 4, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Αριθμητικοί τελεστές
•Αν τα δύο ορίσματα του τελεστή / είναι ακέραιοι τότε το
αποτέλεσμα της διαιρέσεως είναι ακέραιος αριθμός.

•Επίσης υπάρχει και ο τελεστής . (τελεία) ο


οποίος κάνει ότι το + στους αριθμούς για τα αλφαριθμητικά.
Με αυτόν τον τελεστή συνενώνουμε δύο αλφαριθμητικά.
Για παράδειγμα η έκφραση “HELLO”.” WORLD” έχει σαν
αποτέλεσμα “HELLO WORLD”

1
0

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 4, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Τελεστές αναθέσεως
Όμοια με την C η PHP έχει και τελεστές αναθέσεως. Για
παράδειγμα είναι απόλυτα έγκυρο να γράψουμε σε
κάποιο σημείο του κώδικα
$a=($b = 2);
όπως και να γράψουμε
$a+=2;
Η πρώτη εντολή αναθέτει το 2 στην μεταβλητή $b και
φυσικά μετά την αναθέτει και στην μεταβλητή $a.
Στην δεύτερη εντολή το 2 προστίθεται στην τιμή που
έχει εκείνη την στιγμή η μεταβλητή $a.
1
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 4, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Τελεστές συγκρίσεως
Για να συγκρίνουμε αποτελέσματα πράξεων μεταξύ τους
χρησιμοποιούμε τους τελεστές συγκρίσεως.

1
2

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 4, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Τελεστές συγκρίσεως

1
3
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 4, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Τελεστές εκτελέσεως
•Η PHP έχει έναν τελεστή που όμοιό του δεν θα δούμε σε
άλλη γλώσσα. Αυτός είναι ο τελεστής εκτελέσεως
προγραμμάτων.

•Για να εκτελέσουμε μία εντολή του λειτουργικού αρκεί


να την περικλείσουμε σε ` `. Προσέξτε αυτά δεν είναι τα
μονά εισαγωγικά αλλά οι απόστροφοι.

•Για να δούμε στην πράξη το αποτέλεσμα του παραπάνω


τελεστή ας μελετήσουμε την επόμενη ενότητα κώδικα:
1
4

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 4, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Τελεστές εκτελέσεως
<?
$result=`ls -CF';
echo “LS RESULTS=<B>$result</B>”;
?>

Στην παραπάνω ενότητα εκτελείται η εντολή ls -CF του


UNIX και το αποτέλεσμα αυτής εκχωρείται στην
μεταβλητή $result. Στην συνέχεια με μία echo
εμφανίζουμε με έντονα γράμματα τα αποτελέσματα
της εντολής.
1
5
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 4, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Λογικοί τελεστές

Οι τελεστές and και or έχουν την ίδια σημασία με


τους && και || αλλά μικρότερη προτεραιότητα.
1
6

Ενότητα 5 : Δομές Ελέγχου της γλώσσας PHP


ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 5, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Σκοποί ενότητας
Εφαρμογή των δομών ελέγχου της PHP (δομές επιλογής
και δομές ανακυκλώσεως).

ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 5, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,


ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Περιεχόμενα ενότητας
•Δομές Ελέγχου της PHP
Απλός επιλογέας-πολλαπλός επιλογέας
Επανάληψη με while
Επανάληψη με do .. While
Επανάληψη με for
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Αριθμητικοί τελεστές
Μια γλώσσα προγραμματισμού θεωρείται νεκρή χωρίς
δομές ελέγχου. Οι δομές ελέγχου πάντα περιορίζονταν
σε δύο κατηγορίες:
1. Δομές επιλογής (αποφασίζουμε για το ποια θα είναι η
επόμενη εντολή που θα εκτελεστεί χρησιμοποιώντας
μία λογική συνθήκη)
2. Δομές ανακυκλώσεως (μια ομάδα εντολών εκτελείται
πολλές φορές με βάση μία λογική συνθήκη ή έναν
προκαθορισμένο αριθμό επαναλήψεων).

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Απλός επιλογέας
Ο απλός επιλογέας αποφασίζει για την επόμενη εντολή
που θα εκτελεστεί με την χρήση μιας λογικής συνθήκης.
Η σύνταξή του είναι
if(condition)
{
group1;
}
Που σημαίνει πως αν ισχύει η λογική συνθήκη condition,
τότε εκτελείται η ομάδα εντολών group1. Διαφορετικά
αυτή η ομάδα εντολών δεν εκτελείται.
1
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Απλός επιλογέας
<?
$a=1;
$b=2;
if($b < $a)
{
$b=$a;
}
echo “b=$b a=$a”;
?>

1
1

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Απλός επιλογέας
Φυσικά πάντα δεν υπάρχει ένας μόνο δρόμος στις
αποφάσεις. Για αυτόν τον λόγο έχει προβλεφτεί να
υπάρχει και ένα else για να καλύψει αυτήν την
περίπτωση, όπως δείχνει το επόμενο παράδειγμα

1
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

<?
$a=1;
$b=2;
if($a < $b)
{
echo “TO A EINAI ΜΙΚΡΟΤΕΡΟ ΤΟΥ Β”;
}

else
{
echo “ΤΟ Β ΕΙΝΑΙ ΜΙΚΡΟΤΕΡΟ ΤΟΥ Α”;
}
?> 1
3

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Πολλαπλός επιλογέας
Εκτός του απλού επιλογέα υπάρχει και ο πολλαπλός
επιλογέας, στον οποίο δεν εξετάζουμε μόνον μία
περίπτωση για να πάρουμε απόφαση για την επόμενη
εντολή, αλλά περισσότερες.

1
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Πολλαπλός επιλογέας

1
5

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Πολλαπλός επιλογέας
•Αν η τιμή της μεταβλητής είναι ίση με value1, τότε
εκτελούνται οι εντολές group1.

•Διαφορετικά ελέγχουμε αν είναι ίση με value2.


Αν είναι έτσι, εκτελούνται οι εντολές group2.
Αν δεν βρεθεί ταίριασμα εκτελούνται οι εντολές που
ακολουθούν πρόταση default. Εδώ θα πρέπει να
επισημάνουμε τα ακόλουθα σε σχέση με την switch.

1
6
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Πολλαπλός επιλογέας
1.Οι εντολές break δεν είναι απαραίτητες για την
συντακτική εγκυρότητα της switch.
Αν δεν υπάρχουν όμως τότε θα εκτελεστεί και το επόμενο
μπλοκ εντολών μετά το πρώτο ταίριασμα της μεταβλητής.

2.Η πρόταση default δεν είναι επίσης απαραίτητη.


Ωστόσο, συνίσταται η χρήση της προκειμένου να
εξασφαλίσουμε πως τουλάχιστον μία ομάδα εντολών
θα εκτελεστεί αλλά και πως έχουμε καλύψει όλες τις
πιθανές περιπτώσεις για την τιμή της μεταβλητής.
1
7

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Πολλαπλός επιλογέας
3. Δεν πρέπει σε καμία περίπτωση η πρόταση switch να
θεωρηθεί ισοδύναμη με πολλαπλά if.
Στα πολλαπλά if δεν έχουμε μόνον ελέγχους για ισότητα.

1
8
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Πολλαπλός επιλογέας-παράδειγμα1

1
9

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Πολλαπλός επιλογέας-παράδειγμα2
•Αν η μεταβλητή είναι από
1 μέχρι 3 εμφανίζεται το
πρώτο μήνυμα.
•Αν είναι από 4 μέχρι 6 το
δεύτερο αλλιώς το τρίτο.
•Δεν είναι ιδιαίτερα
βολικός τρόπος για να
καλύψουμε σύνολα αλλά
τουλάχιστον είναι
ένας τρόπος.

2
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Επανάληψη με while
Ο απλούστερος τρόπος για να γράψουμε μία επανάληψη
είναι με την χρήση της εντολής while.
Η σύνταξή της είναι ίδια με αυτήν που συναντάμε στην C,
δηλαδή:

2
1

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Επανάληψη με while
Δηλαδή όσο ισχύει η condition εκτελούνται οι εντολές
στην ομάδα εντολών group.
Ένα απλό παράδειγμα είναι αυτό ενός απλού μετρητή:

2
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Υπολογισμός αθροίσματος
ο βρόγχος while δεν είναι
πάντα ο πλέον κατάλληλος
για προκαθορισμένο
πλήθος επαναλήψεων,
καθώς θα πρέπει να
φροντίζουμε για την
ανανέωση της μεταβλητής
που ελέγχει τον βρόγχο.
αν ξεχάσουμε την αύξηση
της μεταβλητής $i, τότε θα
έχουμε έναν ατέρμονό
βρόγχο. 2
3

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Επανάληψη με do .. while
Η σύνταξη του βρόχου do..while του έχει ως ακολούθως:
το σύνολο εντολών θα
εκτελεστεί και ύστερα θα
ελέγξουμε αν η συνθήκη
είναι αληθής ή ψευδής.

 Η διαφορά με τον
προηγούμενο βρόγχο
είναι ότι με το do...while
οι εντολές θα
εκτελεστούν τουλάχιστον
μία φορά. 2
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Επανάληψη με do .. while

Μετά την εκτέλεση του


κώδικα η τιμή του $var
θα είναι 101, αφού θα
εκτελεστεί ο βρόγχος
τουλάχιστον μία φορά.

2
5

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Επανάληψη με for
Η σύνταξή της εντολής for είναι ίδια με αυτήν που
συναντάμε στην γλώσσα C, δηλαδή:

2
6
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Η σημασία των “παραμέτρων” του for


1. init:
 Είναι μία εντολή που εκτελείται σε κάθε περίπτωση πριν την
έναρξη του βρόγχου ακόμα και αν οι εντολές στο σώμα του
δεν εκτελεστούν καμία φορά.
2. check:
 Είναι μία λογική συνθήκη που εκτελείται πριν την κάθε
επανάληψη. Αν εξαρχής δεν είναι αληθής , τότε οι εντολές
στο σώμα του βρόγχου δεν θα εκτελεστούν καμία φορά.
3. Update:
 Είναι μία εντολή που εκτελείται στο τέλος του βρόγχου μετά
την εκτέλεση των εντολών στο σώμα του βρόγχου και
οπωσδήποτε πριν τον έλεγχο της συνθήκης check.
2
7

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Η σημασία των “παραμέτρων” του for


Aπλό παράδειγμα του βρόγχου:

2
8
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Η σημασία των “παραμέτρων” του for


•Κάποιες από τις παραμέτρους του βρόγχου μπορούν να
παραληφθούν, αλλά με κανέναν τρόπο δεν παραλείπονται
τα Ελληνικά ερωτηματικά που τις διαχωρίζουν.
π.χ. στην επόμενη πρόταση δεν υπάρχει init και update και
όμως ο βρόγχος δουλεύει κανονικά.

2
9

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 5, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Η σημασία των “παραμέτρων” του for

Στην παραπάνω περίπτωση η πρόταση for είναι ισοδύναμη


με ένα while. 3
0
Ενότητα 6 : Συναρτήσεις της γλώσσας PHP

ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 6, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,


ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Σκοποί ενότητας
•Χρήση και εφαρμογή των συναρτήσεων της γλώσσας
PHP στο ηλεκτρονικό εμπόριο.
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 6, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Περιεχόμενα ενότητας
•Ορισμός συναρτήσεων της γλώσσας PHP
•Ορίσματα συναρτήσεων της γλώσσας PHP

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή
•Το πιο σημαντικό θέμα στην PHP είναι οι συναρτήσεις
της. Η γλώσσα διαθέτει ένα πλούσιο ρεπερτόριο από
συναρτήσεις, με τις οποίες μπορούμε να κάνουμε
τα πάντα σε θέματα όπως βάσεις δεδομένων, πίνακες,
μαθηματικά, συμπίεση δεδομένων κτλ.

•Επειδή η αναφορά σε όλες τις συναρτήσεις της γλώσσας


θα απαιτούσε εκατοντάδες σελίδες και επειδή ο
προσανατολισμός αυτού του κειμένου είναι προς το
ηλεκτρονικό εμπόριο θα εστιάσουμε την μελέτη μας σε
ότι έχει να κάνει με ηλεκτρονικό εμπόριο. 9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ορισμός συναρτήσεων
•Μία συνάρτηση μπορεί να εμφανιστεί σε οποιοδήποτε
σημείο του κώδικα μας ακόμα και μετά την χρήση της.

1
0

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ορισμός συναρτήσεων
•Το αναγνωριστικό function είναι απαραίτητο πριν από το
όνομα της συναρτήσεως προκειμένου να κατανοήσει ο
διερμηνευτής της γλώσσας πως δεν πρόκειται για απλό
κώδικα, αλλά για συνάρτηση της οποίας ο κώδικας
φυσικά θα εκτελεστεί όταν αυτή κληθεί.

•Στο σώμα της συναρτήσεως (group) βάζουμε εντολές


όπως θα τις βάζαμε και σε συνεχόμενο κώδικα. Σε μία
συνάρτηση δεν είναι απαραίτητο να υπάρχει η εντολή
επιστροφής τιμής return. Ωστόσο γενικά οι συναρτήσεις
θα πρέπει να επιστρέφουν τιμές. 1
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ορισμός συναρτήσεων
•Επίσης, οι συναρτήσεις δεν είναι απαραίτητο να
παίρνουν ορίσματα όπως κάναμε στο
παραπάνω παράδειγμα.

•Βέβαια η χρήση παραμέτρων είναι ένας τρόπος


επικοινωνίας ανάμεσα στο καλούμενο πρόγραμμά και
καλών πρόγραμμά.

1
2

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ορισμός συναρτήσεων
•Απλή συναρτήση που προσθέτει τα δύο ορίσματα που
δέχεται και τα επιστρέφει

1
3
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ορισμός συναρτήσεων
Όπως βλέπουμε η αναφορά στην τιμή της
συναρτήσεως δεν γίνεται με το $ μπροστά από το όνομά
της. Αυτό γίνεται αλλά έχει άλλη σημασία όπως θα
δούμε παρακάτω.
Προς το παρόν αρκεί να θυμόμαστε πως όταν θέλουμε
να πάρουμε το αποτέλεσμα μίας συναρτήσεως δεν
βάζουμε το $ πριν από το όνομά της.

Το παραπάνω παράδειγμα θα μπορούσε να είχε γραφεί


και αλλιώς
1
4

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ορισμός συναρτήσεων

1
5
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ορίσματα
•Δεν είναι απαραίτητο να δηλώνεται η συνάρτηση πριν
από την χρήση της.

•Βέβαια για να αποφεύγονται λάθη αλλά και επειδή πριν


την έκδοση 4 αυτό δεν υποστηρίζονταν καλό είναι να
δηλώνουμε τις συναρτήσεις πριν τις χρησιμοποιήσουμε.

•Τα ονόματα των ορισμάτων δεν έχουν καμία σχέση με


ονόματα που τυχόν υπάρχουν στο υπόλοιπο πρόγραμμα ή
σε κάποια άλλη συνάρτηση
1
6

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

1
7
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ορίσματα
•Μπορούμε να χρησιμοποιήσουμε πέρασμα με αναφορά
προκειμένου να πετύχουμε την αλλαγή μεταβλητών μέσα
σε μία συνάρτηση.
•Για να περάσουμε μια μεταβλητή με αναφορά
χρησιμοποιούμε τον τελεστή & μπροστά από το
όνομα του ορίσματος στον ορισμό της συναρτήσεως.

Στο επόμενο παράδειγμα μέσα από την συνάρτηση swap


ανταλλάσσουμε τις τιμές δύο μεταβλητών:

1
8

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

1
9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ορίσματα
Ο προηγούμενος τρόπος περάσματος τιμών με αναφορά
είναι λίγο πολύ ίδιος με αυτόν που βρίσκουμε στην C++.

Ωστόσο, η PHP έχει ακόμα έναν τρόπο περάσματος τιμών


με αναφορά :

2
0

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ορίσματα

2
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ορίσματα
Λογικά, η νέα έκδοση της συναρτήσεως swap δεν θα έπρεπε
να ανταλλάσει τις τιμές των μεταβλητών.

Ωστόσο, αυτό γίνεται επειδή αν προσέξετε καλά στην κλήση


της συναρτήσεως δεν περνάμε απλώς τις μεταβλητές $var1
και $var2, αλλά τις διευθύνσεις αυτών με την χρήση του
τελεστή & μπροστά από το ονόματα των μεταβλητών.

2
2

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

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

2
3
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 6, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ορίσαμε την συνάρτηση add() να δέχεται δύο ορίσματα.


Το δεύτερο όρισμα δεν είναι απαραίτητο να το περάσουμε στην κλήση
της συναρτήσεως , για αυτό και δηλώνουμε πως η προκαθορισμένη του
τιμή θα είναι 1.
 Έτσι, το πρώτο αποτέλεσμα είναι 101 και το δεύτερο 500.
2
4

Ενότητα 7 : Χρήση Πινάκων στο Ηλεκτρονικό εμπόριο (I)


ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 7, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Σκοποί ενότητας
•Δημιουργία και εφαρμογή των Πινάκων στο
ηλεκτρονικό εμπόριο.

ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 7, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,


ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Περιεχόμενα ενότητας
•Δημιουργία πινάκων
•Η συνάρτηση Array()
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή
•Η γλώσσα PHP δεν έχει πίνακες, τουλάχιστον όχι με την
συνηθισμένη έννοια του όρου.

•Για την δημιουργία και τον χειρισμό πινάκων η γλώσσα


διαθέτει ειδικές συναρτήσεις και ειδικές δομές ελέγχου.

•Οι πίνακες παίζουν σημαντικό ρόλο στο ηλεκτρονικό


εμπόριο, καθώς σε αυτούς μπορούμε να αποθηκεύουμε
στοιχεία από ίδιες ομάδες αλλά και γιατί οι συναρτήσεις
χειρισμού βάσεων δεδομένων επιστρέφουν πολύ συχνά
πίνακες.
9

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Δημιουργία πινάκων
•Οι πίνακες δημιουργούνται με την χρήση της
συναρτήσεως Array(). Η συνάρτηση αυτή παίρνει σαν
όρισμα τα στοιχεία του πίνακα και τον δημιουργεί

1
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Δημιουργία πινάκων
Στο προηγούμενο παράδειγμα αυτό δημιουργούμε τον
πίνακα $my_array με τα στοιχεία 1,7,9,11 και στην
συνέχεια τα τυπώνουμε από το πρώτο προς το τελευταίο.
Όπως βλέπουμε οι δείκτες των πινάκων ξεκινούν από το 0
και φτάνουν μέχρι το μέγεθος του πίνακα -1, ακριβώς όπως θα
κάναμε και στην C.
Η αναφορά στα στοιχεία του πίνακα γίνεται με
την χρήση του [ ] .
Φυσικά, τα στοιχεία ενός πίνακα είναι με την σειρά τους
μεταβλητές και έτσι αναφορές όπως
$my_array[2]=100
είναι καθόλα έγκυρες.
1
1

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Δημιουργία πινάκων
Ο τρόπος δημιουργίας πινάκων που είδαμε
προηγουμένως δεν είναι ο μόνος.

Μπορούμε κατά την δημιουργία ενός πίνακα να


προσδιορίσουμε σε ποια θέση θα μπει κάθε στοιχείο
στον πίνακα, όπως δείχνει και το επόμενο παράδειγμα:

1
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Δημιουργία πινάκων

1
3

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Δημιουργία πινάκων
•Για να προσδιορίσουμε σε ποια θέση θα μπει κάποιο
στοιχείο σε έναν πίνακα αρκεί να γράψουμε τον δείκτη
της θέσεως, τον τελεστή => και στην συνέχεια
την τιμή που θέλουμε να έχει ο πίνακας σε εκείνη την
θέση.

•Οι πίνακες ξεκινούν στην PHP από το 0. Αυτό είναι


αλήθεια αρκεί να μην το αλλάξουμε ρητά.

1
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Δημιουργία πινάκων
Αν θέλουμε να ξεκινά ένας πίνακας από διαφορετική
θέση πρέπει να το προσδιορίσουμε καθορίζοντας την
πρώτη θέση όπως στο επόμενο παράδειγμα:

Σε αυτήν την περίπτωση ο πίνακας ξεκινά από το 4


και έχει τα στοιχεία 1,3,7,11 στις θέσεις 4,5,6,7.
1
5

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Δημιουργία πινάκων
•Οι πίνακες κατακερματισμού παίζουν ιδιαίτερα
σημαντικό ρόλο στον προγραμματισμό, καθώς με την
χρήση κλειδιών μπορούμε αυτόματα να
αποκτήσουμε πρόσβαση σε πληροφορία που θα
απαιτούσε σημαντικό χρόνο αναζητήσεως.

•Η PHP διαθέτει πίνακες κατακερματισμού, οι οποίοι


μάλιστα δημιουργούνται με την χρήση της συναρτήσεως
Array() που είδαμε για την δημιουργία πινάκων.

1
6
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Δημιουργία πινάκων

Ένα απλό παράδειγμα πίνακα κατακερματισμού είναι και


το επόμενο που παρουσιάζει έναν πίνακα κόστους για
προϊόντα που πουλά ένα κατάστημα ειδών
πληροφορικής:

1
7

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

1
8
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Δημιουργία πινάκων
Σε πολλές εφαρμογές οι πίνακες δεν είναι μονοδιάστατοι.
Η δημιουργία περισσοτέρων διαστάσεων γίνεται πάλι με
την χρήση της συναρτήσεως Array() αλλά με διαφορετικό
τρόπο από ότι είδαμε προηγουμένως:

1
9

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

2
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 7, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Δημιουργία πινάκων
Με άλλα λόγια οι πολυδιάστατοι πίνακες
δημιουργούνται με την χρήση ένθετων πινάκων .

Βέβαια, οι ένθετοι πίνακες δεν είναι απαραίτητο να


έχουν όλοι την ίδια διάσταση.

2
1

Ενότητα 8 : Χρήση Πινάκων στο Ηλεκτρονικό εμπόριο (ΙΙ)


ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 8, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Σκοποί ενότητας
•Πλοήγηση σε πίνακες της PHP μέσω της συνάρτησης
n_array(value,array) και εφαρμογή πράξεων μεταξύ
των.

ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 8, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,


ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Περιεχόμενα ενότητας
•Πλοήγηση σε πίνακες
•Η συνάρτηση n_array(value,array)
•Πράξεις μεταξύ πινάκων
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 8, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Πλοήγηση σε πίνακες
•Με τον όρο πλοήγηση σε πίνακες εννοούμε την
ενέργεια που κάνουμε να κινηθούμε από την μία άκρη
ενός πίνακα στην άλλη.

Οι πίνακες στην PHP δεν είναι πίνακες με την έννοια του
όρου που τον συναντάμε στις άλλες διαδικασιακές γλώσσες.

Πρόκειται για γραμμικές λίστες οι οποίες διαθέτουν κάποιον


δείκτη θέσεως που δείχνει και την τρέχουσα θέση στην οποία
κάνουμε κάποια συγκεκριμένη πράξη π.χ. έναν έλεγχο.

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 8, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Πλοήγηση σε πίνακες
Η απλούστερη ενέργεια που θέλουμε να κάνουμε σε
έναν πίνακα είναι να ψάξουμε για ένα στοιχείο σε αυτόν.
Η πρώτη συνάρτηση που το κάνει αυτό είναι η
in_array(value,array).
Η πρώτη της παράμετρος είναι η τιμή για την οποία ψάχνουμε
η δεύτερη παράμετρος είναι ο πίνακας στον οποίο γίνεται η
έρευνα. Η συνάρτηση αυτή επιστρέφει TRUE ή FALSE, ανάλογα
με το αν υπάρχει στον πίνακα η τιμή ή όχι.
αν και αυτή η συνάρτηση είναι αρκετά απλή στην σκέψη και στην
λειτουργία δεν μας δίνει την θέση στην οποία βρίσκεται το στοιχείο
στον πίνακα. Αυτό γίνεται με την συνάρτηση
array_search(value,array).
1
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 8, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Πλοήγηση σε πίνακες
•Η συνάρτηση αυτή ψάχνει για το στοιχείο value
στον πίνακα array και θα επιστρέψει αν υπάρχει το κλειδί
(ή θέση) αυτού του στοιχείου στον πίνακα.
•Επειδή οι πίνακες είναι στην ουσία γραμμικές λίστες,
υπάρχει κάποιος τρόπος να της διατρέξουμε από την
αρχή μέχρι το τέλος.
Αυτήν την λειτουργία κάνει η συνάρτηση next(array), η
οποία επιστρέφει το επόμενο στοιχείο σε έναν πίνακα και
ταυτόχρονα μετακινεί τον δείκτη θέσεως του πίνακα κατά 1
στοιχείο.
Αν έχουμε φτάσει στο τέλος του πίνακα η συνάρτηση αυτή
επιστρέφει FALSE. 1
1

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 8, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Πλοήγηση σε πίνακες

1
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 8, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Πλοήγηση σε πίνακες
•Το προηγούμενο πρόγραμμα όσο απλό και αν φαίνεται
έχει ένα ελάττωμα: δεν τυπώνει το πρώτο στοιχείο του
πίνακα, αλλά το παρακάμπτει.
Αυτό γίνεται επειδή η next() περνά αμέσως στο επόμενο
στοιχείο του πίνακα.
Αν θέλουμε να παίρνουμε κάθε φορά το τρέχον στοιχείο σε
έναν πίνακα, τότε πρέπει να χρησιμοποιήσουμε την
συνάρτηση current(array) η οποία επιστρέφει το στοιχείο σε
εκείνη την θέση του πίνακα που βρισκόμαστε.

1
3

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 8, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Πλοήγηση σε πίνακες
Το προηγούμενο παράδειγμα γραμμένο σωστά έχει
ως ακολούθως:

1
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 8, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Πλοήγηση σε πίνακες
•Αν δεν θέλουμε να περάσουμε από όλα τα στοιχεία
ενός πίνακα, αλλά απλά να πάμε στο τέλος του, τότε
μπορούμε να χρησιμοποιήσουμε:
την συνάρτηση end(), η οποία επιστρέφει το τελευταίο
στοιχείο στον πίνακα και μετακινεί τον δείκτη του πίνακα
στην τελευταία θέση του.

•Όμοια με την συνάρτηση next() υπάρχει και η prev()


η οποία δίνει το προηγούμενο στοιχείο σε έναν
πίνακα και επιστρέφει FALSE όταν φτάσουμε στην
αρχή του πίνακα.
1
5

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 8, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Πράξεις μεταξύ πινάκων

Έκτος από την πλοήγηση σε έναν πίνακα πολύ


σημαντικό είναι να εξετάσουμε και τις συναρτήσεις
για πράξεις μεταξύ πινάκων.

1
6
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 8, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Πράξεις μεταξύ πινάκων

1
7

Ενότητα 9 : Χρήση Πινάκων στο Ηλεκτρονικό εμπόριο (ΙΙΙ)


ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 9, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Σκοποί ενότητας
Χρήση της PHP για την ταξινόμηση πινάκων, εφαρμογή
της δομής foreach για την κίνηση μέσα σε πίνακες,
χρήση των πινάκων με την μορφή στοιβάδας, ανάκτηση
της ώρας και της ημερομηνίας μέσω της PHP και
ενσωμάτωσή τους σε σελίδες.

ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 9, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,


ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Περιεχόμενα ενότητας
•Ταξινόμηση πινάκων
•Η δομή foreach
•Στοιβάδες
•Ανάκτηση ημερομηνίας και ώρας με τη γλώσσα PHP
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ταξινόμηση πινάκων
Για την ταξινόμηση πινάκων η PHP διαθέτει μία σειρά
από συναρτήσεις.

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Η δομή foreach
Μια πολύ χρήσιμη δομή που παρέχει η γλώσσα για την
κίνηση μέσα σε πίνακες είναι η δομή foreach. Η δομή
αυτή εμφανίζεται με δύο μορφές.
Στην πρώτη μορφή του γράφουμε

1
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Η δομή foreach
•Έτσι, ακόμα και αν δεν ξέρουμε πόσα στοιχεία έχει ένας
πίνακας μπορούμε να τον διατρέξουμε και να εκτελέσουμε
διάφορες πράξεις πάνω στον πίνακα.
Βέβαια η PHP διαθέτει την συνάρτηση count() η οποία
επιστρέφει το πλήθος των στοιχείων ενός πίνακα.

•Η δομή foreach εκτελεί την πράξη reset() πάνω σε


ένα αντίγραφο του πίνακα πριν την έναρξη των πράξεων
Έτσι, ο προγραμματιστής απαλλάσσεται από την μέριμνα
την τοποθετήσεως του δείκτη του πίνακα, δηλ. πράξεις σαν
και την επόμενη δεν έχουν το αποτέλεσμα που θα
επιθυμούσαμε. 1
1

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Η δομή foreach

1
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Η δομή foreach
Η συνάρτηση print_r() απλά τυπώνει τα στοιχεία ενός
πίνακα. Θα περιμέναμε να προστεθεί 1 σε κάθε στοιχείο
του πίνακα.
Αυτό όμως δεν συνέβη, καθώς η foreach δεν επηρεάζει τον
πραγματικό πίνακα.
Η δεύτερη μορφή με την οποία εμφανίζεται η δομή είναι:

1
3

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Η δομή foreach
Στην προηγούμενη μορφή, σε κάθε επανάληψη
εκτελούνται οι εντολές στο group και η μεταβλητή

$value λαμβάνει την επόμενη τιμή στον πίνακα αλλά και


η μεταβλητή $key παίρνει το κλειδί σε εκείνη την θέση στον
πίνακα. Και αυτή η μορφή της δομής δεν επηρεάζει τον
πραγματικό πίνακα.

Το επόμενο παράδειγμα δείχνει την χρήση αυτής της


μορφής της δομής

1
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Η δομή foreach

1
5

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Στοιβάδες
Το τελευταίο σημείo που θα εξετάσουμε στους πίνακες
είναι η χρήση τους με την μορφή στοιβάδας. Στοιβάδες
είναι δομές δεδομένων στις οποίες επιτρέπονται δύο
πράξεις:
1. Η εισαγωγή ενός στοιχείο στο τέλος της στοιβάδας
(κορυφή).
2. Η εξαγωγή ενός στοιχείου από το τέλος της στοιβάδας.

1
6
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Στοιβάδες

Για να καταλάβουμε καλύτερα την δομή της θα πρέπει να


την φανταστούμε σαν μία σειρά από πιάτα. Μπορούμε
μόνον να πάρουμε το επάνω πιάτο ή να βάλουμε κάποιο
άλλο πάνω από αυτό.

1
7

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Στοιβάδες
Η πρώτη συνάρτηση που θα εξετάσουμε είναι η
συνάρτηση array_push(array,value).
Η συνάρτηση αυτή τοποθετεί την τιμή value στο τέλος του
array και επιστρέφει το νέο πλήθος στοιχείων που έχει ο
πίνακας.
Αν θέλουμε μπορούμε να προσθέσουμε περισσότερα
στοιχεία στον πίνακα βάζοντας και τρίτο και τέταρτο όρισμα
στην συνάρτηση.

Στο επόμενο παράδειγμα οι ζυγοί αριθμοί από το 2 έως


και το 100 τοποθετούνται σε έναν πίνακα:
1
8
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Στοιβάδες

1
9

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Στοιβάδες
Η δεύτερη συνάρτηση που θα εξετάσουμε είναι η
συνάρτηση array_pop(array) επιστρέφει το τελευταίο
στοιχείο του πίνακα.
Αν ο πίνακας είναι άδειος επιστρέφει NULL.

2
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Στοιβάδες

2
1

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ημερομηνία και ώρα


Με την βοήθεια των συναρτήσεων της γλώσσας PHP
μπορούμε να ανακτήσουμε την ώρα και την
ημερομηνία και να τα ενσωματώσουμε στις σελίδες
μας.

2
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ημερομηνία και ώρα


•Η συνάρτηση date() γενικά απαιτεί ένα αλφαριθμητικό
με πολλές παραμέτρους και θα ήταν χάσιμο χρόνο να τις
αναλύσουμε αυτήν την στιγμή εδώ.

•Η συνάρτηση time() είναι χρήσιμη για να μετρήσουμε


χρονικές αποστάσεις.

•H getdate() και η localtime() είναι οι πιο εύχρηστες και


μας επιστρέφουν πληροφορία που μπορεί να διαβαστεί
εύκολα από άνθρωπο.
2
3

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙΤΜΗΜΑ
Ενότητα 9, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ -ΜΗΧΑΝΙΚΩΝ Μαθήματα στο
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ημερομηνία και ώρα

2
4
Ενότητα 10 : Η χρήση της MySQL στο Ηλεκτρονικό εμπόριο (Ι)

ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 10, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,


ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Σκοποί ενότητας
•Χρήση συναρτήσεων της MySQL στο ηλεκτρονικό
εμπόριο για τον σχεδιασμό σελίδων
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 10, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Περιεχόμενα ενότητας
•Σύνδεση με βάση δεδομένων
•Δημιουργία βάσεων δεδομένων

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 10, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή
•Για όσους ασχολούνται με ηλεκτρονικό εμπόριο το
πλέον σημαντικό θέμα στον σχεδιασμό σελίδων είναι
 η σύνδεση με βάσεις δεδομένων και
η εκτέλεση ερωτημάτων μέσω του διαδικτύου σε αυτές.

•Η PHP έχει δεκάδες συναρτήσεις για αυτόν τον σκοπό με


τις οποίες μπορούμε να συνδεθούμε σε βάσεις ORACLE,
SQL SERVER, INGRESS, κτλ.

9
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 10, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή

•Ωστόσο, σε αυτή τη διάλεξη παρουσιάζονται μόνον οι


συναρτήσεις που έχουν να κάνουν με την MySQL, καθώς
μπορεί κανείς να την βρει εύκολα, δεν είναι ιδιαίτερα
απαιτητική σε πόρους και προ πάντων εργάζεται το ίδιο
σε όλα τα λειτουργικά συστήματα στα οποία είναι
εγκατεστημένη.

1
0

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 10, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Σύνδεση με βάση
•Το πρώτο που κοιτάμε να κάνουμε όταν θέλουμε να
εργαστούμε σε μία βάση είναι να συνδεθούμε σε αυτήν.

•Η σύνδεση για την MySQL γίνεται με την συνάρτηση:

•Η παραπάνω συνάρτηση επιστρέφει έναν περιγραφέα


της βάσεως (περιγραφέας αρχείου) σε περίπτωση
επιτυχίας. Σε περίπτωση αποτυχίας επιστρέφει FALSE.
1
1
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 10, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Τα ορίσματα έχουν την ακόλουθη σημασία


1. IP: Είναι η διεύθυνση του μηχανήματος στην οποίο
τρέχει ο εξυπηρέτης της MySQL.
 π.χ. σε αυτό μπορούμε να δώσουμε τιμές όπως
“195.130.121.51”, “localhost”, “pegasus.cs.uoi.gr” κτλ. Όταν
ο εξυπηρέτης είναι στο ίδιο μηχάνημα με το κώδικα, τότε
μπορούμε να βάλουμε την τιμή localhost.

2. username: Είναι ο κώδικος με τον οποίο θα συνδεθούμε


στην βάση του απομακρυσμένου μηχανήματος.
Αν η βάση δεδομένων βρίσκεται στον ίδιο υπολογιστή με τον
κώδικα βάζουμε το username που έχουμε σε αυτό το μηχάνημα.
1
2

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 10, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Σύνδεση με βάση
3. password: Είναι το συνθηματικό το οποίο αντιστοιχεί
στον κωδικό συνδέσεως
για την βάση του απομακρυσμένου μηχανήματος.
Αν η βάση δεδομένων βρίσκεται στον ίδιο υπολογιστή
βάζουμε δύο συνεχόμενα “ , δηλαδή το αφήνουμε κενό.

1
3
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 10, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Παράδειγμα συνδέσεως

1
4

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 10, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Παράδειγμα συνδέσεως
•Η συνάρτηση mysql_close() κλείνει μία σύνδεση που έχει
ανοίξει επιτυχώς προηγουμένως.

•Ακόμα και με την mysql_connect() δεν επιτυγχάνουμε


σύνδεση με συγκεκριμένη βάση δεδομένων παρά μόνον
σύνδεση με τον εξυπηρέτη.

•Για να συνδεθούμε με συγκεκριμένη βάση δεδομένων και


να μπορέσουμε να εκτελέσουμε ερωτήματα πρέπει να
χρησιμοποιήσουμε την συνάρτηση
mysql_select_db(database).
1
5
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 10, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Παράδειγμα συνδέσεως
•Η παράμετρος database επιλέγει την βάση δεδομένων με
την οποία επιθυμούμε να εργαστούμε.

•Αν ο δεν έχουμε φτιάξει κάποια συγκεκριμένη βάση, τότε


απλά μπορούμε να βάλουμε την default βάση test.

1
6

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 10, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Δημιουργία βάσεων
•Αν δεν έχουμε κάποια βάση να συνδεθούμε, τότε απλά
μπορούμε να χρησιμοποιήσουμε την προκαθορισμένη
βάση test.

•Ωστόσο, η δημιουργία βάσεων είναι σχετικά απλή


ακόμα και μέσα από php. Αυτό γίνεται με την
συνάρτηση mysql_create_db(“name”,$link) (δημιουργεί
την βάση name).
Σε περίπτωση επιτυχίας επιστρέφει TRUE και σε περίπτωση
αποτυχίας επιστρέφει FALSE.
Το δεύτερο όρισμα είναι ο περιγραφέας που έχουμε πάρει
με την σύνδεση προηγουμένως. 1
7
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 10, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Δημιουργία βάσεων
•Αν θέλουμε να διαγράψουμε μία βάση δεδομένων θα
πρέπει να χρησιμοποιήσουμε την συνάρτηση
mysql_drop_db(database,$link) (έχει παρόμοια στην
σημασία ορίσματα με την προηγούμενη συνάρτηση)

•Ωστόσο, η δημιουργία και η διαγραφή βάσεων


δεδομένων εξαρτάται από τον διαχειριστή της βάσεως
δεδομένων στην οποία συνδεόμαστε και από τα
δικαιώματα που έχουμε επί των βάσεων δεδομένων
που προσπαθούμε να δημιουργήσουμε ή/και να
διαγράψουμε.
1
8

Ενότητα 11 : Η χρήση της MySQL στο Ηλεκτρονικό εμπόριο (ΙΙ)


ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 11, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Σκοποί ενότητας
•Ανάκτηση πλειάδων με τη χρήση της
συνάρτησης mysql_query(query,link).

ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 11, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,


ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Περιεχόμενα ενότητας
•Ανάκτηση πλειάδων
•Η συνάρτηση mysql_query(query,link).
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση πλειάδων
Η βασικότερη συνάρτηση που θα δούμε είναι η
mysql_query(query,link).

Το πρώτο όρισμα είναι το ερώτημα σε μορφή αλφαριθμητικού


που θέλουμε να εκτελέσουμε και
το δεύτερο όρισμα είναι ο περιγραφέας της βάσεως δεδομένων
που έχουμε ανοίξει.
Το αποτέλεσμα αυτής της συναρτήσεως αν είναι FALSE,
σημαίνει πως το ερώτημα απέτυχε. Οι λόγοι αποτυχίας μπορεί να
έχουν να κάνουν είτε με την σύνταξη του ερωτήματος είτε με
δικαιώματα που υπάρχουν επί της βάσεως δεδομένων που
θέλουμε. 9

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση πλειάδων

Το επόμενο απλό παράδειγμα δείχνει πως μπορούμε να


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

1
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

1
1

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

…συνέχεια

1
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση πλειάδων
Στο παραπάνω παράδειγμα έχουμε φτιάξει στην βάση
δεδομένων test έναν πίνακα με τα πεδία name, job,
code.
Τα δύο πρώτα είναι αλφαριθμητικά και
το τρίτο είναι ακέραιος και είναι το κλειδί της βάσεως.

1
3

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση πλειάδων
Αν και το παραπάνω παράδειγμα είναι επιτυχές δεν
εμφανίζει κάτι στην οθόνη. Η βάση μου έχει αρκετές
γραμμές αλλά καμία δεν εμφανίζεται επί της οθόνης.

Αυτό γίνεται γιατί με το που εκτελείται ένα ερώτημα τα


αποτελέσματα αποθηκεύονται σε δυαδική μορφή στην
μεταβλητή που ανατίθεται το ερώτημα, στην παραπάνω
περίπτωση στην μεταβλητή $result.

1
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση πλειάδων
Για να μπορέσουμε λοιπόν να ανακτήσουμε αυτές τις
πλειάδες θα πρέπει να επεξεργαστούμε τα δεδομένα στο
$result με την συνάρτηση

myql_fetch_array()
που αναλαμβάνει να φέρει μία προς μία τις όποιες
γραμμές υπάρχουν σε αυτόν τον πίνακα.

Το επόμενο παράδειγμα ολοκληρώνει αυτό που είδαμε


προηγουμένως:
1
5

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

1
6
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

1
7

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση πλειάδων
Η mysql_fetch_array() αναλαμβάνει να σπάσει το $result
σε γραμμές. Κάθε κλήση σε αυτήν λαμβάνει την επόμενη
γραμμή.
Το αποτέλεσμα της συναρτήσεως είναι ένας πίνακας με
μήκος ίσο με το πλήθος των στοιχείων κάθε
πλειάδας.
Αυτό σημαίνει πως μπορούμε να ταξινομήσουμε τον πίνακα ή να το
επεξεργαστούμε με κάποια από τις συναρτήσεις που έχουμε δει σε
προηγούμενη ενότητα για τον χειρισμό πινάκων.

1
8
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση πλειάδων
•Το προηγούμενο παράδειγμα δεν είναι πλήρες. Μπορεί
να τυπώνει στην οθόνη τα πεδία ενός πίνακα αλλά δεν
τυπώνει τα ονόματα των πεδίων.
Έτσι, αν δεν ξέρουμε την δομή ενός πίνακα δεν θα
μπορέσουμε να καταλάβουμε τι παριστάνει κάθε στήλη.

•Επομένως, υπάρχει η συνάρτηση

$fields=mysql_list_fields(database,table,link)

1
9

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση πλειάδων
$fields=mysql_list_fields(database,table,link)

•Το πρώτο όρισμα είναι το όνομα της βάσεως για την


οποία ενδιαφερόμαστε.
•Το δεύτερο όρισμα είναι το όνομα του πίνακα και το
τρίτο όρισμα είναι ο περιγραφέας της βάσεως
δεδομένων. Το αποτέλεσμα
είτε θα είναι FALSE αν υπάρχει κάποιο σφάλμα (ανύπαρκτος
πίνακας)
είτε θα είναι μία λίστα με τα ονόματα των πεδίων του
πίνακα.
2
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση πλειάδων
•Για να ξέρουμε πόσα πεδία έχει ένας πίνακας
αρκεί να καλέσουμε την συνάρτηση:

$columns=mysql_num_fields($fields)
Η συνάρτηση αυτή θα επιστρέψει το πλήθος των στηλών
που υπάρχουν στην λίστα $fields.
Η λίστα $fields προήλθε από την mysql_list_fields().

•Στην συνέχεια, με την συνάρτηση


$fieldname=mysql_field_name($fields,pos)
λαμβάνουμε το όνομα του πεδίου, σαν αλφαριθμητικό
πλέον, από την λίστα fields στην θέση pos 2
1

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Ανάκτηση πλειάδων

Το αρχικό μας παράδειγμα ολοκληρωμένο τώρα και με


ονόματα πεδίων έχει ως ακολούθως:

2
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

2
3

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

2
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 11, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

2
5

Ενότητα 12 : Η χρήση της MySQL στο Ηλεκτρονικό εμπόριο (ΙΙI)


ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 12, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Σκοποί ενότητας
Η εισαγωγή νέων εγγραφών σε μία βάση δεδομένων
ή η ενημέρωση παλαιών με χρήση της MySQL.

ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 12, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,


ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Περιεχόμενα ενότητας
•Εισαγωγή πλειάδων
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 12, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή πλειάδων

Ένα άλλο σημαντικό ζήτημα που έχουμε στις βάσεις


δεδομένων και στο ηλεκτρονικό εμπόριο είναι η
εισαγωγή νέων εγγραφών σε μία βάση δεδομένων
ή η ενημέρωση παλαιών. Με την PHP κάτι τέτοιο είναι
αρκετά απλό αρκεί να γνωρίζουμε MySQL.

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 12, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή πλειάδων

Στην MySQL για να ενημερώσουμε έναν πίνακα σε μία


βάση δεδομένων γράφουμε
INSERT INTO TABLENAME(field1,field2,...)
VALUES(val1,val1,val3);

•Με τον όρο TABLENAME εννοούμε το όνομα του πίνακα.


•Field1, field2 κτλ είναι τα ονόματα των πεδίων στον
πίνακα στα οποία κάνουμε εισαγωγή.

1
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 12, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή πλειάδων

Για το παράδειγμα του πίνακα test που είδαμε στην


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

1
1

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 12, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή πλειάδων
Η πρώτη σελίδα έχει ως ακολούθως:

1
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 12, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή πλειάδων
Ουσιαστικά, η προηγούμενη σελίδα είναι μία απλή
φόρμα χωρίς κώδικα PHP. Από την σύνταξή της
καταλαβαίνουμε πως η δεύτερη σελίδα πρέπει να
ονομαστεί page2.php η οποία και παρουσιάζεται στην
συνέχεια:

1
3

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 12, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

1
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 12, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

1
5

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 12, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

1
6
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 12, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή πλειάδων
Για να κάνουμε την εισαγωγή της νέας εγγραφής στην
βάση δεδομένων δημιουργήσαμε ένα αλφαριθμητικό
στην μεταβλητή $query.
 Το αλφαριθμητικό αυτό είναι το ερώτημα που θα
εκτελέσουμε στην βάση δεδομένων.
 Παρεμβάλλουμε τις τιμές των μεταβλητών $name, $job και
$code μέσα στο αλφαριθμητικό όπως ακριβώς θα κάναμε με
την γνωστή εντολή echo.
 Έτσι, το αλφαριθμητικό που θα προκύψει αν δώσουμε σαν
τιμές Giannis, Teacher 200 είναι insert into
test(name,job,code) values('Giannis','Teacher',200)
1
7

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 12, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

…συνέχεια
 Δηλαδή είναι ακριβώς το αλφαριθμητικό που θα δίναμε στην
κονσόλα της MySQL.

 Βέβαια δεν αρκεί να φτιάξουμε το query. Θα πρέπει και να το


εκτελέσουμε με την συνάρτηση mysql_query(). Τότε και μόνον
τότε εκτελείται η εισαγωγή στην βάση δεδομένων.

 Αξίζει να προσέξουμε στο παραπάνω ερώτημα πως


περικλείσαμε τις μεταβλητές σε μονά εισαγωγικά. Αυτό έγινε
επειδή στην MySQL απαιτείται τα αλφαριθμητικά να μπαίνουν
σε μονά εισαγωγικά.

1
8
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 12, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

…συνέχεια
 Δηλαδή είναι ακριβώς το αλφαριθμητικό που θα δίναμε στην
κονσόλα της MySQL.

 Βέβαια δεν αρκεί να φτιάξουμε το query. Θα πρέπει και να το


εκτελέσουμε με την συνάρτηση mysql_query(). Τότε και μόνον
τότε εκτελείται η εισαγωγή στην βάση δεδομένων.

 Αξίζει να προσέξουμε στο παραπάνω ερώτημα πως


περικλείσαμε τις μεταβλητές σε μονά εισαγωγικά. Αυτό έγινε
επειδή στην MySQL απαιτείται τα αλφαριθμητικά να μπαίνουν
σε μονά εισαγωγικά.

1
9

Ενότητα 13 : Η χρήση της MySQL στο Ηλεκτρονικό εμπόριο (IV)


ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 13, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Σκοποί ενότητας
•Διαγραφή πλειάδων με την χρήση της PHP.
•Χειρισμός αλφαριθμητικών με συναρτήσεις της PHP.
•Αποστολή e-mail σε άλλους χρήστες στο διαδίκτυο με
την PHP.

ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ, Ενότητα 13, ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ,


ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Περιεχόμενα ενότητας
•Διαγραφή πλειάδων
•Αλφαριθμητικά
•Αποστολή e-mail
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Διαγραφή πλειάδων

•Η διαγραφή πλειάδων είναι και αυτή ερώτημα τοοποίο


εκτελείται με την χρήση της συναρτήσως
mysql_query()

•Η σύνταξη της εντολής διαγραφής είναι:


delete from tablename where field1=value1 and
field2=value2...

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή πλειάδων

Στην MySQL για να ενημερώσουμε έναν πίνακα σε μία


βάση δεδομένων γράφουμε
INSERT INTO TABLENAME(field1,field2,...)
VALUES(val1,val1,val3);

•Με τον όρο TABLENAME εννοούμε το όνομα του πίνακα.


•Field1, field2 κτλ είναι τα ονόματα των πεδίων στον
πίνακα στα οποία κάνουμε εισαγωγή.

1
0
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Εισαγωγή πλειάδων

Η επόμενη φόρμα
δέχεται ένα όνομα και μία εργασία και
τα στέλνει στην σελίδα page4.php όπου και
 διαγράφει από την γνωστή βάση test την πλειάδα με
αυτά τα στοιχεία

1
1

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

…συνέχεια

1
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Η σελίδα page4.php έχει ως εξής:

1
3

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

…συνέχεια

1
4
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

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

1
5

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

1
6
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Αποστολή e-mail
Κάτι άλλο που μπορούμε να κάνουμε με την PHP είναι να
στείλουμε e-mail σε άλλους χρήστες στο διαδίκτυο. Αυτό
είναι αρκετά σημαντικό ειδικά στην περίπτωση των
ηλεκτρονικών καταστημάτων που πιθανόν θέλουν να
ενημερώνουν τους πελάτες τους για νέα προϊόντα ή να
τους ειδοποιούν για πληρωμές κτλ.

1
7

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Αποστολή 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

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Αποστολή 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

<Τίτλος Μαθήματος> - <Τίτλος


ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Άσκηση
Φτιάξτε μία βάση δεδομένων με το όνομα accounts. Σε
αυτήν θα υπάρχουν πραγματικά ονόματα, κωδικοί
προσβάσεως και συνθηματικά.
Στην συνέχεια δημιουργήστε δύο σελίδες.
Η πρώτη σελίδα θα δέχεται ένα κωδικό προσβάσεως και ένα
συνθηματικό.
Αν ο κωδικός δεν είναι root και το συνθηματικό δεν είναι ένα
προκαθορισμένο τότε απλά θα ελέγχει στην βάση τον κωδικό που δίνεται
και αν υπάρχει και το συνθηματικό είναι σωστό θα εμφανίζει το
πραγματικό όνομα του κατόχου.
Σε διαφορετική περίπτωση αν δηλαδή το συνθηματικό είναι root και το
password είναι το σωστό θα επιτρέπει μέσω άλλης σελίδας την εισαγωγή
ενός νέου ατόμου στην βάση δεδομένων. 2
2
<Τίτλος Μαθήματος> - <Τίτλος
ΗΛΕΚΤΡΟΝΙΚΟ Ενότητα>, <ΤΜΗΜΑ>,
ΕΜΠΟΡΙΟ, ΤΕΙ ΤΜΗΜΑ
Ενότητα 13, Ανοιχτά Ακαδημαϊκά
ΗΠΕΙΡΟΥ - ΜΗΧΑΝΙΚΩΝ Μαθήματα στοΤΕ,
ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕΙ Ηπείρου
ΤΕΙ ΗΠΕΙΡΟΥ- Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου

Άσκηση
Φτιάξτε μία βάση δεδομένων με το όνομα persons. Σε
αυτήν θα υπάρχουν ονόματα, επίθετα και e-mail. Στην
συνέχεια φτιάξτε μία σελίδα στην οποία θα στέλνεται ένα
e-mail σε καθένα άτομο το οποίο περιέχει στο επίθετό
του το στοιχείο ΙΔΗΣ.

2
3

You might also like