Michael Kalochristianakis

Electrical and Computer Engineer




article: is there a need for new technologies ?, patris.gr, 19/9/2024 new





wokring on having it autoplay (google blocks it)... till then, unmute or click below to change

'τοσοῦτον δ’ ἀπολέλοιπεν ἡ πόλις ἡμῶν περὶ τὸ φρονεῖν καὶ λέγειν τοὺς ἄλλους ἀνθρώπους, ὥσθ’ οἱ ταύτης μαθηταὶ τῶν ἄλλων διδάσκαλοι γεγόνασι, καὶ τὸ τῶν Ἑλλήνων ὄνομα πεποίηκε μηκέτι τοῦ γένους ἀλλὰ τῆς διανοίας δοκεῖν εἶναι, καὶ μᾶλλον Ἕλληνας καλεῖσθαι τοὺς τῆς παιδεύσεως τῆς ἡμετέρας ἢ τοὺς τῆς κοινῆς φύσεως μετέχοντας' , Ισοκράτης, στον Πανηγυρικό του λόγο προς τους Αθηναίους

web programming

εργαστήρια 4 - 5: PHP και διασύνδεση με βάση δεδομένων

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

τι θα χρειστείτε:

αναφορά στην html βλ w3shools ή τις σημειώσεις τις θεωρίας του μαθήματος στο eclass
αναφορά για τη χρήση php, πχ php.net και στη βάση δεδομένων ΜySQL, mysql
για τη χρήση του πακέτου εξυπηρέτησης xampp μπορείτε να ανατρέξετε στην τεκμηρίωση του πακέτου, στη σελίδα του xampp
τις οδηγίες για τη χρήση του συστήματος ανάπτυξης και συγκεκριμένα για τη σύνδεση και χρήστη της βάσης δεδομένων

εργαστηριακή άσκηση

  • σε συνέχεια της προηγούμενης εργαστηριακής άσκησης που περιελάμβανε σελίδες υποβολής και αναφοράς των στοιχεών των σπουδαστών θα πρέπει να μεταβάλλετε τον κώδικα του έχετε ήδη γράψει ώστε τα στοιχεία των σπουδαστών να αποθηκεύονται σε βάση δεδομένων και να ανακτώνται από αυτήν. Για τον λόγο αυτόν θα πρέπει να εκτελέσετε τις παρακάτω εργασίες:
  •  
  • (α) δημιουργία της βάσης δεδομένων και των πινάκων
  •  
  • δημιουργήστε στη βάση δεδομένων πίνακα με όνομα data και εγγραφές αντίστοιχες με αυτές που είχατε ορίσει στη φόρμα εισόδου στοιχείων, δηλαδή: όνομα, επώνυμο, όνομα χρήστη, συνθηματικό, email, διεύθυνση, τμήμα, εξάμηνο και αριθμό μητρώου, που θα είναι το πρωτεύον κλειδί για τον πίνακα. Το sql ερώτημα που δημιουργήσει έναν τέτοιο πίνακα μπορεί να είναι το εξής:
    • create table data3 (id integer, name varchar(20), surname varchar(30), username varchar(20), password varchar(10), email varchar(20), address varchar(20), dpt varchar(20), semester integer, PRIMARY KEY(ID));
  •  
  • (β) χρήση της php για σύνδεση με τη βάση δεδομένων και την αποθήκευση στοιχείων
  •  
  • μεταβάλλετε κατάλληλα τον κώδικα της σελίδας report.php που λαμβάνει το http request με τα στοιχεία των σπουδαστών ώστε να αποθηκεύει τα στοιχεία πριν τα παρουσιάσει στον χρήστη. Μπορείτε να χρησιμοποιήστε τη συνάρτηση mysql_connect για τη σύνδεση με τη βάση δίνοντας τα κατάλληλα ορίσματα. Kάντε χρήση του λογαριασμού που δημιουργήσατε παραπάνω
    • $conn = mysqli_connect('διεύθυνση εξυπηρετητή', 'όνομα χρήστη', 'συνθηματικό', 'βάση δεδομένων') για τον χρήστη 1515
    • $conn = mysqli_connect('localhost', '1515', '1515-xaasxs', 'db1515')
  • μπορείτε να επιλέγετε την βάση δεδομένων με την εντολή
    • mysqli_select_db('βάση δεδομένων')
  • αντίστοιχα, μπορείτε να χρησιμοποιήστε τη mysql_query για την εκτέλεση ερωτημάτων. Σχεδιάστε το ερώτημα προς τη βάση δεδομένων ώστε να είναι δυναμικό, υπό την έννοια ότι σε κάθε κλήση της σελίδας θα πρέπει να λαμβάνει τις διαφορετικές τιμές που υποβάλλονται από τον χρήστη. Το ερώτημα θα πρέπει να είναι της μορφής INSERT INTO DATA VALUES ('όνομα', 'επώνυμο', 'εξάμηνο', ... 'κτλ'). Χρησιμοποιήστε την $_GET["όνομα μεταβλητής αίτησης"] για να λαμβάνετε τις τιμές από την υποβολή και να τις εισάγετε στο παραπάνω ερώτημα.
    • $conn -> query('ερώτημα SQL')
  • πρέπει να ελέγχετε από το εργαλείο διαχείρισης της βάσης δεδομένων ότι τα δεδομένα όντως αποθηκεύονται σωστά
  •  
  • (γ) χρήση της php για σύνδεση με τη βάση δεδομένων και την ανάκτηση στοιχείων
  •  
  • δημιουργήστε σελίδα με όνομα usersList.php η οποία θα παρουσιάζει όλους τους χρήστες που έχετε εισάγει στο σύστημα, παραθέτοντας τo ΑΜ, και το ονοματεπώνυμο του χρήστη. Για την ανάκτηση των δεδομένων θα πρέπει να εκτελέσετε το κατάλληλο ερώτηματ τύπου SELECT στη βάση δεδομένων. Μπορείτε να χρησιμοποιήσετε τη συνάρτηση mysql_fetch_assoc(), η οποία παίρνει ως όρισμα το αποτέλεσμα της mysql_query και επιστρέφει array με τις τιμές μιας εγγραφής του πίνακα. Στη συνέχεια με $result['όνομα πεδίου'] μπορείτε να ανακτάτε τις τιμές των πεδίων.
  •  
  • μεταβάλλετε τον κώδικα κατάλληλα ώστε το ΑΜ του χρήστη να παρουσιάζεται ως link το οποίο θα κάνει η υποβολή στη σελίδα userDetails.php η οποία θα παρουσιάζει όλες τις πληροφορίες που περιλαμβάνονται στον πίνακα data για τον επιλεγμένο χρήστη.
    August 2004