SlideShare a Scribd company logo
1 of 74
Βάσεις Δεδομένων
με Εφαρμογές στο
Διαδίκτυο
Θεοδώρα Α. Μαγουλιώτη,
ΠΕ19
Το Περιβάλλον Εργασίας
 Σελίδες δυναμικού περιεχομένου για τον ιστό είναι οι σελίδες που το κείμενο που
περιέχουν δεν είναι στατικό αλλά αλλάζει ανάλογα με τα κλικ του χρήστη πάνω σε
διάφορα λινκς. Το περιεχόμενο των σελίδων αυτών συνήθως περιέχεται μέσα σε μια
βάση δεδομένων. Ενώ οι στατικές σελίδες μπορούν να φτιαχτούν με html οι
δυναμικές σελίδες απαιτούν μια γλώσσα προγραμματισμού για τον ιστό π.χ. php, jsp,
jsf κ.λπ. για να λειτουργήσουν.
 Το λογισμικό που απαιτείται για να φτιάξουμε και να ελέγξουμε εφαρμογές δυναμικού
περιεχομένου για τον ιστό είναι:
 ένας web-server (π.χ. Apache, Apache Tomcat),
 μια γλώσσα προγραμματισμού για διαχείριση δυναμικού περιεχομένου (π.χ. php,
java/jsp),
 μια βάση δεδομένων για να κρατά το δυναμικό περιεχόμενο (π.χ. MySQL),
 (προαιρετικά) εργαλεία διαχείρισης της βάση δεδομένων όπως π.χ.
phpmyadmin.
 Να αναφέρουμε ότι όλο το απαιτούμενο λογισμικό πρόκειται για δωρεάν λογισμικό, το
λεγόμενο Λογισμικό Ανοιχτού Κώδικα.
 Για την εγκατάσταση της υποδομής που χρειάζεται για να φτιάξουμε εφαρμογές για
τον ιστό, υπάρχουν διάφορα ολοκληρωμένα λογισμικά όπως το xampp, wamp κ.λπ.
τα οποία εγκαθιστούν μονομιάς ό,τι απαιτείται για να δημιουργήσει και να τεστάρει
κανείς ιστοσελίδες δυναμικού περιεχομένου.
XAMPP
 Το XAMPP είναι ένα πακέτο προγραμμάτων ελεύθερου
λογισμικού, λογισμικού ανοικτού κώδικα και ανεξαρτήτου
πλατφόρμας το οποίο περιέχει τον
 εξυπηρετητή ιστοσελίδων http Apache,
 την βάση δεδομένων MySQL και
 ένα διερμηνέα για κώδικα γραμμένο σε γλώσσες
προγραμματισμού PHP και Perl.
 Το XAMPP είναι ακρωνύμιο και αναφέρεται στα παρακάτω αρχικά:
 X (αναφέρεται στο «cross-platform» που σημαίνει λογισμικό ανεξάρτητο πλατφόρμας, τρέχει
σε Microsoft Windows, Linux, Solaris, and Mac OS X).
 Apache HTTP εξυπηρετητής.
 MySQL.
 PHP.
 Perl.
Εγκατάσταση XAMPP
 http://xoops.gr/modules/publisher/item.php
?itemid=12
Ξεκινώντας με την PHP – Τι θα
μάθουμε;
 Να καταλάβουμε τι είναι η PHP και πώς
δουλεύουν τα PHP scripts
 Τι χρειάζεται για να ξεκινήσουμε με την
PHP
 Να δημιουργήσουμε και να τρέξουμε ένα
απλό script
HTML – PHP
 Η HTML χρησιμοποιεί εντολές που ονομάζονται
HTML tags δίνοντας εντολές στους Web
browsers για το πώς να εμφανίζουν την κάθε
ιστοσελίδα.
 Η PHP είναι μια γλώσσα προγραμματισμού η
οποία επεκτείνει τις δυνατότητες της HTML
δίνοντας τη δυνατότητα να δημιουργήσουμε
δυναμικές ιστοσελίδες.
Πλεονεκτήματα της PHP
 Ευκολία στη χρήση
 Ανοιχτού κώδικα (Open Source)
 Υποστήριξη πολλαπλών πλατφόρμων
 Απόδοση
 Υποστήριξη Βάσεων Δεδομένων
Προσπέλαση PHP σελίδων
Ξεκινώντας με την PHP
 Για να δημιουργήσουμε και να
δημοσιεύσουμε ένα PHP script
χρειαζόμαστε:
Ένα web server με υποστήριξη PHP
Ένα υπολογιστή/πελάτη με ένα απλό text
editor και σύνδεση στο Internet
Λογισμικό FTP
Βασικά Βήματα
 Τα βασικά βήματα για τη δημιουργία και
την δημοσίευση PHP σελίδων είναι τα
εξής:
 Δημιουργία του PHP script και αποθήκευση στον
τοπικό δίσκο
 Χρήση λογισμικού FTP για την αποθήκευση του
αρχείου στον server
 Πρόσβαση στο αρχείο μέσω ενός web browser.
Δημιουργία PHP script
 Μπορούμε να χρησιμοποιήσουμε
διάφορους editors για τη δημιουργία PHP
scripts
 Τα PHP script ξεκινάνε με <?php και τελειώνουν με ?>
 Μεταξύ των δυο tags υπάρχει μια απλή εντολή
Αν υπάρχει συντακτικό λάθος
 Έστω ότι κάνουμε το ακόλουθο
συντακτικό λάθος:
<?php
print ( “A simple initial script);
?>
Σχόλια στην PHP
 Τα σχόλια μας βοηθούν σε μελλοντική
επεξεργασία.
 Οι γραμμές των σχολίων αγνοούνται όταν
εκτελούνται τα script και δεν επιβραδύνουν την
ταχύτητα εκτέλεσης.
 Τα σχόλια έχουν δυο βασικούς σκοπούς:
 Περιγράφουν την λειτουργία και το σκοπό του script
 Περιγράφουν συγκεκριμένα σημεία του κώδικα που είναι
περίπλοκα
Χρήση σχολίων
 Χρήση //
<?php
// This is a comment
?>
 Μπορεί επίσης να τοποθετηθεί στην ίδια
γραμμή με μια έκφραση:
<?php
print ("A simple initial script"); //Output a line
?>
Εναλλακτικοί τρόποι σχολίων
Η PHP παρέχει και δυο εναλλακτικούς τρόπους
σχολιασμού.
<?php
phpinfo(); # This is a built-in function
?>
 Σχολιασμός πολλαπλών γραμμών.
<?php
/*
A script that gets information about the
PHP version being used.
*/
phpinfo();
?>
Χρήση PHP Μεταβλητών
 Οι Μεταβλητές χρησιμοποιούνται για να
αποθηκεύονται και να προσπελάζονται δεδομένα
στη μνήμη του υπολογιστή.
 Το όνομα τις μεταβλητής χρησιμοποιείται μέσα
στο script για να αναφερόμαστε στα δεδομένα
του.
$cost = 4.25;
$months = 12;
Name of variable Variables new value
Θέτουμε τιμές στις Μεταβλητές
 Θέτουμε τιμές στις μεταβλητές:
$days = 3;
$newdays = 100;
$days = $newdays;
 Στο τέλος αυτών των τριών γραμμών η
$days και $newdays έχουν και οι δύο την
τιμή 100.
Επιλογή Ονομάτων Μεταβλητών
 Μπορούμε να επιλέξουμε οποιονδήποτε
χαρακτήρα για το όνομα των μεταβλητών στην
PHP, αλλά πρέπει να ισχύουν τα εξής:
 Χρήση του δολαρίου ($) ως πρώτο χαρακτήρα
 Χρήση γράμματος ή underscore (_) ως δεύτερο
χαρακτήρα
 Σημείωση: Προσπαθήστε να διαλέγετε ονόματα
που να περιγράφουν τη δουλειά που κάνει η
μεταβλητή. Π.χ. η χρήση της $counter είναι πιο
περιγραφική από την $c ή $ctr.
Χρήση μεταβλητών με την print
 Για να εμφανίσουμε τα περιεχόμενα της
μεταβλητής $x, γράφουμε την ακόλουθη εντολή:
echo ("$x");
 Το παρακάτω θα εμφανίσει “Ο Νίκος είναι 6
ετών”.
$age=6;
echo ("Ο Νίκος είναι $age ετών.");
ή
print ("Ο Νίκος είναι $age ετών.");
Ένα παράδειγμα…
1. <html>
2. <head> <title>Variable Example </title> </head>
3. <body>
4. <?php
5. $first_num = 12;
6. $second_num = 356;
7. $temp = $first_num;
8. $first_num = $second_num;
9. $second_num = $temp;
10. echo ("first_num= $first_num <br>
second_num=$second_num");
11. ?> </body> </html>
Αριθμητικοί τελεστές
 Μπορούμε να χρησιμοποιήσουμε
αριθμητικούς τελεστές όπως το (+) και το
(-) για να κάνουμε αριθμητικές πράξεις.
 Παράδειγμα
<?php
$x = 12;
$y = 14;
$z = $x + $y;
echo ("The total number of fruit is $z");
?>
Άσκηση 1
 Βρείτε τα λάθη στο παρακάτω PHP
πρόγραμμα:
<? php
print ‘How are you?’;
print ‘I’m fine.’;
??>
Λύση Άσκησης 1
 Η ετικέτα για την δήλωση της αρχής του
προγράμματος PHP θα έπρεπε να είναι <?php,
χωρίς κανένα κενό διάστημα (όπως συμβαίνει
εδώ).
 Όσον αφορά τα αλφαριθμητικά στις print
εντολές θα πρέπει να περικλείονται σε διπλά
εισαγωγικά και παρενθέσεις.
 Η ετικέτα για τη δήλωση του τέλους του
προγράμματος PHP θα έπρεπε να είναι ?> και
όχι ??>.
Άσκηση 2
 Γράψτε ένα πρόγραμμα που θα
υπολογίζει το συνολικό κόστος του
παρακάτω γεύματος: 2 γύροι σε λαδόπιτα
(2,5€ έκαστος), μια μερίδα πατάτες (2€) και δύο
αναψυκτικά (1€ το καθένα). Ο ΦΠΑ είναι 19%, ενώ το
ποσοστό του φιλοδωρήματος είναι 16%.
Λύση Άσκησης 2
<?php
$pites=2*2.5;
$patates=2;
$pota=2*1;
$sum=$pites+$patates+$pota;
$fpa=$sum*19/100;
$tip=$sum*16/100;
$total=$sum+$fpa+$tip;
print ("Total cost of the meal is: $total euros");
?>
Άσκηση 3
 Μεταβάλλεται κατάλληλα το προηγούμενο
πρόγραμμα έτσι ώστε να εκτυπώνεται
ένας συνολικός λογαριασμός. Για κάθε
αντικείμενο του γεύματος θα εκτυπώνεται
η τιμή τεμαχίου, η ποσότητα και το
συνολικό κόστος (χωρίς καμιά
προσαύξηση, με τον ΦΠΑ και με το
φιλοδώρημα).
Λύση Άσκησης 3
<html>
<?php
$pites=2*2.5;
$patates=1*2;
$pota=2*1;
$sum=$pites+$patates+$pota;
$fpa=$sum*19/100;
$tip=$sum*16/100;
$total=$sum+$fpa+$tip;
print ("2 μερίδες πίτα γύρο, ανά 2.5 euros το τεμάχιο: σύνολο $pites euros");
echo("<br>");
print ("1 μερίδα πατάτες, ανά 1 euros το τεμάχιο: σύνολο $patates euros");
echo("<br>");
print ("2 αναψυκτικά, ανά 1 euros το τεμάχιο: σύνολο $pota euros");
echo("<br>");
print("Food and Drink Total: $sum euros");
echo("<br>");
print("Total with Tax: $fpa euros");
echo("<br>");
print("Total with Tip: $tip euros");
?>
</html>
Άσκηση 4
 Γράψτε ένα πρόγραμμα που θα
αποθηκεύει το όνομά σας στην μεταβλητή
$first_name και το επίθετό σας στην
μεταβλητή $last_name. Αμέσως μετά, το
πρόγραμμα θα εκτυπώνει το πλήρες
ονοματεπώνυμο, με το μήκος του.
Λύση Άσκησης 4
<html>
<?php
$first_name='Dora';
$last_name="Magoulioti";
$total_name = $first_name . " " . $last_name;
print ("My name is '$total_name' with length: ");
print (strlen($total_name));
print (" characters.");
?>
</html>
Άσκηση 5
 Γράψτε ένα πρόγραμμα που θα
χρησιμοποιεί τον τελεστή αύξησης ++
(π.χ. i++, αυξάνεται το i κατά 1) και τον
τελεστή ανάθεσης *= (π.χ. i*=3,
πολλαπλασιάζεται το i επί 3, οπότε η νέα
τιμή του i είναι η παλιά του επί 3) για την
εκτύπωση των αριθμών από το 1 ως το 5
και των αντίστοιχων δυνάμεων του 2 (από
21
ως και 25)
.
Λύση Άσκησης 5
<html>
<?php
$i=1; $j=2;
print ("$i $j");
echo("<br>");
$i++; $j*=2;
print ("$i $j");
echo("<br>");
$i++; $j*=2;
print ("$i $j");
echo("<br>");
$i++; $j*=2;
print ("$i $j");
echo("<br>");
$i++; $j*=2;
print ("$i $j");
?>
</html>
Συνθήκες Ελέγχου
 Οι συνθήκες ελέγχου ορίζονται όπως
ακριβώς στη C.
 Παραδείγματα:
<html>
<body>
<?php
$k = 143;
if (fmod($k,2)==0)
echo $k." is even";
else
echo $k." is odd";
?>
</body>
</html>
<html>
<body>
<?php
$i=0;
while($i<=5)
{ echo "Number: ".$i."<br>";
$i++;
}
?>
</body>
</html>
<html>
<body>
<?php
for ($i=1; $i<=5; $i+
+)
{
echo "Hello World!
<br>";
}
?>
</body>
</html>
Άσκηση 6
 Bρείτε αν οι παρακάτω εκφράσεις είναι false ή
true:
 100.000 – 100 (false)
 “zero” (true)
 “false” (true)
 0 + “true” (false)
 0.000 (false)
 «0.0» (true)
 Strcmp(«false», «False») (true)
Άσκηση 7
 Bρείτε το αποτέλεσμα του παρακάτω προγράμματος:
 $age=12;
 $shoe_size=13;
 if ($age>$shoe_size)
 {
 print ("message 1. <BR>");
 }
 elseif ( ($shoe_size++) && ($age>20) )
 {
 print ("message 2. <BR>");
 }
 else
 {
 print ("message 3. <BR>");
 }
 print ("Age: $age, Shoe size: $shoe_size <BR>");
 Συζητείστε τη διαφορά να χρησιμοποιηθεί η
 elseif ( ($age>20) && ($shoe_size++) )
 αντί της
 elseif ( ($shoe_size++) && ($age>20) )
Άσκηση 8
 Χρησιμοποιήστε την εντολή while() για να
εμφανίσετε τις θερμοκρασίες σε βαθμούς
Celcius και Fahrenheit από τους -50 ως και
τους 50 βαθμούς Fahrenheit (ανά 5).
Σημείωση: Για την μετατροπή από βαθμούς
Fahrenheit θα πρέπει να αφαιρέσουμε το 32
από την αρχική μας θερμοκρασία, να
πολλαπλασιάσουμε με το 5 και να διαιρέσουμε
με το 9.
Λύση Άσκησης 8
<html>
<?php
$fahr=-50;
$stop_fahr=50;
print ("<table>");
print ("<tr><th>Fahrenheit</th><th>Celcius</th></tr>");
while ($fahr <= $stop_fahr)
{
$celcius = ($fahr - 32) * 5 / 9;
print ("<tr><th>$fahr</th><th>$celcius</th></tr>");
$fahr += 5;
}
print ("<table>");
?>
</html>
Άσκηση 9
 Ξαναγράψτε τη λύση της άσκησης 7,
χρησιμοποιώντας όμως την εντολή for().
Λύση Άσκησης 9
<html>
<?php
print ("<table>");
print ("<tr><th>Fahrenheit</th><th>Celcius</th></tr>");
for ($fahr = -50; $fahr <= 50; $fahr+=5)
{
$celcius = ($fahr - 32) * 5 / 9;
print ("<tr><th>$fahr</th><th>$celcius</th></tr>");
}
print ("<table>");
?>
</html>
Πίνακες – Arrays (1)
//Πίνακας με όνομα $vegetables και με αλφαριθμητικά κλειδιά
$vegetables[‘corn’] = ‘yellow’;
$vegetables[‘beet’] = ‘red’;
$vegetables[‘carrot’] = ‘orange’;
//Πίνακας με όνομα $dinner και με αριθμητικά κλειδιά
$dinner[0] = ‘Sweet corn and Asparagus’;
$dinner[1] = ‘Lemon Chicken’;
$dinner[2] = ‘Braised Bamboo Fungus’;
//Πίνακας με όνομα $computers και με αλφαριθμητικά και αριθμητικά
κλειδιά
$computers[‘trs-80’] = ‘Radio Shack’;
$computers[2600] = ‘Atari’;
$computers[‘Adam’] = ‘Coleco’;
Πίνακες – Arrays (2)
Εναλλακτικά, μπορούμε να χρησιμοποιήσουμε τη
συνάρτηση array
$vegetables = array(“corn” => “yellow”, “beet” => “red”,
“carrot” => “orange”);
$dinner = array(0 => “Sweet corn and Asparagus”, 1 =>
“Lemon Chicken”, 2 => “Braised Bamboo Fungus”);
$computers = array(“trs-80” => “Radio Shack”, 2600 =
“Atari”, “Adam” = “Coleco”);
Λύση Άσκησης 10 (1)
Σύμφωνα με τις τελευταίες στατιστικές (απογραφή του 2000), οι 10 μεγαλύτερες
σε πληθυσμό πόλεις των Η.Π.Α. είναι οι παρακάτω:
Πόλη Πολιτεία (αρχικά, στα αγγλικά) Πληθυσμός
Νέα Υόρκη (New York) Νέα Υόρκη (NY) 8.008.278
Λος Άντζελες (Los Angeles) Καλιφόρνια (CA) 3.694.820
Σικάγο (Chicago) Ιλινόϊς (IL) 2.896.016
Χιούστον (Houston) Τέξας (TX) 1.953.631
Φιλαδέλφεια (Philadelphia) Πενσιλβάνια (PA) 1.517.550
Φοίνιξ (Phoenix) Αριζόνα (AZ) 1.321.045
Σαν Ντιέγκο (San Diego) Καλιφόρνια (CA) 1.223.400
Ντάλας (Dallas) Τέξας (TX) 1.188.580
Σαν Αντόνιο (San Antonio) Τέξας (TX) 1.144.646
Ντιτρόιτ (Detroit) Μισιγκαν (MI) 951.270
Λύση Άσκησης 10 (2)
Γράψτε ένα πρόγραμμα σε PHP που θα ορίζει έναν πίνακα που θα περιέχει αυτά τα στοιχεία και
θα τον εκτυπώνει σε μορφή HTML, μαζί με το συνολικό πληθυσμό των 10 πόλεων.
<html>
<?php
$population = array(“New York, NY” => 8008278, “Los Angeles, CA” => 3694820,
“Chicago, IL” => 2896016, “Houston, TX” => 1953631, “Philadelphia, PA” => 1517550,
“Phoenix, AZ” => 1321045, “San Diego, CA” => 1223400, “Dallas, TX” => 1188580, “San
Antonio, TX” => 1144646, “Detroit, MI” => 951270);
$total_population = 0;
print “<table><tr><th>City</th><th>Population</th></tr>n”;
foreach ($population as $city => $people)
{
$ total_population += $people;
print “<tr><td>$city</td><td>$people</td></tr>n”;
}
print “<tr><td>Total</td><td>$total_population</td></tr>n”;
print “</table>n”
?>
</html>
Συναρτήσεις ή Μέθοδοι (1)
Είναι ένα μικρό σύνολο εντολών που μπορούμε να τις χρησιμοποιήσουμε ως μία μόνο εντολή, σε ένα ή και περισσότερα
σημεία του προγράμματός μας. Οι συναρτήσεις είναι:
 οι built-in, δηλαδή έχουν κατασκευαστεί από τους ανθρώπους που έχουν αναπτύξει την php,
 δικές μας συναρτήσεις.
ΠΑΡΑΔΕΙΓΜΑ (1)
<?php
page_header();
print "Καλωσόρισες χρήστη Δώρα!";
page_footer();
function page_header()
{
print '<html><head><title>Καλωσόρισες στο site μου</title></head>';
print '<body bgcolor=rgb(0,0,0)>';
}
function page_footer()
{
print '<hr>Σ' ευχαριστώ για την επίσκεψή σου... Σε περιμένω ξανά...';
print '</body></html>';
}
?>
Συνάρτηση χρήστη χωρίς
ορίσματα
Συνάρτηση χρήστη χωρίς
ορίσματα
built-in
συνάρτηση
με 3
ορίσματα
Συναρτήσεις ή Μέθοδοι (2)
ΠΑΡΑΔΕΙΓΜΑ (2)
<?php
page_header(0, 0, 255);
print "Καλωσόρισες χρήστη Δώρα!";
page_footer();
function page_header($r, $g, $b)
{
print '<html><head><title>Καλωσόρισες στο site μου</title></head>';
print '<body bgcolor=rgb($r,$g,$b)>';
}
function page_footer()
{
print '<hr>Σ' ευχαριστώ για την επίσκεψή σου... Σε περιμένω ξανά...';
print '</body></html>';
}
?>
Συνάρτηση χρήστη με 3
ορίσματα (ή παραμέτρους)
Συνάρτηση
χρήστη
χωρίς
ορίσματα
built-in συνάρτηση με
3 ορίσματα
Συναρτήσεις ή Μέθοδοι (3)
ΠΑΡΑΔΕΙΓΜΑ (3)
<?php
page_header('Καλωσόρισες στο υπέροχο site μου!!!‘,0, 0, 255);
print "Καλωσόρισες χρήστη Δώρα!";
page_footer();
function page_header($ht,$r, $g, $b)
{
print '<html><head><title>’.$ht.’</title></head>';
print '<body bgcolor=rgb($r,$g,$b)>';
}
function page_footer()
{
print '<hr>Σ' ευχαριστώ για την επίσκεψή σου... Σε περιμένω ξανά...';
print '</body></html>';
}
?>
Συνάρτηση χρήστη με 4
ορίσματα (ή παραμέτρους)
Συνάρτηση
χρήστη
χωρίς
ορίσματα
built-in συνάρτηση με
3 ορίσματα
Συναρτήσεις ή Μέθοδοι (4)
ΠΑΡΑΔΕΙΓΜΑ (4)
<?php
$total = restaurant_check(15.22, 8.25, 15);
print 'Έχω 20 ευρώ, οφείλω για το γεύμα μου ' . round($total,2) . ' ευρώ, οπότε θα πληρώσω με ... ';
if ($total > 20)
print "κάρτα.";
else
print "μετρητά.";
function restaurant_check($meal, $tax, $tip)
{
$tax_amount = $meal * ($tax/100);
$tip_amount = $meal * ($tip/100);
$total_amount = $meal + $tax_amount + $tip_amount;
return $total_amount;
}
?>
Συνάρτηση που
επιστρέφει 1 τιμή
Συναρτήσεις ή Μέθοδοι (5)
ΠΑΡΑΔΕΙΓΜΑ (5)
<?php
$totals = restaurant_check(15.22, 8.25, 15);
print 'Έχω 20 ευρώ, οφείλω για το γεύμα μου ' . round($totals[1],2) . ' ευρώ, οπότε θα πληρώσω με ... ';
if ($totals[1] > 20)
print "κάρτα.<br>";
else
print "μετρητά.<br>";
print "Το φιλοδώρημα μου κοστίζει " . ($totals[1]-$totals[0]);
function restaurant_check($meal, $tax, $tip)
{
$tax_amount = $meal * ($tax/100);
$tip_amount = $meal * ($tip/100);
$total_notip = $meal + $tax_amount;
$total_tip = $meal + $tax_amount + $tip_amount;
return array($total_notip, $total_tip);
}
?>
Συνάρτηση που
επιστρέφει 2
τιμές
Κατασκευάζοντας Φόρμες Ιστοχώρου (1)
ΠΑΡΑΔΕΙΓΜΑ (1)
<form method="post" action="
<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);
#$_SERVER: Ο πίνακας αυτός περιέχει μια σειρά πληροφοριών σχετικά με τον server και
# την αίτηση που είναι τη διαδεδομένη στιγμή υπό επεξεργασία.
#PHP_SELF: Περιέχει την πλήρη τοποθεσία του προγράμματος.
?>
">
Name: <input type= "text" name= "my_name">
<input type= "submit" name= "submit">
</form>
<?php
print "<br>";
print "$_SERVER[SERVER_NAME]";
#SERVER_NAME: Το όνομα του site στο οποίο εκτελείται ο interpreter της PHP.
print "<br>";
print "$_SERVER[DOCUMENT_ROOT]";
#DOCUMENT_ROOT: Ο φάκελος (στον υπολογισή του server) στον οποίο βρίσκονται
# όλα τα αρχεία του site στα οποία έχουμε πρόσβαση.
print "<br>";
Κατασκευάζοντας Φόρμες Ιστοχώρου (1)
… συνέχεια
ΠΑΡΑΔΕΙΓΜΑ (1 … συνέχεια)
print "$_SERVER[REMOTE_ADDR]";
#REMOTE_ADDR: Η διεύθυνση IP του χρήστη που κάνει την αίτηση στον web server.
print "<br>";
print "$_SERVER[HTTP_USER_AGENT]";
#HTTP_USER_AGENT: Ο web browser στον οποίο εμφανίζεται η ιστοσελίδα που περιέχει τη
φόρμα.
print "<br>";
print "<br>";
print "<br>";
print "Υου are entered: ";
if (array_key_exists('my_name', $_POST))
echo $_POST['my_name'];
?>
Κατασκευάζοντας Φόρμες Ιστοχώρου (2)
ΠΑΡΑΔΕΙΓΜΑ (2)
<?php
if (array_key_exists('name', $_POST))
$name=$_POST['name'];
else
$name = "";
?>
<h2>PHP Form Validation Example</h2>
<p>* required field.</p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name" value="<?php echo $name; ?>">
<input type="submit" name="submit" value="Submit">
</form>
<?php
echo "<h2>Your Input:</h2>";
if (array_key_exists('name', $_POST))
{
echo $_POST['name'];
$name=$_POST['name'];
}
?>
Κατασκευάζοντας Φόρμες Ιστοχώρου (3)
Άσκηση 11
Επεκτείνετε το παράδειγμα (2) ώστε εκτός από το name, επιπλέον
απαιτούμενα στοιχεία να είναι το Last_name, το email, το address και το
phone_number.
Άσκηση 12
Επεκτείνετε την άσκηση 11 ώστε το phone_number να δέχεται
αποκλειστικά 10 ψηφία.
Κατασκευάζοντας Φόρμες Ιστοχώρου με
ΛΙΣΤΕΣ – μονή επιλογή (1)
<?php
if (array_key_exists('category', $_POST))
$category=$_POST['category'];
else
$category = "";
?>
<h2>PHP Form Example - Lists</h2>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<select name="category" value="<?php echo $category; ?>">
<option>Διάλεξε κατηγορία...</option>
<option>Ορεκτικά</option>
<option>Σούπες</option>
<option>Της ώρας</option>
</select>
<input type="submit" name="submit">
</form>
<?php
echo "<h2>Έχεις εισάγει:</h2>";
if (array_key_exists('category', $_POST))
{
echo $_POST['category'];
$category=$_POST['category'];
}
?>
Κατασκευάζοντας Φόρμες Ιστοχώρου με
ΛΙΣΤΕΣ – πολλαπλή επιλογή (2)
<?php
if(isset($_POST['category']))
{
$choices = $_POST['category'];
if (isset($choices))
$nchoices =
count($choices);
}
$es = 0;
?>
<form method="post" action="<?php echo
htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Διάλεξε τις κατηγορίες που θέλεις (κράτα το Cntrl για πολλαπλές
επιλογές):<br>
<select multiple="multiple" name="category[]">
<?php
print "<option>Ορεκτικά</option>";
print "<option>Σούπες</option>";
print "<option>Της ώρας</option>";
print "<option>Μαγειρευτά</option>";
print "<option>Ζυμαρικά</option>";
?>
</select>
<input type="submit" name="submit">
</form>
<?php
If (isset($_POST['category']))
{
$choices = $_POST['category'];
if (isset($choices))
{
$nchoices = count($choices);
print "Έχεις επιλέξει $nchoices κατηγορίες, ως
εξής:";
echo("</p>");
for($i=0; $i < $nchoices-1; $i++)
{
echo($choices[$i] . ", ");
}
echo($choices[$i] . ".");
echo("</p>");
}
Else
echo("Δεν έχεις επιλέξει καμία κατηγορία...");
?>
The isset () function is used to
check whether a variable is set or not.
Κατασκευάζοντας Φόρμες Ιστοχώρου με
ΛΙΣΤΕΣ – πολλαπλές επιλογές (3)
<?php if (isset($_POST['category'])) {
$choices = $_POST['category'];
if (isset($choices)) $nchoices = count($choices); } $es = 0; ?>
<form method="post" action="<?php echo
htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Διάλεξε τις κατηγορίες που θέλεις (κράτα το Cntrl για πολλαπλές
επιλογές):<br><table><tr><td>
<select multiple="multiple" name="category[]"> <?php $apa = 0;
for ($i=0; $i < $nchoices; $i++)
if ($choices[$i]=="Ορεκτικά") $apa = 1;
if ($apa==1) {
print "<option selected>Ορεκτικά</option>";
$eo = 1; } else {
print "<option>Ορεκτικά</option>";
$eo = 0; } $apa = 0;
for ($i=0; $i < $nchoices; $i++)
if ($choices[$i]=="Σούπες") $apa = 1;
if ($apa==1) {
print "<option selected>Σούπες</option>";
$es = 1; } else {
print "<option>Σούπες</option>";
$es = 0; } $apa = 0;
for($i=0; $i < $nchoices; $i++)
if ($choices[$i]=="Της ώρας") $apa = 1;
if ($apa==1)
print "<option selected>Της ώρας</option>";
else print "<option>Της ώρας</option>"; $apa = 0;
for($i=0; $i < $nchoices; $i++)
if ($choices[$i]=="Μαγειρευτά") $apa = 1;
if ($apa==1) print "<option selected>Μαγειρευτά</option>";
else print "<option>Μαγειρευτά</option>"; $apa = 0;
for($i=0; $i < $nchoices; $i++)
if ($choices[$i]=="Ζυμαρικά") $apa = 1;
if ($apa==1) print "<option selected>Ζυμαρικά</option>";
else print "<option>Ζυμαρικά</option>"; ?> </select>
<input type="submit" name="submit"> </td> <?php
if ($eo == 1)
print "<td>Ορεκτικά <br>
<select multiple="multiple" name = "or[]">
<option>Κολοκυθοκεφτέδες</option>
<option>Μανιτάρια Αλά Κρεμ</option>
<option>Μελιντζάνες στο φούρνο με
τυριά</option> </select> </td>"; ?>
<?php
if ($es == 1)
print "<td>Σούπες <br>
<select multiple="multiple" name = "so[]">
<option>Μανιταρόσουπα</option>
<option>Κολοκυθόσουπα</option>
<option>Ντοματόσουπα</option> </select> </td>";?>
</tr></table>
</form>
<?php
if(isset($_POST['category']))
{
$choices = $_POST['category'];
if (isset($choices))
{
$nchoices = count($choices);
print "Έχεις επιλέξει $nchoices κατγηγορίες, ως εξής:";
echo("</p>");
for($i=0; $i < $nchoices; $i++)
{
echo($choices[$i] . " ");
}
echo("</p>");
}
else
echo("Δεν έχεις επιλέξει καμία κατηγορία...");
}
Κατασκευάζοντας Φόρμες Ιστοχώρου με
ΛΙΣΤΕΣ – radio buttons (1)
Κατασκευάζοντας Φόρμες Ιστοχώρου με
ΛΙΣΤΕΣ – radio buttons (2)
<?php
if (array_key_exists('name', $_POST))
$name=$_POST['name'];
else
$name = "";
if (array_key_exists('gender', $_POST))
$gender=$_POST['gender'];
else
$gender = "";
?>
<h1><font size = 6 color=#DD0055>PHP Form Validation
Example</font></h1>
<font size = 4 color=#DD0055>*required field.</font><br>
<form method="post" action="<?php echo
htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name" value="<?php echo
$name;?>"> <font size = 4 color=#DD0055>*</font><br><br>
E-mail: <input type="text" name="email"> <font size = 4
color=#DD0055>*</font><br> <br>
Website: <input type="text" name="website"> <br> <br>
Comment: <textarea name="comment" rows="5"
cols="40"></textarea> <br><br>
Gender:
<input type="radio" name="gender" <?php if
($gender=="female") echo "checked";?>
value="female">Female
<input type="radio" name="gender" <?php if
($gender=="male") echo "checked";?>
value="male">Male
<font size = 4 color=#DD0055>*</font><br><br>
<input type="submit" name="submit"> <br>
<h1><font size = 6 color=#DD0055>Your
Input:</font></h1>
</form>
<?php
if (array_key_exists('name', $_POST)
and strlen($_POST['name'])<>0)
{
echo "Name: ".$_POST['name']."<br>";
$name=$_POST['name'];
}
if (array_key_exists('gender', $_POST))
{
$gender=$_POST['gender'];
print "Gender: $gender<br>";
}
print "<br><br>Η είσοδος στα πλαίσια
με τον <font size = 4 color=#DD0055>*</font> είναι
απαραίτητη!";
?>
Σύνδεση PHP με MySQL (1)
Για να δημιουργήσετε μία βάση δεδομένων, πρέπει πρώτα να συνδεθείτε με το
διακομιστή της MySQL. Αυτό γίνεται με την ακόλουθη εντολή:
mysqli_connect(servername,username,password);
όπου servername αντιστοιχεί στη διεύθυνση του διακομιστή,
username το όνομα του χρήστη που έχει δικαίωμα πρόσβασης σε αυτόν
και password ο μυστικός κωδικός του χρήστη.
Π.χ, αν η MySQL έχει εγκατασταθεί τοπικά στον υπολογιστή σας και ο
administrator της MySQL σας έχει ανοίξει λογαριασμό με username "username"
και password "password" τότε ο ακόλουθος κώδικας PHP σας συνδέει με την
MySQL.
Στην περίπτωση που η σύνδεση αποτύχει, τότε η PHP μέσω της εντολής εντολής
mysqli_error() επιστρέφει ένα μήνυμα λάθους.
Σύνδεση PHP με MySQL (2)
<html>
<body>
<?php
$con = mysqli_connect("localhost","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
?>
</body>
</html>
The die() function
prints a message and
exits the current
script.
This function is an
alias of the exit()
function.
Δημιουργία Βάσης Δεδομένων
Αφού έχετε συνδεθεί με το διακομιστή της βάσης μπορείτε να δημιουργήσετε μία
νέα βάση δεδομένων με την εντολή:
mysqli_query("CREATE DATABASE my_db",$con);
Έτσι ο κώδικας σύνδεσης και δημιουργίας νέας βάσης γίνεται:
<html><body>
<?php
$con = mysqli_connect("localhost","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
if (mysqli_query("CREATE DATABASE my_db",$con))
{
echo "Database created";
}
else
{
echo "Error creating database: ".mysql_error();
}
mysqli_close($con); //Τερματισμός σύνδεσης με τη ΒΔ
?>
</body></html>
Η εντολή mysql_query() της php
είναι η πιο σημαντική από τις
εντολές που αφορούν στην
επικοινωνία με τη MySQL και
χρησιμοποιείται όποτε θέλουμε να
κάνουμε μία ερώτηση στη βάση.
Ως είσοδο δέχεται ένα SQL query
και στην έξοδο είτε επιστρέφει το
αποτέλεσμα του query σε ένα
πίνακα, είτε επιστρέφει ότι
εκτελέστηκε επιτυχώς.
Δημιουργία Πίνακα
// sql to create table
$sql = "CREATE TABLE phone_book (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
lastname VARCHAR(30) NOT NULL,
firstname VARCHAR(30) NOT NULL,
address VARCHAR(50),
phone VARCHAR(10) NOT NULL
)";
if (mysqli_query($conn, $sql))
{
echo "Table phone_book created successfully";
}
else
{
echo "Error creating table: " . mysqli_error($conn);
}
Εισαγωγή Δεδομένων
Η εισαγωγή δεδομένων σε έναν πίνακα που έχουμε ήδη δημιουργήσει γίνεται με το
ακόλουθο query της SQL:
INSERT INTO table_name (column1, column2, ..., columnN) VALUES (value1, value2,... ,valueN )
// insert data in table
$sql = "INSERT INTO phone_book (lastName, firstName, adress, phone)
VALUES ('Παναγιώτου', 'Κώστας', 'Κ. Παλαμά 34, Καβάλα', '26510 11111')";
if (mysql_query($conn, $sql))
{
echo "Insert Data in table phone_book has done successfully";
}
else
{
echo "Error inserting data: " . mysqli_error($conn);
}
Εισάγετε 5 διαφορετικές εγγραφές.
Εξαγωγή Δεδομένων
// select data from table
$sql = "SELECT * FROM phone_book";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
echo "<table><tr><th>ID</th><th>Name</th></tr>";
// output data of each row
while($row = $result->fetch_assoc())
{
echo<tr><td>".$row["id"]."</td><td>".$row["firstname"]."".$row["lastname"]."</td></tr>";
}
echo "</table>";
}
else
{
echo "0 results";
}
Δημιουργία Νέας ΒΔ με το όνομα
menu_db
<html>
<body>
<?php
$con = mysql_connect("localhost","root");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
if (mysql_query("CREATE DATABASE menu_db",$con))
{
echo "Database created";
}
else
{
echo "Error creating database: ".mysql_error();
}
mysql_close($con);
?>
</body>
</html>
Δημιουργία Πίνακα με το όνομα Dishes
και πεδία: dish_id, dish_name, price, is_spicy
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "menu_db";
// Create connection
$conn = mysqli_connect($servername, $username,
$password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " .
mysqli_connect_error());
}
// sql to create table
$sql = "CREATE TABLE DISHES (
dish_id INT(6) UNSIGNED
AUTO_INCREMENT PRIMARY KEY,
dish_name VARCHAR(50) NOT NULL,
price DECIMAL(4,2) NOT NULL,
is_spicy INT NOT NULL
)";
if (mysqli_query($conn, $sql))
{
echo "Table
DISHES created successfully";
}
else
{
echo "Error creating table: " .
mysqli_error($conn);
}
mysqli_close($conn);
?>
Εισαγωγή Τιμών (1)
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "menu_db";
// Create connection
$conn = mysqli_connect($servername, $username,
$password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " .
mysqli_connect_error());
}
// insert data 1 in table
$sql = "INSERT INTO DISHES (dish_name, price,
is_spicy)
VALUES ('Σπαγγέτι Καρμπονάρα', '4.56', '0')";
if (mysqli_query($conn, $sql))
{
echo "Insert Data 1 in table DISHES has
done successfully";
}
else
{
echo "Error inserting data 1: " .
mysqli_error($conn);
}
// insert data 2 in table
$sql = "INSERT INTO DISHES
(dish_name, price, is_spicy)
VALUES ('Σπαγγέτι Amarticiana',
'5.60', '1')";
if (mysqli_query($conn, $sql))
{
echo "Insert Data 2 in table
DISHES has done successfully";
}
else
{
echo "Error inserting data 2:
" . mysqli_error($conn);
}
// insert data 3 in table
$sql = "INSERT INTO DISHES
(dish_name, price, is_spicy)
VALUES ('Ψητό Κοτόπουλο με
Μπαχαρικά', '5.95', '1')";
if (mysqli_query($conn, $sql))
{
echo "Insert Data 3 in table
DISHES has done successfully";
}
else
{
echo "Error inserting data 3:
" . mysqli_error($conn);
}
Εισαγωγή Τιμών (2)
// insert data 4 in table
$sql = "INSERT INTO DISHES (dish_name, price, is_spicy) VALUES ('Πατσίτσιο', '3.70', '0')";
if (mysqli_query($conn, $sql))
{
echo "Insert Data 4 in table DISHES has done successfully";
}
else
{
echo "Error inserting data 4: " . mysqli_error($conn);
}
// insert data 5 in table
$sql = "INSERT INTO DISHES (dish_name, price, is_spicy) VALUES ('Γιαουρτλού', '6.50', '1')";
if (mysqli_query($conn, $sql))
{
echo "Insert Data 5 in table DISHES has done successfully";
}
else
{
echo "Error inserting data 5: " . mysqli_error($conn);
}
// insert data 6 in table
$sql = "INSERT INTO DISHES (dish_name, price, is_spicy) VALUES ('Πίτσα Μαργαρίτα', '3.50', '0')";
if (mysqli_query($conn, $sql))
{
echo "Insert Data 6 in table DISHES has done successfully";
}
else
{
echo "Error inserting data 6: " . mysqli_error($conn);
}
mysqli_close($conn);
?>
Εξαγωγή Τιμών<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "menu_db";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// select data from table
$sql = "SELECT * FROM DISHES ORDER BY price";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
echo "<table><tr><th>ID</th><th>Dish Name</th><th>Price</th><th>Is Spicy</th></tr>";
// output data of each row
while($row = $result->fetch_assoc())
{
echo "<tr><td>".$row["dish_id"]."</td><td>".$row["dish_name"]."</td><td>".
$row["price"]."</td><td>".$row["is_spicy"]."</td></tr>";
}
echo "</table>";
}
else
{
echo "0 results";
}
mysqli_close($conn);
?>
κι άλλη Εξαγωγή Τιμών (1)
Γράψτε ένα πρόγραμμα σε PHP που θα εμφανίζει μια φόρμα
στην οποία θα πρέπει να εισάγουμε την τιμή ενός φαγητού.
Όταν ο χρήστης αποστείλει τα δεδομένα της φόρμας, θα
εμφανίζονται όλα τα φαγητά (όνομα και τιμή) των οποίων η
τιμή είναι μικρότερη από την τιμή που είσάγαμε στην φόρμα.
κι άλλη Εξαγωγή Τιμών (2)
<?php
Static $pri;
if (array_key_exists('pr', $_POST))
{
$pri=$_POST['pr'];
}
else $pri = "";
?>
<HTML>
<HEAD>
<TITLE>Φόρμα </TITLE>
</HEAD>
<BODY>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<P><STRONG>Τιμή Aνω Ορίου:</STRONG><BR>
<INPUT TYPE="NUMBER" NAME="pr" STEP="ANY" VALUE = "<?php echo htmlspecialchars($pri); ?>" </P>
<P><INPUT TYPE="SUBMIT" VALUE="SEND"></P>
</FORM>
<?php
if ( array_key_exists('pr', $_POST) )
{
$pri=$_POST['pr'];
//echo "<p>Your price is:<br><b>$pri</b></p>";
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "menu_db";
κι άλλη Εξαγωγή Τιμών (3)
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// select data from table
$sql = "SELECT * FROM DISHES WHERE price < ".$pri;
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
echo "<table><tr><th>ID</th><th>Dish Name</th><th>Price</th><th>Is
Spicy</th></tr>";
// output data of each row
while($row = $result->fetch_assoc())
{
echo "<tr><td>".$row["dish_id"]."</td><td>".
$row["dish_name"]."</td><td>".$row["price"]."</td><td>".$row["is_spicy"]."</td></tr>";
}
echo "</table>";
}
else
{
echo "0 results";
}
mysqli_close($conn);
}
?>
</BODY>
</HTML>
κι άλλη, κι άλλη Εξαγωγή Τιμών (1)
Γράψτε ένα πρόγραμμα που θα εμφανίζει μια φόρμα με ένα
combo box που θα περιέχει τα ονόματα των φαγητών (τα
ονόματα θα προέρχονται από τη ΔΒ). Όταν ο χρήστης
αποστείλει τα δεδομένα της φόρμας, θα πρέπει να
εμφανίζονται όλες οι πληροφορίες που αφορούν το
συγκεκριμένο φαγητό (όλα τα πεδία του πίνακα dishes).
κι άλλη, κι άλλη Εξαγωγή Τιμών (2)
<?php
Static $dishn;
if (array_key_exists('dishname', $_POST)) $dishn=$_POST['dishname'];
else $dishn = "";
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "menu_db";
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// select data from table
$sql = "SELECT * FROM DISHES";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
// output data of each row
while($row = $result->fetch_assoc())
{
$dish_names[] = $row["dish_name"];
}
echo "</table>";
} else {
echo "0 results";
}
/*foreach ($dish_names as $d)
{
print ("$d<br>");
}*/
?>
κι άλλη, κι άλλη Εξαγωγή Τιμών (3)
<h2>PHP Form Example - Lists vs DB Content</h2>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<select name="dishname" VALUE = "<?php echo $dishn; ?>">
<option>Διάλεξε κατηγορία...</option>
<?php
foreach ($dish_names as $d)
{
if ($dishn == $d)
print "<option selected>".$d."</option>";
else
print "<option>".$d."</option>";
}
?>
</select>
<input type="submit" name="submit">
</form>
<?php
echo "<h2>Έχεις επιλέξει:</h2>";
if (array_key_exists('dishname', $_POST))
{
$dishn=$_POST['dishname'];
// echo $dishn;
$sql = "SELECT * FROM DISHES where dish_name LIKE '".$dishn."'";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
echo "<table><tr><th>ID</th><th>Dish Name</th><th>Price</th><th>Is
Spicy</th></tr>";
κι άλλη, κι άλλη Εξαγωγή Τιμών (4)
// output data of each row
while($row = $result->fetch_assoc())
{
echo "<tr><td>".$row["dish_id"]."</td><td>".
$row["dish_name"]."</td><td>".$row["price"]."</td><td>".$row["is_spicy"]."</td></tr>";
}
echo "</table>";
}
}
mysqli_close($conn);
?>

More Related Content

Viewers also liked

παρουσίαση Sxoliki bia v3
παρουσίαση Sxoliki bia v3παρουσίαση Sxoliki bia v3
παρουσίαση Sxoliki bia v3Dora Magoulioti
 
Τεχνικές αναζήτησης στο Διαδίκτυο
Τεχνικές αναζήτησης στο Διαδίκτυο Τεχνικές αναζήτησης στο Διαδίκτυο
Τεχνικές αναζήτησης στο Διαδίκτυο kiriakimitsou
 
Internet με ασκήσεις
Internet με ασκήσειςInternet με ασκήσεις
Internet με ασκήσειςpanton66
 
εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)
εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)
εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)Theodoros Douvlis
 
Moving from Applications to Apps
Moving from Applications to AppsMoving from Applications to Apps
Moving from Applications to AppsIsidoros Sideridis
 
Tryfonas Kazantzis ecdl core module 2 (windows Vista) - Ελληνικά (Greek)
Tryfonas Kazantzis ecdl core module 2 (windows Vista) - Ελληνικά (Greek)Tryfonas Kazantzis ecdl core module 2 (windows Vista) - Ελληνικά (Greek)
Tryfonas Kazantzis ecdl core module 2 (windows Vista) - Ελληνικά (Greek)Tryfonas Kazantzis
 
Tryfonas Kazantzis - ECDL Core - Επεξεργασία Κειμένου - Microsoft Word 2007 -...
Tryfonas Kazantzis - ECDL Core - Επεξεργασία Κειμένου - Microsoft Word 2007 -...Tryfonas Kazantzis - ECDL Core - Επεξεργασία Κειμένου - Microsoft Word 2007 -...
Tryfonas Kazantzis - ECDL Core - Επεξεργασία Κειμένου - Microsoft Word 2007 -...Tryfonas Kazantzis
 
Big picture of electronics and instrumentation engineering
Big picture of electronics and instrumentation engineeringBig picture of electronics and instrumentation engineering
Big picture of electronics and instrumentation engineeringRMK ENGINEERING COLLEGE, CHENNAI
 
Process Instrumentation & Control
Process Instrumentation & ControlProcess Instrumentation & Control
Process Instrumentation & ControlZin Eddine Dadach
 
1ο Επαναληπτικό στα Μαθηματικά, Δ΄τάξη Κεφ. 1 - 7
1ο Επαναληπτικό στα Μαθηματικά, Δ΄τάξη Κεφ. 1 - 71ο Επαναληπτικό στα Μαθηματικά, Δ΄τάξη Κεφ. 1 - 7
1ο Επαναληπτικό στα Μαθηματικά, Δ΄τάξη Κεφ. 1 - 7Ηλιάδης Ηλίας
 
2ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 8 - 14
2ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 8 - 142ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 8 - 14
2ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 8 - 14Ηλιάδης Ηλίας
 
Επαναληπτικό μάθημα Ιστορίας 1ης Ενότητας: "Γεωμετρικά χρόνια" - Κεφ. 1 - ...
Επαναληπτικό μάθημα  Ιστορίας  1ης Ενότητας: "Γεωμετρικά χρόνια" -  Κεφ. 1 - ...Επαναληπτικό μάθημα  Ιστορίας  1ης Ενότητας: "Γεωμετρικά χρόνια" -  Κεφ. 1 - ...
Επαναληπτικό μάθημα Ιστορίας 1ης Ενότητας: "Γεωμετρικά χρόνια" - Κεφ. 1 - ...Ηλιάδης Ηλίας
 
Ιστορία Δ΄, Αρχαϊκά χρόνια, 2ο Επαναληπτικό Ιστορίας - Χρυσός αιώνας
Ιστορία Δ΄, Αρχαϊκά χρόνια, 2ο Επαναληπτικό Ιστορίας - Χρυσός αιώναςΙστορία Δ΄, Αρχαϊκά χρόνια, 2ο Επαναληπτικό Ιστορίας - Χρυσός αιώνας
Ιστορία Δ΄, Αρχαϊκά χρόνια, 2ο Επαναληπτικό Ιστορίας - Χρυσός αιώναςΗλιάδης Ηλίας
 
Ιστορία Δ΄, Αρχαϊκά χρόνια 5ο Επαναληπτικό Ιστορίας - Η Μακεδονία
Ιστορία Δ΄, Αρχαϊκά χρόνια 5ο Επαναληπτικό Ιστορίας - Η ΜακεδονίαΙστορία Δ΄, Αρχαϊκά χρόνια 5ο Επαναληπτικό Ιστορίας - Η Μακεδονία
Ιστορία Δ΄, Αρχαϊκά χρόνια 5ο Επαναληπτικό Ιστορίας - Η ΜακεδονίαΗλιάδης Ηλίας
 
5ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 27 - 34
5ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 27 - 345ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 27 - 34
5ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 27 - 34Ηλιάδης Ηλίας
 
Basics Of Instrumentation
Basics Of InstrumentationBasics Of Instrumentation
Basics Of InstrumentationVinoth Ganesh
 
4ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 21 - 26
4ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 21 - 264ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 21 - 26
4ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 21 - 26Ηλιάδης Ηλίας
 

Viewers also liked (20)

Magoulioti et all
Magoulioti et allMagoulioti et all
Magoulioti et all
 
παρουσίαση Sxoliki bia v3
παρουσίαση Sxoliki bia v3παρουσίαση Sxoliki bia v3
παρουσίαση Sxoliki bia v3
 
Magoul voulg
Magoul voulgMagoul voulg
Magoul voulg
 
Τεχνικές αναζήτησης στο Διαδίκτυο
Τεχνικές αναζήτησης στο Διαδίκτυο Τεχνικές αναζήτησης στο Διαδίκτυο
Τεχνικές αναζήτησης στο Διαδίκτυο
 
τπε στην εκπαίδευση
τπε στην εκπαίδευσητπε στην εκπαίδευση
τπε στην εκπαίδευση
 
Internet με ασκήσεις
Internet με ασκήσειςInternet με ασκήσεις
Internet με ασκήσεις
 
εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)
εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)
εισαγωγή στα συστήματα διαχείρισης περιεχομένου (Cms)
 
Moving from Applications to Apps
Moving from Applications to AppsMoving from Applications to Apps
Moving from Applications to Apps
 
Tryfonas Kazantzis ecdl core module 2 (windows Vista) - Ελληνικά (Greek)
Tryfonas Kazantzis ecdl core module 2 (windows Vista) - Ελληνικά (Greek)Tryfonas Kazantzis ecdl core module 2 (windows Vista) - Ελληνικά (Greek)
Tryfonas Kazantzis ecdl core module 2 (windows Vista) - Ελληνικά (Greek)
 
Tryfonas Kazantzis - ECDL Core - Επεξεργασία Κειμένου - Microsoft Word 2007 -...
Tryfonas Kazantzis - ECDL Core - Επεξεργασία Κειμένου - Microsoft Word 2007 -...Tryfonas Kazantzis - ECDL Core - Επεξεργασία Κειμένου - Microsoft Word 2007 -...
Tryfonas Kazantzis - ECDL Core - Επεξεργασία Κειμένου - Microsoft Word 2007 -...
 
Big picture of electronics and instrumentation engineering
Big picture of electronics and instrumentation engineeringBig picture of electronics and instrumentation engineering
Big picture of electronics and instrumentation engineering
 
Process Instrumentation & Control
Process Instrumentation & ControlProcess Instrumentation & Control
Process Instrumentation & Control
 
1ο Επαναληπτικό στα Μαθηματικά, Δ΄τάξη Κεφ. 1 - 7
1ο Επαναληπτικό στα Μαθηματικά, Δ΄τάξη Κεφ. 1 - 71ο Επαναληπτικό στα Μαθηματικά, Δ΄τάξη Κεφ. 1 - 7
1ο Επαναληπτικό στα Μαθηματικά, Δ΄τάξη Κεφ. 1 - 7
 
2ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 8 - 14
2ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 8 - 142ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 8 - 14
2ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 8 - 14
 
Επαναληπτικό μάθημα Ιστορίας 1ης Ενότητας: "Γεωμετρικά χρόνια" - Κεφ. 1 - ...
Επαναληπτικό μάθημα  Ιστορίας  1ης Ενότητας: "Γεωμετρικά χρόνια" -  Κεφ. 1 - ...Επαναληπτικό μάθημα  Ιστορίας  1ης Ενότητας: "Γεωμετρικά χρόνια" -  Κεφ. 1 - ...
Επαναληπτικό μάθημα Ιστορίας 1ης Ενότητας: "Γεωμετρικά χρόνια" - Κεφ. 1 - ...
 
Ιστορία Δ΄, Αρχαϊκά χρόνια, 2ο Επαναληπτικό Ιστορίας - Χρυσός αιώνας
Ιστορία Δ΄, Αρχαϊκά χρόνια, 2ο Επαναληπτικό Ιστορίας - Χρυσός αιώναςΙστορία Δ΄, Αρχαϊκά χρόνια, 2ο Επαναληπτικό Ιστορίας - Χρυσός αιώνας
Ιστορία Δ΄, Αρχαϊκά χρόνια, 2ο Επαναληπτικό Ιστορίας - Χρυσός αιώνας
 
Ιστορία Δ΄, Αρχαϊκά χρόνια 5ο Επαναληπτικό Ιστορίας - Η Μακεδονία
Ιστορία Δ΄, Αρχαϊκά χρόνια 5ο Επαναληπτικό Ιστορίας - Η ΜακεδονίαΙστορία Δ΄, Αρχαϊκά χρόνια 5ο Επαναληπτικό Ιστορίας - Η Μακεδονία
Ιστορία Δ΄, Αρχαϊκά χρόνια 5ο Επαναληπτικό Ιστορίας - Η Μακεδονία
 
5ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 27 - 34
5ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 27 - 345ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 27 - 34
5ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 27 - 34
 
Basics Of Instrumentation
Basics Of InstrumentationBasics Of Instrumentation
Basics Of Instrumentation
 
4ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 21 - 26
4ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 21 - 264ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 21 - 26
4ο Επαναληπτικό στα Μαθηματικά, Δ΄ τάξη: Κεφ. 21 - 26
 

Similar to Βάσεις Δεδομένων με Εφαρμογές στο Διαδίκτυο

Δημιουργία Ιστοσελίδων
Δημιουργία ΙστοσελίδωνΔημιουργία Ιστοσελίδων
Δημιουργία ΙστοσελίδωνDespina Kamilali
 
Xampp εγκατάσταση και ρυθμίσεις
Xampp   εγκατάσταση και ρυθμίσειςXampp   εγκατάσταση και ρυθμίσεις
Xampp εγκατάσταση και ρυθμίσειςTheodoros Douvlis
 
διαγωνισματα για Slideshare
διαγωνισματα για Slideshareδιαγωνισματα για Slideshare
διαγωνισματα για Slidesharevmantza
 
Kef10 a synartiseis
Kef10 a synartiseisKef10 a synartiseis
Kef10 a synartiseismnikol
 
Python. 1 1 σχεδίαση και συγγραφή κώδικα
Python. 1 1 σχεδίαση και συγγραφή κώδικαPython. 1 1 σχεδίαση και συγγραφή κώδικα
Python. 1 1 σχεδίαση και συγγραφή κώδικαΙωάννου Γιαννάκης
 
C_01122023.pdf
C_01122023.pdfC_01122023.pdf
C_01122023.pdfargideli1
 
Wordpress σε 2, 3... γλώσσες, γιατί και πώς;
Wordpress σε 2, 3... γλώσσες, γιατί και πώς;Wordpress σε 2, 3... γλώσσες, γιατί και πώς;
Wordpress σε 2, 3... γλώσσες, γιατί και πώς;Martin Linkov
 
Σημειώσεις Logo με ασκήσεις και θέματα θεωρίας
Σημειώσεις Logo με ασκήσεις και θέματα θεωρίαςΣημειώσεις Logo με ασκήσεις και θέματα θεωρίας
Σημειώσεις Logo με ασκήσεις και θέματα θεωρίαςDimitra Adamidou
 
2η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού
2η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού2η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού
2η διάλεξη Τεχνολογίες Παγκόσμιου ΙστούManolis Vavalis
 
C_24112023.pdf
C_24112023.pdfC_24112023.pdf
C_24112023.pdfargideli1
 
HTML [from web] epilogis a kai b lyceiou - bmichal version 1
HTML [from web]   epilogis a kai b lyceiou - bmichal version 1HTML [from web]   epilogis a kai b lyceiou - bmichal version 1
HTML [from web] epilogis a kai b lyceiou - bmichal version 1Vassilis Michalopoulos
 
Μοντέλο Client/Server, Διαδικτυακές υπηρεσίες και Cloud computing
Μοντέλο Client/Server, Διαδικτυακές υπηρεσίες και Cloud computingΜοντέλο Client/Server, Διαδικτυακές υπηρεσίες και Cloud computing
Μοντέλο Client/Server, Διαδικτυακές υπηρεσίες και Cloud computingKostas Diamantaras
 
Εισαγωγή στην Ασφάλεια Ιστοχώρων
Εισαγωγή στην Ασφάλεια ΙστοχώρωνΕισαγωγή στην Ασφάλεια Ιστοχώρων
Εισαγωγή στην Ασφάλεια ΙστοχώρωνAkeebaBackup.com
 
Δούμας Οδυσσέας 7168
Δούμας Οδυσσέας 7168Δούμας Οδυσσέας 7168
Δούμας Οδυσσέας 7168ISSEL
 
Css light
Css lightCss light
Css lightdourvas
 
Java script jquery2
Java script jquery2Java script jquery2
Java script jquery2gng542
 

Similar to Βάσεις Δεδομένων με Εφαρμογές στο Διαδίκτυο (20)

Δημιουργία Ιστοσελίδων
Δημιουργία ΙστοσελίδωνΔημιουργία Ιστοσελίδων
Δημιουργία Ιστοσελίδων
 
Xampp εγκατάσταση και ρυθμίσεις
Xampp   εγκατάσταση και ρυθμίσειςXampp   εγκατάσταση και ρυθμίσεις
Xampp εγκατάσταση και ρυθμίσεις
 
διαγωνισματα για Slideshare
διαγωνισματα για Slideshareδιαγωνισματα για Slideshare
διαγωνισματα για Slideshare
 
Kef10 a synartiseis
Kef10 a synartiseisKef10 a synartiseis
Kef10 a synartiseis
 
Python. 1 1 σχεδίαση και συγγραφή κώδικα
Python. 1 1 σχεδίαση και συγγραφή κώδικαPython. 1 1 σχεδίαση και συγγραφή κώδικα
Python. 1 1 σχεδίαση και συγγραφή κώδικα
 
JavaScript
JavaScriptJavaScript
JavaScript
 
C_01122023.pdf
C_01122023.pdfC_01122023.pdf
C_01122023.pdf
 
Wordpress σε 2, 3... γλώσσες, γιατί και πώς;
Wordpress σε 2, 3... γλώσσες, γιατί και πώς;Wordpress σε 2, 3... γλώσσες, γιατί και πώς;
Wordpress σε 2, 3... γλώσσες, γιατί και πώς;
 
Σημειώσεις Logo με ασκήσεις και θέματα θεωρίας
Σημειώσεις Logo με ασκήσεις και θέματα θεωρίαςΣημειώσεις Logo με ασκήσεις και θέματα θεωρίας
Σημειώσεις Logo με ασκήσεις και θέματα θεωρίας
 
2η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού
2η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού2η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού
2η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού
 
Html
HtmlHtml
Html
 
C_24112023.pdf
C_24112023.pdfC_24112023.pdf
C_24112023.pdf
 
HTML [from web] epilogis a kai b lyceiou - bmichal version 1
HTML [from web]   epilogis a kai b lyceiou - bmichal version 1HTML [from web]   epilogis a kai b lyceiou - bmichal version 1
HTML [from web] epilogis a kai b lyceiou - bmichal version 1
 
Μοντέλο Client/Server, Διαδικτυακές υπηρεσίες και Cloud computing
Μοντέλο Client/Server, Διαδικτυακές υπηρεσίες και Cloud computingΜοντέλο Client/Server, Διαδικτυακές υπηρεσίες και Cloud computing
Μοντέλο Client/Server, Διαδικτυακές υπηρεσίες και Cloud computing
 
Εισαγωγή στην Ασφάλεια Ιστοχώρων
Εισαγωγή στην Ασφάλεια ΙστοχώρωνΕισαγωγή στην Ασφάλεια Ιστοχώρων
Εισαγωγή στην Ασφάλεια Ιστοχώρων
 
Δούμας Οδυσσέας 7168
Δούμας Οδυσσέας 7168Δούμας Οδυσσέας 7168
Δούμας Οδυσσέας 7168
 
Css light
Css lightCss light
Css light
 
Php basics
Php basicsPhp basics
Php basics
 
Java script jquery2
Java script jquery2Java script jquery2
Java script jquery2
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 

More from Θεοδώρα Μαγουλιώτη

Φεβρουάριος 2016, σύντομη παρουσίαση της σχολικής μας μονάδας
Φεβρουάριος 2016, σύντομη παρουσίαση της σχολικής μας μονάδαςΦεβρουάριος 2016, σύντομη παρουσίαση της σχολικής μας μονάδας
Φεβρουάριος 2016, σύντομη παρουσίαση της σχολικής μας μονάδαςΘεοδώρα Μαγουλιώτη
 
Ασφάλεια στο Διαδίκτυο (εισαγωγική παρουσίαση)
Ασφάλεια στο Διαδίκτυο (εισαγωγική παρουσίαση)Ασφάλεια στο Διαδίκτυο (εισαγωγική παρουσίαση)
Ασφάλεια στο Διαδίκτυο (εισαγωγική παρουσίαση)Θεοδώρα Μαγουλιώτη
 
Βασικά Θέματα Ασφάλειας Διαδικτύου (ενότητα 1)
Βασικά Θέματα Ασφάλειας Διαδικτύου (ενότητα 1)Βασικά Θέματα Ασφάλειας Διαδικτύου (ενότητα 1)
Βασικά Θέματα Ασφάλειας Διαδικτύου (ενότητα 1)Θεοδώρα Μαγουλιώτη
 
Πορεία Μαθήματος "Εφαρμογές Πληροφορικής - Υπολογιστών", Α' ΕΠΑ.Λ.
Πορεία Μαθήματος "Εφαρμογές Πληροφορικής - Υπολογιστών", Α' ΕΠΑ.Λ.Πορεία Μαθήματος "Εφαρμογές Πληροφορικής - Υπολογιστών", Α' ΕΠΑ.Λ.
Πορεία Μαθήματος "Εφαρμογές Πληροφορικής - Υπολογιστών", Α' ΕΠΑ.Λ.Θεοδώρα Μαγουλιώτη
 
Η Eιρήνη και η Αγάπη αποτελούν προϋποθέσεις για την εμπιστοσύνη ανάμεσα στους...
Η Eιρήνη και η Αγάπη αποτελούν προϋποθέσεις για την εμπιστοσύνη ανάμεσα στους...Η Eιρήνη και η Αγάπη αποτελούν προϋποθέσεις για την εμπιστοσύνη ανάμεσα στους...
Η Eιρήνη και η Αγάπη αποτελούν προϋποθέσεις για την εμπιστοσύνη ανάμεσα στους...Θεοδώρα Μαγουλιώτη
 
Ύψιστο χρέος του ατόμου είναι η προσφορά του στο κοινωνικό σύνολο
Ύψιστο χρέος του ατόμου είναι η προσφορά του στο κοινωνικό σύνολοΎψιστο χρέος του ατόμου είναι η προσφορά του στο κοινωνικό σύνολο
Ύψιστο χρέος του ατόμου είναι η προσφορά του στο κοινωνικό σύνολοΘεοδώρα Μαγουλιώτη
 

More from Θεοδώρα Μαγουλιώτη (16)

2 ek presentation1
2 ek presentation12 ek presentation1
2 ek presentation1
 
2nd laboratory center of ioannina
2nd laboratory center of ioannina2nd laboratory center of ioannina
2nd laboratory center of ioannina
 
... του ξυλουργού ... η βάση ...
... του ξυλουργού ... η βάση ...... του ξυλουργού ... η βάση ...
... του ξυλουργού ... η βάση ...
 
Teliko magoulioti et-all
Teliko magoulioti et-allTeliko magoulioti et-all
Teliko magoulioti et-all
 
2ο Εσπερινό ΕΠΑ.Λ. Ιωαννίνων (2015)
2ο Εσπερινό ΕΠΑ.Λ. Ιωαννίνων (2015)2ο Εσπερινό ΕΠΑ.Λ. Ιωαννίνων (2015)
2ο Εσπερινό ΕΠΑ.Λ. Ιωαννίνων (2015)
 
Φεβρουάριος 2016, σύντομη παρουσίαση της σχολικής μας μονάδας
Φεβρουάριος 2016, σύντομη παρουσίαση της σχολικής μας μονάδαςΦεβρουάριος 2016, σύντομη παρουσίαση της σχολικής μας μονάδας
Φεβρουάριος 2016, σύντομη παρουσίαση της σχολικής μας μονάδας
 
Ασφάλεια στο Διαδίκτυο (εισαγωγική παρουσίαση)
Ασφάλεια στο Διαδίκτυο (εισαγωγική παρουσίαση)Ασφάλεια στο Διαδίκτυο (εισαγωγική παρουσίαση)
Ασφάλεια στο Διαδίκτυο (εισαγωγική παρουσίαση)
 
Βασικά Θέματα Ασφάλειας Διαδικτύου (ενότητα 1)
Βασικά Θέματα Ασφάλειας Διαδικτύου (ενότητα 1)Βασικά Θέματα Ασφάλειας Διαδικτύου (ενότητα 1)
Βασικά Θέματα Ασφάλειας Διαδικτύου (ενότητα 1)
 
Πορεία Μαθήματος "Εφαρμογές Πληροφορικής - Υπολογιστών", Α' ΕΠΑ.Λ.
Πορεία Μαθήματος "Εφαρμογές Πληροφορικής - Υπολογιστών", Α' ΕΠΑ.Λ.Πορεία Μαθήματος "Εφαρμογές Πληροφορικής - Υπολογιστών", Α' ΕΠΑ.Λ.
Πορεία Μαθήματος "Εφαρμογές Πληροφορικής - Υπολογιστών", Α' ΕΠΑ.Λ.
 
Συλλογή από Δημιουργίες Μαθητών
Συλλογή από Δημιουργίες ΜαθητώνΣυλλογή από Δημιουργίες Μαθητών
Συλλογή από Δημιουργίες Μαθητών
 
Αλληλεγγύη, Αξιοπρέπεια, Προσφορά
Αλληλεγγύη, Αξιοπρέπεια, ΠροσφοράΑλληλεγγύη, Αξιοπρέπεια, Προσφορά
Αλληλεγγύη, Αξιοπρέπεια, Προσφορά
 
Η Eιρήνη και η Αγάπη αποτελούν προϋποθέσεις για την εμπιστοσύνη ανάμεσα στους...
Η Eιρήνη και η Αγάπη αποτελούν προϋποθέσεις για την εμπιστοσύνη ανάμεσα στους...Η Eιρήνη και η Αγάπη αποτελούν προϋποθέσεις για την εμπιστοσύνη ανάμεσα στους...
Η Eιρήνη και η Αγάπη αποτελούν προϋποθέσεις για την εμπιστοσύνη ανάμεσα στους...
 
Ύψιστο χρέος του ατόμου είναι η προσφορά του στο κοινωνικό σύνολο
Ύψιστο χρέος του ατόμου είναι η προσφορά του στο κοινωνικό σύνολοΎψιστο χρέος του ατόμου είναι η προσφορά του στο κοινωνικό σύνολο
Ύψιστο χρέος του ατόμου είναι η προσφορά του στο κοινωνικό σύνολο
 
δράσειςσχολικήςβίας12 13
δράσειςσχολικήςβίας12 13δράσειςσχολικήςβίας12 13
δράσειςσχολικήςβίας12 13
 
Kavafisbiography 2
Kavafisbiography 2Kavafisbiography 2
Kavafisbiography 2
 
τπε στην εκπαίδευση NEO
τπε στην εκπαίδευση NEOτπε στην εκπαίδευση NEO
τπε στην εκπαίδευση NEO
 

Recently uploaded

2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της ΙταλίαςKonstantina Katirtzi
 
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptxAthina Tziaki
 
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxΗ Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxeucharis
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008Θεόδωρος Μαραγκούλας
 
ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24
ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24
ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-242lykkomo
 
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptxΠασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx36dimperist
 
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptxΠασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx36dimperist
 
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΓιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΟΛΓΑ ΤΣΕΧΕΛΙΔΟΥ
 
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptxΠασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx36dimperist
 
ΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptx
ΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptxΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptx
ΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptxssuserb0ed14
 
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη              στο 11ο Γυμνάσιο ΠάτραςΕπίσκεψη              στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη στο 11ο Γυμνάσιο ΠάτραςDimitra Mylonaki
 
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOYEKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOYssuser369a35
 
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑΜια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑDimitra Mylonaki
 

Recently uploaded (14)

2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
2η Διεθνική Συνάντηση μαθητών και καθηγητών στο Σαλέρνο της Ιταλίας
 
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ  : ΕΠΑΝΑΛΗΨΗ 2024ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ  : ΕΠΑΝΑΛΗΨΗ 2024
ΙΣΤΟΡΙΑ Α΄ΓΥΜΝΑΣΙΟΥ : ΕΠΑΝΑΛΗΨΗ 2024
 
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
5ο Κεφάλαιο - Το Λογισμικό του Υπολογιστή.pptx
 
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docxΗ Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
Η Κινέζικη Αστρολογία - Ημερολόγιο - Ζώδια.docx
 
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ  2008
Η ΑΔΙΚΕΙΑ ΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΑΣΕΠ ΕΚΠΑΙΔΕΥΤΙΚΩΝ 2008
 
ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24
ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24
ΕΝΔΟΣΧΟΛΙΚΕΣ_ΠΡΟΓΡΑΜΜΑ endosxolikes 2023-24
 
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptxΠασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
Πασχαλινά αυγά από τη Β΄ τάξη του σχολείου μας.pptx
 
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptxΠασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
Πασχαλινές Λαμπάδες από ΣΤ τάξη του σχολείου μας.pptx
 
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξειςΓιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
Γιορτή της μητέρας-Φύλλα εργασιών για όλες τις τάξεις
 
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptxΠασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
Πασχαλινές λαμπάδες από τη Δ΄ τάξη του σχολείου μας.pptx
 
ΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptx
ΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptxΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptx
ΚΛΙΜΑΤΙΚΗ ΑΛΛΑΓΗ ΚΑΙ ΠΟΛΙΤΙΚΕΣ ΤΗΣ Ε.Ε..pptx
 
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη              στο 11ο Γυμνάσιο ΠάτραςΕπίσκεψη              στο 11ο Γυμνάσιο Πάτρας
Επίσκεψη στο 11ο Γυμνάσιο Πάτρας
 
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOYEKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
EKSETASTEA KAI DIDAKTEA YLH G TAKSHS GENIKOY LYKEIOY
 
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑΜια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
Μια νύχτα σε κατάστημα παιχνιδιώνΚΕΙΜΕΝΑ
 

Βάσεις Δεδομένων με Εφαρμογές στο Διαδίκτυο

  • 1. Βάσεις Δεδομένων με Εφαρμογές στο Διαδίκτυο Θεοδώρα Α. Μαγουλιώτη, ΠΕ19
  • 2. Το Περιβάλλον Εργασίας  Σελίδες δυναμικού περιεχομένου για τον ιστό είναι οι σελίδες που το κείμενο που περιέχουν δεν είναι στατικό αλλά αλλάζει ανάλογα με τα κλικ του χρήστη πάνω σε διάφορα λινκς. Το περιεχόμενο των σελίδων αυτών συνήθως περιέχεται μέσα σε μια βάση δεδομένων. Ενώ οι στατικές σελίδες μπορούν να φτιαχτούν με html οι δυναμικές σελίδες απαιτούν μια γλώσσα προγραμματισμού για τον ιστό π.χ. php, jsp, jsf κ.λπ. για να λειτουργήσουν.  Το λογισμικό που απαιτείται για να φτιάξουμε και να ελέγξουμε εφαρμογές δυναμικού περιεχομένου για τον ιστό είναι:  ένας web-server (π.χ. Apache, Apache Tomcat),  μια γλώσσα προγραμματισμού για διαχείριση δυναμικού περιεχομένου (π.χ. php, java/jsp),  μια βάση δεδομένων για να κρατά το δυναμικό περιεχόμενο (π.χ. MySQL),  (προαιρετικά) εργαλεία διαχείρισης της βάση δεδομένων όπως π.χ. phpmyadmin.  Να αναφέρουμε ότι όλο το απαιτούμενο λογισμικό πρόκειται για δωρεάν λογισμικό, το λεγόμενο Λογισμικό Ανοιχτού Κώδικα.  Για την εγκατάσταση της υποδομής που χρειάζεται για να φτιάξουμε εφαρμογές για τον ιστό, υπάρχουν διάφορα ολοκληρωμένα λογισμικά όπως το xampp, wamp κ.λπ. τα οποία εγκαθιστούν μονομιάς ό,τι απαιτείται για να δημιουργήσει και να τεστάρει κανείς ιστοσελίδες δυναμικού περιεχομένου.
  • 3. XAMPP  Το XAMPP είναι ένα πακέτο προγραμμάτων ελεύθερου λογισμικού, λογισμικού ανοικτού κώδικα και ανεξαρτήτου πλατφόρμας το οποίο περιέχει τον  εξυπηρετητή ιστοσελίδων http Apache,  την βάση δεδομένων MySQL και  ένα διερμηνέα για κώδικα γραμμένο σε γλώσσες προγραμματισμού PHP και Perl.  Το XAMPP είναι ακρωνύμιο και αναφέρεται στα παρακάτω αρχικά:  X (αναφέρεται στο «cross-platform» που σημαίνει λογισμικό ανεξάρτητο πλατφόρμας, τρέχει σε Microsoft Windows, Linux, Solaris, and Mac OS X).  Apache HTTP εξυπηρετητής.  MySQL.  PHP.  Perl.
  • 5. Ξεκινώντας με την PHP – Τι θα μάθουμε;  Να καταλάβουμε τι είναι η PHP και πώς δουλεύουν τα PHP scripts  Τι χρειάζεται για να ξεκινήσουμε με την PHP  Να δημιουργήσουμε και να τρέξουμε ένα απλό script
  • 6. HTML – PHP  Η HTML χρησιμοποιεί εντολές που ονομάζονται HTML tags δίνοντας εντολές στους Web browsers για το πώς να εμφανίζουν την κάθε ιστοσελίδα.  Η PHP είναι μια γλώσσα προγραμματισμού η οποία επεκτείνει τις δυνατότητες της HTML δίνοντας τη δυνατότητα να δημιουργήσουμε δυναμικές ιστοσελίδες.
  • 7. Πλεονεκτήματα της PHP  Ευκολία στη χρήση  Ανοιχτού κώδικα (Open Source)  Υποστήριξη πολλαπλών πλατφόρμων  Απόδοση  Υποστήριξη Βάσεων Δεδομένων
  • 9. Ξεκινώντας με την PHP  Για να δημιουργήσουμε και να δημοσιεύσουμε ένα PHP script χρειαζόμαστε: Ένα web server με υποστήριξη PHP Ένα υπολογιστή/πελάτη με ένα απλό text editor και σύνδεση στο Internet Λογισμικό FTP
  • 10. Βασικά Βήματα  Τα βασικά βήματα για τη δημιουργία και την δημοσίευση PHP σελίδων είναι τα εξής:  Δημιουργία του PHP script και αποθήκευση στον τοπικό δίσκο  Χρήση λογισμικού FTP για την αποθήκευση του αρχείου στον server  Πρόσβαση στο αρχείο μέσω ενός web browser.
  • 11. Δημιουργία PHP script  Μπορούμε να χρησιμοποιήσουμε διάφορους editors για τη δημιουργία PHP scripts  Τα PHP script ξεκινάνε με <?php και τελειώνουν με ?>  Μεταξύ των δυο tags υπάρχει μια απλή εντολή
  • 12. Αν υπάρχει συντακτικό λάθος  Έστω ότι κάνουμε το ακόλουθο συντακτικό λάθος: <?php print ( “A simple initial script); ?>
  • 13. Σχόλια στην PHP  Τα σχόλια μας βοηθούν σε μελλοντική επεξεργασία.  Οι γραμμές των σχολίων αγνοούνται όταν εκτελούνται τα script και δεν επιβραδύνουν την ταχύτητα εκτέλεσης.  Τα σχόλια έχουν δυο βασικούς σκοπούς:  Περιγράφουν την λειτουργία και το σκοπό του script  Περιγράφουν συγκεκριμένα σημεία του κώδικα που είναι περίπλοκα
  • 14. Χρήση σχολίων  Χρήση // <?php // This is a comment ?>  Μπορεί επίσης να τοποθετηθεί στην ίδια γραμμή με μια έκφραση: <?php print ("A simple initial script"); //Output a line ?>
  • 15. Εναλλακτικοί τρόποι σχολίων Η PHP παρέχει και δυο εναλλακτικούς τρόπους σχολιασμού. <?php phpinfo(); # This is a built-in function ?>  Σχολιασμός πολλαπλών γραμμών. <?php /* A script that gets information about the PHP version being used. */ phpinfo(); ?>
  • 16. Χρήση PHP Μεταβλητών  Οι Μεταβλητές χρησιμοποιούνται για να αποθηκεύονται και να προσπελάζονται δεδομένα στη μνήμη του υπολογιστή.  Το όνομα τις μεταβλητής χρησιμοποιείται μέσα στο script για να αναφερόμαστε στα δεδομένα του. $cost = 4.25; $months = 12; Name of variable Variables new value
  • 17. Θέτουμε τιμές στις Μεταβλητές  Θέτουμε τιμές στις μεταβλητές: $days = 3; $newdays = 100; $days = $newdays;  Στο τέλος αυτών των τριών γραμμών η $days και $newdays έχουν και οι δύο την τιμή 100.
  • 18. Επιλογή Ονομάτων Μεταβλητών  Μπορούμε να επιλέξουμε οποιονδήποτε χαρακτήρα για το όνομα των μεταβλητών στην PHP, αλλά πρέπει να ισχύουν τα εξής:  Χρήση του δολαρίου ($) ως πρώτο χαρακτήρα  Χρήση γράμματος ή underscore (_) ως δεύτερο χαρακτήρα  Σημείωση: Προσπαθήστε να διαλέγετε ονόματα που να περιγράφουν τη δουλειά που κάνει η μεταβλητή. Π.χ. η χρήση της $counter είναι πιο περιγραφική από την $c ή $ctr.
  • 19. Χρήση μεταβλητών με την print  Για να εμφανίσουμε τα περιεχόμενα της μεταβλητής $x, γράφουμε την ακόλουθη εντολή: echo ("$x");  Το παρακάτω θα εμφανίσει “Ο Νίκος είναι 6 ετών”. $age=6; echo ("Ο Νίκος είναι $age ετών."); ή print ("Ο Νίκος είναι $age ετών.");
  • 20. Ένα παράδειγμα… 1. <html> 2. <head> <title>Variable Example </title> </head> 3. <body> 4. <?php 5. $first_num = 12; 6. $second_num = 356; 7. $temp = $first_num; 8. $first_num = $second_num; 9. $second_num = $temp; 10. echo ("first_num= $first_num <br> second_num=$second_num"); 11. ?> </body> </html>
  • 21. Αριθμητικοί τελεστές  Μπορούμε να χρησιμοποιήσουμε αριθμητικούς τελεστές όπως το (+) και το (-) για να κάνουμε αριθμητικές πράξεις.  Παράδειγμα <?php $x = 12; $y = 14; $z = $x + $y; echo ("The total number of fruit is $z"); ?>
  • 22. Άσκηση 1  Βρείτε τα λάθη στο παρακάτω PHP πρόγραμμα: <? php print ‘How are you?’; print ‘I’m fine.’; ??>
  • 23. Λύση Άσκησης 1  Η ετικέτα για την δήλωση της αρχής του προγράμματος PHP θα έπρεπε να είναι <?php, χωρίς κανένα κενό διάστημα (όπως συμβαίνει εδώ).  Όσον αφορά τα αλφαριθμητικά στις print εντολές θα πρέπει να περικλείονται σε διπλά εισαγωγικά και παρενθέσεις.  Η ετικέτα για τη δήλωση του τέλους του προγράμματος PHP θα έπρεπε να είναι ?> και όχι ??>.
  • 24. Άσκηση 2  Γράψτε ένα πρόγραμμα που θα υπολογίζει το συνολικό κόστος του παρακάτω γεύματος: 2 γύροι σε λαδόπιτα (2,5€ έκαστος), μια μερίδα πατάτες (2€) και δύο αναψυκτικά (1€ το καθένα). Ο ΦΠΑ είναι 19%, ενώ το ποσοστό του φιλοδωρήματος είναι 16%.
  • 26. Άσκηση 3  Μεταβάλλεται κατάλληλα το προηγούμενο πρόγραμμα έτσι ώστε να εκτυπώνεται ένας συνολικός λογαριασμός. Για κάθε αντικείμενο του γεύματος θα εκτυπώνεται η τιμή τεμαχίου, η ποσότητα και το συνολικό κόστος (χωρίς καμιά προσαύξηση, με τον ΦΠΑ και με το φιλοδώρημα).
  • 27. Λύση Άσκησης 3 <html> <?php $pites=2*2.5; $patates=1*2; $pota=2*1; $sum=$pites+$patates+$pota; $fpa=$sum*19/100; $tip=$sum*16/100; $total=$sum+$fpa+$tip; print ("2 μερίδες πίτα γύρο, ανά 2.5 euros το τεμάχιο: σύνολο $pites euros"); echo("<br>"); print ("1 μερίδα πατάτες, ανά 1 euros το τεμάχιο: σύνολο $patates euros"); echo("<br>"); print ("2 αναψυκτικά, ανά 1 euros το τεμάχιο: σύνολο $pota euros"); echo("<br>"); print("Food and Drink Total: $sum euros"); echo("<br>"); print("Total with Tax: $fpa euros"); echo("<br>"); print("Total with Tip: $tip euros"); ?> </html>
  • 28. Άσκηση 4  Γράψτε ένα πρόγραμμα που θα αποθηκεύει το όνομά σας στην μεταβλητή $first_name και το επίθετό σας στην μεταβλητή $last_name. Αμέσως μετά, το πρόγραμμα θα εκτυπώνει το πλήρες ονοματεπώνυμο, με το μήκος του.
  • 29. Λύση Άσκησης 4 <html> <?php $first_name='Dora'; $last_name="Magoulioti"; $total_name = $first_name . " " . $last_name; print ("My name is '$total_name' with length: "); print (strlen($total_name)); print (" characters."); ?> </html>
  • 30. Άσκηση 5  Γράψτε ένα πρόγραμμα που θα χρησιμοποιεί τον τελεστή αύξησης ++ (π.χ. i++, αυξάνεται το i κατά 1) και τον τελεστή ανάθεσης *= (π.χ. i*=3, πολλαπλασιάζεται το i επί 3, οπότε η νέα τιμή του i είναι η παλιά του επί 3) για την εκτύπωση των αριθμών από το 1 ως το 5 και των αντίστοιχων δυνάμεων του 2 (από 21 ως και 25) .
  • 31. Λύση Άσκησης 5 <html> <?php $i=1; $j=2; print ("$i $j"); echo("<br>"); $i++; $j*=2; print ("$i $j"); echo("<br>"); $i++; $j*=2; print ("$i $j"); echo("<br>"); $i++; $j*=2; print ("$i $j"); echo("<br>"); $i++; $j*=2; print ("$i $j"); ?> </html>
  • 32. Συνθήκες Ελέγχου  Οι συνθήκες ελέγχου ορίζονται όπως ακριβώς στη C.  Παραδείγματα: <html> <body> <?php $k = 143; if (fmod($k,2)==0) echo $k." is even"; else echo $k." is odd"; ?> </body> </html> <html> <body> <?php $i=0; while($i<=5) { echo "Number: ".$i."<br>"; $i++; } ?> </body> </html> <html> <body> <?php for ($i=1; $i<=5; $i+ +) { echo "Hello World! <br>"; } ?> </body> </html>
  • 33. Άσκηση 6  Bρείτε αν οι παρακάτω εκφράσεις είναι false ή true:  100.000 – 100 (false)  “zero” (true)  “false” (true)  0 + “true” (false)  0.000 (false)  «0.0» (true)  Strcmp(«false», «False») (true)
  • 34. Άσκηση 7  Bρείτε το αποτέλεσμα του παρακάτω προγράμματος:  $age=12;  $shoe_size=13;  if ($age>$shoe_size)  {  print ("message 1. <BR>");  }  elseif ( ($shoe_size++) && ($age>20) )  {  print ("message 2. <BR>");  }  else  {  print ("message 3. <BR>");  }  print ("Age: $age, Shoe size: $shoe_size <BR>");  Συζητείστε τη διαφορά να χρησιμοποιηθεί η  elseif ( ($age>20) && ($shoe_size++) )  αντί της  elseif ( ($shoe_size++) && ($age>20) )
  • 35. Άσκηση 8  Χρησιμοποιήστε την εντολή while() για να εμφανίσετε τις θερμοκρασίες σε βαθμούς Celcius και Fahrenheit από τους -50 ως και τους 50 βαθμούς Fahrenheit (ανά 5). Σημείωση: Για την μετατροπή από βαθμούς Fahrenheit θα πρέπει να αφαιρέσουμε το 32 από την αρχική μας θερμοκρασία, να πολλαπλασιάσουμε με το 5 και να διαιρέσουμε με το 9.
  • 36. Λύση Άσκησης 8 <html> <?php $fahr=-50; $stop_fahr=50; print ("<table>"); print ("<tr><th>Fahrenheit</th><th>Celcius</th></tr>"); while ($fahr <= $stop_fahr) { $celcius = ($fahr - 32) * 5 / 9; print ("<tr><th>$fahr</th><th>$celcius</th></tr>"); $fahr += 5; } print ("<table>"); ?> </html>
  • 37. Άσκηση 9  Ξαναγράψτε τη λύση της άσκησης 7, χρησιμοποιώντας όμως την εντολή for().
  • 38. Λύση Άσκησης 9 <html> <?php print ("<table>"); print ("<tr><th>Fahrenheit</th><th>Celcius</th></tr>"); for ($fahr = -50; $fahr <= 50; $fahr+=5) { $celcius = ($fahr - 32) * 5 / 9; print ("<tr><th>$fahr</th><th>$celcius</th></tr>"); } print ("<table>"); ?> </html>
  • 39. Πίνακες – Arrays (1) //Πίνακας με όνομα $vegetables και με αλφαριθμητικά κλειδιά $vegetables[‘corn’] = ‘yellow’; $vegetables[‘beet’] = ‘red’; $vegetables[‘carrot’] = ‘orange’; //Πίνακας με όνομα $dinner και με αριθμητικά κλειδιά $dinner[0] = ‘Sweet corn and Asparagus’; $dinner[1] = ‘Lemon Chicken’; $dinner[2] = ‘Braised Bamboo Fungus’; //Πίνακας με όνομα $computers και με αλφαριθμητικά και αριθμητικά κλειδιά $computers[‘trs-80’] = ‘Radio Shack’; $computers[2600] = ‘Atari’; $computers[‘Adam’] = ‘Coleco’;
  • 40. Πίνακες – Arrays (2) Εναλλακτικά, μπορούμε να χρησιμοποιήσουμε τη συνάρτηση array $vegetables = array(“corn” => “yellow”, “beet” => “red”, “carrot” => “orange”); $dinner = array(0 => “Sweet corn and Asparagus”, 1 => “Lemon Chicken”, 2 => “Braised Bamboo Fungus”); $computers = array(“trs-80” => “Radio Shack”, 2600 = “Atari”, “Adam” = “Coleco”);
  • 41. Λύση Άσκησης 10 (1) Σύμφωνα με τις τελευταίες στατιστικές (απογραφή του 2000), οι 10 μεγαλύτερες σε πληθυσμό πόλεις των Η.Π.Α. είναι οι παρακάτω: Πόλη Πολιτεία (αρχικά, στα αγγλικά) Πληθυσμός Νέα Υόρκη (New York) Νέα Υόρκη (NY) 8.008.278 Λος Άντζελες (Los Angeles) Καλιφόρνια (CA) 3.694.820 Σικάγο (Chicago) Ιλινόϊς (IL) 2.896.016 Χιούστον (Houston) Τέξας (TX) 1.953.631 Φιλαδέλφεια (Philadelphia) Πενσιλβάνια (PA) 1.517.550 Φοίνιξ (Phoenix) Αριζόνα (AZ) 1.321.045 Σαν Ντιέγκο (San Diego) Καλιφόρνια (CA) 1.223.400 Ντάλας (Dallas) Τέξας (TX) 1.188.580 Σαν Αντόνιο (San Antonio) Τέξας (TX) 1.144.646 Ντιτρόιτ (Detroit) Μισιγκαν (MI) 951.270
  • 42. Λύση Άσκησης 10 (2) Γράψτε ένα πρόγραμμα σε PHP που θα ορίζει έναν πίνακα που θα περιέχει αυτά τα στοιχεία και θα τον εκτυπώνει σε μορφή HTML, μαζί με το συνολικό πληθυσμό των 10 πόλεων. <html> <?php $population = array(“New York, NY” => 8008278, “Los Angeles, CA” => 3694820, “Chicago, IL” => 2896016, “Houston, TX” => 1953631, “Philadelphia, PA” => 1517550, “Phoenix, AZ” => 1321045, “San Diego, CA” => 1223400, “Dallas, TX” => 1188580, “San Antonio, TX” => 1144646, “Detroit, MI” => 951270); $total_population = 0; print “<table><tr><th>City</th><th>Population</th></tr>n”; foreach ($population as $city => $people) { $ total_population += $people; print “<tr><td>$city</td><td>$people</td></tr>n”; } print “<tr><td>Total</td><td>$total_population</td></tr>n”; print “</table>n” ?> </html>
  • 43. Συναρτήσεις ή Μέθοδοι (1) Είναι ένα μικρό σύνολο εντολών που μπορούμε να τις χρησιμοποιήσουμε ως μία μόνο εντολή, σε ένα ή και περισσότερα σημεία του προγράμματός μας. Οι συναρτήσεις είναι:  οι built-in, δηλαδή έχουν κατασκευαστεί από τους ανθρώπους που έχουν αναπτύξει την php,  δικές μας συναρτήσεις. ΠΑΡΑΔΕΙΓΜΑ (1) <?php page_header(); print "Καλωσόρισες χρήστη Δώρα!"; page_footer(); function page_header() { print '<html><head><title>Καλωσόρισες στο site μου</title></head>'; print '<body bgcolor=rgb(0,0,0)>'; } function page_footer() { print '<hr>Σ' ευχαριστώ για την επίσκεψή σου... Σε περιμένω ξανά...'; print '</body></html>'; } ?> Συνάρτηση χρήστη χωρίς ορίσματα Συνάρτηση χρήστη χωρίς ορίσματα built-in συνάρτηση με 3 ορίσματα
  • 44. Συναρτήσεις ή Μέθοδοι (2) ΠΑΡΑΔΕΙΓΜΑ (2) <?php page_header(0, 0, 255); print "Καλωσόρισες χρήστη Δώρα!"; page_footer(); function page_header($r, $g, $b) { print '<html><head><title>Καλωσόρισες στο site μου</title></head>'; print '<body bgcolor=rgb($r,$g,$b)>'; } function page_footer() { print '<hr>Σ' ευχαριστώ για την επίσκεψή σου... Σε περιμένω ξανά...'; print '</body></html>'; } ?> Συνάρτηση χρήστη με 3 ορίσματα (ή παραμέτρους) Συνάρτηση χρήστη χωρίς ορίσματα built-in συνάρτηση με 3 ορίσματα
  • 45. Συναρτήσεις ή Μέθοδοι (3) ΠΑΡΑΔΕΙΓΜΑ (3) <?php page_header('Καλωσόρισες στο υπέροχο site μου!!!‘,0, 0, 255); print "Καλωσόρισες χρήστη Δώρα!"; page_footer(); function page_header($ht,$r, $g, $b) { print '<html><head><title>’.$ht.’</title></head>'; print '<body bgcolor=rgb($r,$g,$b)>'; } function page_footer() { print '<hr>Σ' ευχαριστώ για την επίσκεψή σου... Σε περιμένω ξανά...'; print '</body></html>'; } ?> Συνάρτηση χρήστη με 4 ορίσματα (ή παραμέτρους) Συνάρτηση χρήστη χωρίς ορίσματα built-in συνάρτηση με 3 ορίσματα
  • 46. Συναρτήσεις ή Μέθοδοι (4) ΠΑΡΑΔΕΙΓΜΑ (4) <?php $total = restaurant_check(15.22, 8.25, 15); print 'Έχω 20 ευρώ, οφείλω για το γεύμα μου ' . round($total,2) . ' ευρώ, οπότε θα πληρώσω με ... '; if ($total > 20) print "κάρτα."; else print "μετρητά."; function restaurant_check($meal, $tax, $tip) { $tax_amount = $meal * ($tax/100); $tip_amount = $meal * ($tip/100); $total_amount = $meal + $tax_amount + $tip_amount; return $total_amount; } ?> Συνάρτηση που επιστρέφει 1 τιμή
  • 47. Συναρτήσεις ή Μέθοδοι (5) ΠΑΡΑΔΕΙΓΜΑ (5) <?php $totals = restaurant_check(15.22, 8.25, 15); print 'Έχω 20 ευρώ, οφείλω για το γεύμα μου ' . round($totals[1],2) . ' ευρώ, οπότε θα πληρώσω με ... '; if ($totals[1] > 20) print "κάρτα.<br>"; else print "μετρητά.<br>"; print "Το φιλοδώρημα μου κοστίζει " . ($totals[1]-$totals[0]); function restaurant_check($meal, $tax, $tip) { $tax_amount = $meal * ($tax/100); $tip_amount = $meal * ($tip/100); $total_notip = $meal + $tax_amount; $total_tip = $meal + $tax_amount + $tip_amount; return array($total_notip, $total_tip); } ?> Συνάρτηση που επιστρέφει 2 τιμές
  • 48. Κατασκευάζοντας Φόρμες Ιστοχώρου (1) ΠΑΡΑΔΕΙΓΜΑ (1) <form method="post" action=" <?php echo htmlspecialchars($_SERVER["PHP_SELF"]); #$_SERVER: Ο πίνακας αυτός περιέχει μια σειρά πληροφοριών σχετικά με τον server και # την αίτηση που είναι τη διαδεδομένη στιγμή υπό επεξεργασία. #PHP_SELF: Περιέχει την πλήρη τοποθεσία του προγράμματος. ?> "> Name: <input type= "text" name= "my_name"> <input type= "submit" name= "submit"> </form> <?php print "<br>"; print "$_SERVER[SERVER_NAME]"; #SERVER_NAME: Το όνομα του site στο οποίο εκτελείται ο interpreter της PHP. print "<br>"; print "$_SERVER[DOCUMENT_ROOT]"; #DOCUMENT_ROOT: Ο φάκελος (στον υπολογισή του server) στον οποίο βρίσκονται # όλα τα αρχεία του site στα οποία έχουμε πρόσβαση. print "<br>";
  • 49. Κατασκευάζοντας Φόρμες Ιστοχώρου (1) … συνέχεια ΠΑΡΑΔΕΙΓΜΑ (1 … συνέχεια) print "$_SERVER[REMOTE_ADDR]"; #REMOTE_ADDR: Η διεύθυνση IP του χρήστη που κάνει την αίτηση στον web server. print "<br>"; print "$_SERVER[HTTP_USER_AGENT]"; #HTTP_USER_AGENT: Ο web browser στον οποίο εμφανίζεται η ιστοσελίδα που περιέχει τη φόρμα. print "<br>"; print "<br>"; print "<br>"; print "Υου are entered: "; if (array_key_exists('my_name', $_POST)) echo $_POST['my_name']; ?>
  • 50. Κατασκευάζοντας Φόρμες Ιστοχώρου (2) ΠΑΡΑΔΕΙΓΜΑ (2) <?php if (array_key_exists('name', $_POST)) $name=$_POST['name']; else $name = ""; ?> <h2>PHP Form Validation Example</h2> <p>* required field.</p> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> Name: <input type="text" name="name" value="<?php echo $name; ?>"> <input type="submit" name="submit" value="Submit"> </form> <?php echo "<h2>Your Input:</h2>"; if (array_key_exists('name', $_POST)) { echo $_POST['name']; $name=$_POST['name']; } ?>
  • 51. Κατασκευάζοντας Φόρμες Ιστοχώρου (3) Άσκηση 11 Επεκτείνετε το παράδειγμα (2) ώστε εκτός από το name, επιπλέον απαιτούμενα στοιχεία να είναι το Last_name, το email, το address και το phone_number. Άσκηση 12 Επεκτείνετε την άσκηση 11 ώστε το phone_number να δέχεται αποκλειστικά 10 ψηφία.
  • 52. Κατασκευάζοντας Φόρμες Ιστοχώρου με ΛΙΣΤΕΣ – μονή επιλογή (1) <?php if (array_key_exists('category', $_POST)) $category=$_POST['category']; else $category = ""; ?> <h2>PHP Form Example - Lists</h2> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> <select name="category" value="<?php echo $category; ?>"> <option>Διάλεξε κατηγορία...</option> <option>Ορεκτικά</option> <option>Σούπες</option> <option>Της ώρας</option> </select> <input type="submit" name="submit"> </form> <?php echo "<h2>Έχεις εισάγει:</h2>"; if (array_key_exists('category', $_POST)) { echo $_POST['category']; $category=$_POST['category']; } ?>
  • 53. Κατασκευάζοντας Φόρμες Ιστοχώρου με ΛΙΣΤΕΣ – πολλαπλή επιλογή (2) <?php if(isset($_POST['category'])) { $choices = $_POST['category']; if (isset($choices)) $nchoices = count($choices); } $es = 0; ?> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> Διάλεξε τις κατηγορίες που θέλεις (κράτα το Cntrl για πολλαπλές επιλογές):<br> <select multiple="multiple" name="category[]"> <?php print "<option>Ορεκτικά</option>"; print "<option>Σούπες</option>"; print "<option>Της ώρας</option>"; print "<option>Μαγειρευτά</option>"; print "<option>Ζυμαρικά</option>"; ?> </select> <input type="submit" name="submit"> </form> <?php If (isset($_POST['category'])) { $choices = $_POST['category']; if (isset($choices)) { $nchoices = count($choices); print "Έχεις επιλέξει $nchoices κατηγορίες, ως εξής:"; echo("</p>"); for($i=0; $i < $nchoices-1; $i++) { echo($choices[$i] . ", "); } echo($choices[$i] . "."); echo("</p>"); } Else echo("Δεν έχεις επιλέξει καμία κατηγορία..."); ?> The isset () function is used to check whether a variable is set or not.
  • 54. Κατασκευάζοντας Φόρμες Ιστοχώρου με ΛΙΣΤΕΣ – πολλαπλές επιλογές (3) <?php if (isset($_POST['category'])) { $choices = $_POST['category']; if (isset($choices)) $nchoices = count($choices); } $es = 0; ?> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> Διάλεξε τις κατηγορίες που θέλεις (κράτα το Cntrl για πολλαπλές επιλογές):<br><table><tr><td> <select multiple="multiple" name="category[]"> <?php $apa = 0; for ($i=0; $i < $nchoices; $i++) if ($choices[$i]=="Ορεκτικά") $apa = 1; if ($apa==1) { print "<option selected>Ορεκτικά</option>"; $eo = 1; } else { print "<option>Ορεκτικά</option>"; $eo = 0; } $apa = 0; for ($i=0; $i < $nchoices; $i++) if ($choices[$i]=="Σούπες") $apa = 1; if ($apa==1) { print "<option selected>Σούπες</option>"; $es = 1; } else { print "<option>Σούπες</option>"; $es = 0; } $apa = 0; for($i=0; $i < $nchoices; $i++) if ($choices[$i]=="Της ώρας") $apa = 1; if ($apa==1) print "<option selected>Της ώρας</option>"; else print "<option>Της ώρας</option>"; $apa = 0; for($i=0; $i < $nchoices; $i++) if ($choices[$i]=="Μαγειρευτά") $apa = 1; if ($apa==1) print "<option selected>Μαγειρευτά</option>"; else print "<option>Μαγειρευτά</option>"; $apa = 0; for($i=0; $i < $nchoices; $i++) if ($choices[$i]=="Ζυμαρικά") $apa = 1; if ($apa==1) print "<option selected>Ζυμαρικά</option>"; else print "<option>Ζυμαρικά</option>"; ?> </select> <input type="submit" name="submit"> </td> <?php if ($eo == 1) print "<td>Ορεκτικά <br> <select multiple="multiple" name = "or[]"> <option>Κολοκυθοκεφτέδες</option> <option>Μανιτάρια Αλά Κρεμ</option> <option>Μελιντζάνες στο φούρνο με τυριά</option> </select> </td>"; ?> <?php if ($es == 1) print "<td>Σούπες <br> <select multiple="multiple" name = "so[]"> <option>Μανιταρόσουπα</option> <option>Κολοκυθόσουπα</option> <option>Ντοματόσουπα</option> </select> </td>";?> </tr></table> </form> <?php if(isset($_POST['category'])) { $choices = $_POST['category']; if (isset($choices)) { $nchoices = count($choices); print "Έχεις επιλέξει $nchoices κατγηγορίες, ως εξής:"; echo("</p>"); for($i=0; $i < $nchoices; $i++) { echo($choices[$i] . " "); } echo("</p>"); } else echo("Δεν έχεις επιλέξει καμία κατηγορία..."); }
  • 55. Κατασκευάζοντας Φόρμες Ιστοχώρου με ΛΙΣΤΕΣ – radio buttons (1)
  • 56. Κατασκευάζοντας Φόρμες Ιστοχώρου με ΛΙΣΤΕΣ – radio buttons (2) <?php if (array_key_exists('name', $_POST)) $name=$_POST['name']; else $name = ""; if (array_key_exists('gender', $_POST)) $gender=$_POST['gender']; else $gender = ""; ?> <h1><font size = 6 color=#DD0055>PHP Form Validation Example</font></h1> <font size = 4 color=#DD0055>*required field.</font><br> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> Name: <input type="text" name="name" value="<?php echo $name;?>"> <font size = 4 color=#DD0055>*</font><br><br> E-mail: <input type="text" name="email"> <font size = 4 color=#DD0055>*</font><br> <br> Website: <input type="text" name="website"> <br> <br> Comment: <textarea name="comment" rows="5" cols="40"></textarea> <br><br> Gender: <input type="radio" name="gender" <?php if ($gender=="female") echo "checked";?> value="female">Female <input type="radio" name="gender" <?php if ($gender=="male") echo "checked";?> value="male">Male <font size = 4 color=#DD0055>*</font><br><br> <input type="submit" name="submit"> <br> <h1><font size = 6 color=#DD0055>Your Input:</font></h1> </form> <?php if (array_key_exists('name', $_POST) and strlen($_POST['name'])<>0) { echo "Name: ".$_POST['name']."<br>"; $name=$_POST['name']; } if (array_key_exists('gender', $_POST)) { $gender=$_POST['gender']; print "Gender: $gender<br>"; } print "<br><br>Η είσοδος στα πλαίσια με τον <font size = 4 color=#DD0055>*</font> είναι απαραίτητη!"; ?>
  • 57. Σύνδεση PHP με MySQL (1) Για να δημιουργήσετε μία βάση δεδομένων, πρέπει πρώτα να συνδεθείτε με το διακομιστή της MySQL. Αυτό γίνεται με την ακόλουθη εντολή: mysqli_connect(servername,username,password); όπου servername αντιστοιχεί στη διεύθυνση του διακομιστή, username το όνομα του χρήστη που έχει δικαίωμα πρόσβασης σε αυτόν και password ο μυστικός κωδικός του χρήστη. Π.χ, αν η MySQL έχει εγκατασταθεί τοπικά στον υπολογιστή σας και ο administrator της MySQL σας έχει ανοίξει λογαριασμό με username "username" και password "password" τότε ο ακόλουθος κώδικας PHP σας συνδέει με την MySQL. Στην περίπτωση που η σύνδεση αποτύχει, τότε η PHP μέσω της εντολής εντολής mysqli_error() επιστρέφει ένα μήνυμα λάθους.
  • 58. Σύνδεση PHP με MySQL (2) <html> <body> <?php $con = mysqli_connect("localhost","root"); if (!$con) { die('Could not connect: ' . mysql_error()); } ?> </body> </html> The die() function prints a message and exits the current script. This function is an alias of the exit() function.
  • 59. Δημιουργία Βάσης Δεδομένων Αφού έχετε συνδεθεί με το διακομιστή της βάσης μπορείτε να δημιουργήσετε μία νέα βάση δεδομένων με την εντολή: mysqli_query("CREATE DATABASE my_db",$con); Έτσι ο κώδικας σύνδεσης και δημιουργίας νέας βάσης γίνεται: <html><body> <?php $con = mysqli_connect("localhost","root"); if (!$con) { die('Could not connect: ' . mysql_error()); } if (mysqli_query("CREATE DATABASE my_db",$con)) { echo "Database created"; } else { echo "Error creating database: ".mysql_error(); } mysqli_close($con); //Τερματισμός σύνδεσης με τη ΒΔ ?> </body></html> Η εντολή mysql_query() της php είναι η πιο σημαντική από τις εντολές που αφορούν στην επικοινωνία με τη MySQL και χρησιμοποιείται όποτε θέλουμε να κάνουμε μία ερώτηση στη βάση. Ως είσοδο δέχεται ένα SQL query και στην έξοδο είτε επιστρέφει το αποτέλεσμα του query σε ένα πίνακα, είτε επιστρέφει ότι εκτελέστηκε επιτυχώς.
  • 60. Δημιουργία Πίνακα // sql to create table $sql = "CREATE TABLE phone_book ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, lastname VARCHAR(30) NOT NULL, firstname VARCHAR(30) NOT NULL, address VARCHAR(50), phone VARCHAR(10) NOT NULL )"; if (mysqli_query($conn, $sql)) { echo "Table phone_book created successfully"; } else { echo "Error creating table: " . mysqli_error($conn); }
  • 61. Εισαγωγή Δεδομένων Η εισαγωγή δεδομένων σε έναν πίνακα που έχουμε ήδη δημιουργήσει γίνεται με το ακόλουθο query της SQL: INSERT INTO table_name (column1, column2, ..., columnN) VALUES (value1, value2,... ,valueN ) // insert data in table $sql = "INSERT INTO phone_book (lastName, firstName, adress, phone) VALUES ('Παναγιώτου', 'Κώστας', 'Κ. Παλαμά 34, Καβάλα', '26510 11111')"; if (mysql_query($conn, $sql)) { echo "Insert Data in table phone_book has done successfully"; } else { echo "Error inserting data: " . mysqli_error($conn); } Εισάγετε 5 διαφορετικές εγγραφές.
  • 62. Εξαγωγή Δεδομένων // select data from table $sql = "SELECT * FROM phone_book"; $result = $conn->query($sql); if ($result->num_rows > 0) { echo "<table><tr><th>ID</th><th>Name</th></tr>"; // output data of each row while($row = $result->fetch_assoc()) { echo<tr><td>".$row["id"]."</td><td>".$row["firstname"]."".$row["lastname"]."</td></tr>"; } echo "</table>"; } else { echo "0 results"; }
  • 63. Δημιουργία Νέας ΒΔ με το όνομα menu_db <html> <body> <?php $con = mysql_connect("localhost","root"); if (!$con) { die('Could not connect: ' . mysql_error()); } if (mysql_query("CREATE DATABASE menu_db",$con)) { echo "Database created"; } else { echo "Error creating database: ".mysql_error(); } mysql_close($con); ?> </body> </html>
  • 64. Δημιουργία Πίνακα με το όνομα Dishes και πεδία: dish_id, dish_name, price, is_spicy <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "menu_db"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } // sql to create table $sql = "CREATE TABLE DISHES ( dish_id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, dish_name VARCHAR(50) NOT NULL, price DECIMAL(4,2) NOT NULL, is_spicy INT NOT NULL )"; if (mysqli_query($conn, $sql)) { echo "Table DISHES created successfully"; } else { echo "Error creating table: " . mysqli_error($conn); } mysqli_close($conn); ?>
  • 65. Εισαγωγή Τιμών (1) <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "menu_db"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } // insert data 1 in table $sql = "INSERT INTO DISHES (dish_name, price, is_spicy) VALUES ('Σπαγγέτι Καρμπονάρα', '4.56', '0')"; if (mysqli_query($conn, $sql)) { echo "Insert Data 1 in table DISHES has done successfully"; } else { echo "Error inserting data 1: " . mysqli_error($conn); } // insert data 2 in table $sql = "INSERT INTO DISHES (dish_name, price, is_spicy) VALUES ('Σπαγγέτι Amarticiana', '5.60', '1')"; if (mysqli_query($conn, $sql)) { echo "Insert Data 2 in table DISHES has done successfully"; } else { echo "Error inserting data 2: " . mysqli_error($conn); } // insert data 3 in table $sql = "INSERT INTO DISHES (dish_name, price, is_spicy) VALUES ('Ψητό Κοτόπουλο με Μπαχαρικά', '5.95', '1')"; if (mysqli_query($conn, $sql)) { echo "Insert Data 3 in table DISHES has done successfully"; } else { echo "Error inserting data 3: " . mysqli_error($conn); }
  • 66. Εισαγωγή Τιμών (2) // insert data 4 in table $sql = "INSERT INTO DISHES (dish_name, price, is_spicy) VALUES ('Πατσίτσιο', '3.70', '0')"; if (mysqli_query($conn, $sql)) { echo "Insert Data 4 in table DISHES has done successfully"; } else { echo "Error inserting data 4: " . mysqli_error($conn); } // insert data 5 in table $sql = "INSERT INTO DISHES (dish_name, price, is_spicy) VALUES ('Γιαουρτλού', '6.50', '1')"; if (mysqli_query($conn, $sql)) { echo "Insert Data 5 in table DISHES has done successfully"; } else { echo "Error inserting data 5: " . mysqli_error($conn); } // insert data 6 in table $sql = "INSERT INTO DISHES (dish_name, price, is_spicy) VALUES ('Πίτσα Μαργαρίτα', '3.50', '0')"; if (mysqli_query($conn, $sql)) { echo "Insert Data 6 in table DISHES has done successfully"; } else { echo "Error inserting data 6: " . mysqli_error($conn); } mysqli_close($conn); ?>
  • 67. Εξαγωγή Τιμών<?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "menu_db"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } // select data from table $sql = "SELECT * FROM DISHES ORDER BY price"; $result = $conn->query($sql); if ($result->num_rows > 0) { echo "<table><tr><th>ID</th><th>Dish Name</th><th>Price</th><th>Is Spicy</th></tr>"; // output data of each row while($row = $result->fetch_assoc()) { echo "<tr><td>".$row["dish_id"]."</td><td>".$row["dish_name"]."</td><td>". $row["price"]."</td><td>".$row["is_spicy"]."</td></tr>"; } echo "</table>"; } else { echo "0 results"; } mysqli_close($conn); ?>
  • 68. κι άλλη Εξαγωγή Τιμών (1) Γράψτε ένα πρόγραμμα σε PHP που θα εμφανίζει μια φόρμα στην οποία θα πρέπει να εισάγουμε την τιμή ενός φαγητού. Όταν ο χρήστης αποστείλει τα δεδομένα της φόρμας, θα εμφανίζονται όλα τα φαγητά (όνομα και τιμή) των οποίων η τιμή είναι μικρότερη από την τιμή που είσάγαμε στην φόρμα.
  • 69. κι άλλη Εξαγωγή Τιμών (2) <?php Static $pri; if (array_key_exists('pr', $_POST)) { $pri=$_POST['pr']; } else $pri = ""; ?> <HTML> <HEAD> <TITLE>Φόρμα </TITLE> </HEAD> <BODY> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> <P><STRONG>Τιμή Aνω Ορίου:</STRONG><BR> <INPUT TYPE="NUMBER" NAME="pr" STEP="ANY" VALUE = "<?php echo htmlspecialchars($pri); ?>" </P> <P><INPUT TYPE="SUBMIT" VALUE="SEND"></P> </FORM> <?php if ( array_key_exists('pr', $_POST) ) { $pri=$_POST['pr']; //echo "<p>Your price is:<br><b>$pri</b></p>"; $servername = "localhost"; $username = "root"; $password = ""; $dbname = "menu_db";
  • 70. κι άλλη Εξαγωγή Τιμών (3) // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } // select data from table $sql = "SELECT * FROM DISHES WHERE price < ".$pri; $result = $conn->query($sql); if ($result->num_rows > 0) { echo "<table><tr><th>ID</th><th>Dish Name</th><th>Price</th><th>Is Spicy</th></tr>"; // output data of each row while($row = $result->fetch_assoc()) { echo "<tr><td>".$row["dish_id"]."</td><td>". $row["dish_name"]."</td><td>".$row["price"]."</td><td>".$row["is_spicy"]."</td></tr>"; } echo "</table>"; } else { echo "0 results"; } mysqli_close($conn); } ?> </BODY> </HTML>
  • 71. κι άλλη, κι άλλη Εξαγωγή Τιμών (1) Γράψτε ένα πρόγραμμα που θα εμφανίζει μια φόρμα με ένα combo box που θα περιέχει τα ονόματα των φαγητών (τα ονόματα θα προέρχονται από τη ΔΒ). Όταν ο χρήστης αποστείλει τα δεδομένα της φόρμας, θα πρέπει να εμφανίζονται όλες οι πληροφορίες που αφορούν το συγκεκριμένο φαγητό (όλα τα πεδία του πίνακα dishes).
  • 72. κι άλλη, κι άλλη Εξαγωγή Τιμών (2) <?php Static $dishn; if (array_key_exists('dishname', $_POST)) $dishn=$_POST['dishname']; else $dishn = ""; $servername = "localhost"; $username = "root"; $password = ""; $dbname = "menu_db"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } // select data from table $sql = "SELECT * FROM DISHES"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { $dish_names[] = $row["dish_name"]; } echo "</table>"; } else { echo "0 results"; } /*foreach ($dish_names as $d) { print ("$d<br>"); }*/ ?>
  • 73. κι άλλη, κι άλλη Εξαγωγή Τιμών (3) <h2>PHP Form Example - Lists vs DB Content</h2> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> <select name="dishname" VALUE = "<?php echo $dishn; ?>"> <option>Διάλεξε κατηγορία...</option> <?php foreach ($dish_names as $d) { if ($dishn == $d) print "<option selected>".$d."</option>"; else print "<option>".$d."</option>"; } ?> </select> <input type="submit" name="submit"> </form> <?php echo "<h2>Έχεις επιλέξει:</h2>"; if (array_key_exists('dishname', $_POST)) { $dishn=$_POST['dishname']; // echo $dishn; $sql = "SELECT * FROM DISHES where dish_name LIKE '".$dishn."'"; $result = $conn->query($sql); if ($result->num_rows > 0) { echo "<table><tr><th>ID</th><th>Dish Name</th><th>Price</th><th>Is Spicy</th></tr>";
  • 74. κι άλλη, κι άλλη Εξαγωγή Τιμών (4) // output data of each row while($row = $result->fetch_assoc()) { echo "<tr><td>".$row["dish_id"]."</td><td>". $row["dish_name"]."</td><td>".$row["price"]."</td><td>".$row["is_spicy"]."</td></tr>"; } echo "</table>"; } } mysqli_close($conn); ?>