Εισαγωγή
Σελιδοποίηση είναι μια σημαντική έννοια στη δημιουργία εφαρμογών που βασίζονται σε δεδομένα. Κατά την ανάκτηση εγγραφών από τη βάση δεδομένων, ενδέχεται να ανακτηθεί μεγάλος αριθμός εγγραφών. Για παράδειγμα, κατά την εκτέλεση ενός ερωτήματος για ενεργούς χρήστες ή χρήστες που ανήκουν σε μια συγκεκριμένη τοποθεσία, μπορεί να επιστραφεί μεγάλος αριθμός χρηστών, που ανέρχεται σε εκατοντάδες ή και χιλιάδες. Η εμφάνιση αυτού του τεράστιου αριθμού εγγραφών σε μία μόνο ιστοσελίδα δεν είναι μια φιλική προς τον χρήστη λύση, καθώς μπορεί να τον κατακλύσει και να καταστρέψει την ομαλότητα της εμπειρίας χρήστη.
Επομένως, μια προτιμότερη επιλογή είναι ο περιορισμός του αριθμού των εγγραφών. Αυτή είναι η έννοια της σελιδοποίησης. Με άλλα λόγια, χωρίζουμε τον αριθμό των εγγραφών σε σελίδες και στη συνέχεια εμφανίζουμε τη σελίδα. Μια μεμονωμένη σελίδα μπορεί να έχει δέκα ή ακόμα και δεκαπέντε ή οποιονδήποτε άλλο εφικτό αριθμό εγγραφών που μπορούν να εμφανιστούν στο front-end.
Αν και η σελιδοποίηση μπορεί να βελτιώσει τη συνολική εμπειρία χρήστη της εφαρμογής, μπορεί επίσης να κάνει την εφαρμογή ταχύτερη, καθώς μπορούμε να ανακτήσουμε μειωμένο αριθμό εγγραφών. Έτσι, μεταφέρονται λιγότερα δεδομένα μέσω του δικτύου μεταξύ πελάτη και διακομιστή, μειώνοντας τον χρόνο καθυστέρησης.
Σε αυτόν τον οδηγό, θα κατασκευάσουμε έναν κώδικα PHP που συνδέεται στη βάση δεδομένων και θα υλοποιήσουμε σελιδοποίηση χρησιμοποιώντας τη βάση δεδομένων MySQL και την LIMIT πρότασή της.
Προαπαιτούμενα
Για να παρακολουθήσετε αυτόν τον οδηγό, θα χρειαστείτε:
-
Την τελευταία έκδοση του Ubuntu, εγκατεστημένη και σε λειτουργία. Ακολουθήστε τον οδηγό Οδηγός ρύθμισης του διακομιστή Ubuntu σας αν χρειάζεστε βοήθεια.
-
Θα πρέπει επίσης να έχετε εγκατεστημένα τα PHP και MySQL. Για τη ρύθμιση των PHP και MySQL, έχουμε έναν οδηγό: Εγκατάσταση LAMP Stack – Linux Apache MySQL PHP.
Βήμα 1 — Ρύθμιση χρήστη βάσης δεδομένων και δοκιμαστικής βάσης δεδομένων
Σε αυτόν τον οδηγό, θα δημιουργήσουμε τη σύνδεση με τη βάση δεδομένων MySQL και θα ανακτήσουμε τις εγγραφές. Αυτές οι εγγραφές θα εμφανίζονται σε μια σελίδα HTML με το στοιχείο πίνακα. Για να δημιουργήσουμε τη σύνδεση και να εμφανίσουμε τις εγγραφές, θα χρησιμοποιήσουμε ένα σενάριο PHP. Μόλις είμαστε έτοιμοι με τη σύνδεση της βάσης δεδομένων, θα δοκιμάσουμε την εφαρμογή μας με σελιδοποίηση και χωρίς σελιδοποίηση. Η δοκιμή με αυτόν τον τρόπο θα μας επιτρέψει να κατανοήσουμε πώς λειτουργεί η σελιδοποίηση στην πράξη.
Για να συνδεθούμε στη βάση δεδομένων MySQL, θα χρειαστούμε μια δοκιμαστική βάση δεδομένων MySQL και τα στοιχεία ελέγχου ταυτότητας του χρήστη για τη σύνδεση στη βάση δεδομένων MySQL. Σε αυτό το βήμα, θα δημιουργήσετε έναν χρήστη μη-root για τη βάση δεδομένων MySQL, μια δοκιμαστική βάση δεδομένων και έναν πίνακα για να δοκιμάσετε το σενάριο PHP.
Αρχικά, συνδεθείτε στον διακομιστή σας. Στη συνέχεια, συνδεθείτε στον διακομιστή MySQL χρησιμοποιώντας την παρακάτω εντολή:
|
1 |
mysql> sudo mysql -u root -p |
Θα σας ζητηθεί ο κωδικός πρόσβασης του χρήστη root. Εισαγάγετε τον κωδικό πρόσβασης και πατήστε Enter για να προχωρήσετε. Στη συνέχεια, δημιουργήστε μια δοκιμαστική βάση δεδομένων, με το όνομα test_db, την οποία θα χρησιμοποιήσουμε στον οδηγό μας. Για να δημιουργήσετε μια νέα βάση δεδομένων, εκτελέστε την παρακάτω εντολή:
|
1 |
mysql> Create database test_db; |
Θα δείτε το αποτέλεσμα από τον διακομιστή MySQL ότι επηρεάστηκε μία σειρά. Στη συνέχεια, θα πρέπει να δημιουργήσουμε έναν νέο χρήστη για αυτήν τη βάση δεδομένων. Θα εκχωρήσουμε σε αυτόν τον χρήστη όλα τα προνόμια. Ωστόσο, όταν εργάζεστε με πραγματικές εφαρμογές, βεβαιωθείτε ότι περιορίζετε τα προνόμια. Θα ονομάσουμε τον χρήστη μας test_user. Στην παρακάτω εντολή, αντικαταστήστε το PASSWORD με έναν ισχυρό κωδικό πρόσβασης:
|
1 |
mysql> GRANT ALL PRIVILEGES ON test_db.* TO 'test_user'@'localhost' IDENTIFIED BY 'PASSWORD'; |
Μόλις δημιουργηθεί ο χρήστης, κάντε flush τα προνόμια:
|
1 |
mysql> FLUSH PRIVILEGES; |
Τώρα που και το test_user και το test_db είναι έτοιμα, χρησιμοποιήστε το test_db για να δημιουργήσετε πίνακες. Για να μεταβείτε στο test_db, εκτελέστε την παρακάτω εντολή:
|
1 |
mysql> Use test_db; |
Μόλις δούμε στο αποτέλεσμα ότι η βάση δεδομένων άλλαξε, είμαστε έτοιμοι να δημιουργήσουμε τον πίνακά μας. Θα δημιουργήσουμε έναν νέο πίνακα με το όνομα Products για να περιέχει τα προϊόντα. Για τους σκοπούς μας, θα χρειαστούμε μόνο δύο στήλες σε αυτόν τον πίνακα: product_id και product_name. Θα ορίσουμε το product_id σε AUTO_INCREMENT, έτσι ώστε να αυξάνεται κάθε φορά που προσθέτουμε ένα νέο προϊόν. Η άλλη στήλη που ονομάζεται product_name θα χρησιμοποιηθεί για την αποθήκευση του ονόματος του προϊόντος. Η product_name στήλη θα χρησιμοποιηθεί για τη διαφοροποίηση κάθε προϊόντος με βάση το όνομα:
|
1 |
mysql> Create table products (product_id BIGINT PRIMARY KEY AUTO_INCREMENT, product_name VARCHAR(50) NOT NULL ) Engine = InnoDB; |
Τώρα θα προσθέσουμε μερικά προϊόντα σε αυτόν τον νεοσύστατο πίνακα. Για αυτό εκτελέστε τις παρακάτω εντολές:
|
1 2 3 4 5 6 7 8 9 10 |
mysql> Insert into products(product_name) values ('WIRELESS MOUSE'); mysql> Insert into products(product_name) values ('BLUETOOTH SPEAKER'); mysql> Insert into products(product_name) values ('GAMING KEYBOARD'); mysql> Insert into products(product_name) values ('320GB FAST SSD'); mysql> Insert into products(product_name) values ('17 INCHES TFT'); mysql> Insert into products(product_name) values ('SPECIAL HEADPHONES'); mysql> Insert into products(product_name) values ('HD GRAPHIC CARD'); mysql> Insert into products(product_name) values ('80MM THERMAL PRINTER'); mysql> Insert into products(product_name) values ('HDMI TO VGA CONVERTER'); mysql> Insert into products(product_name) values ('FINGERPRINT SCANNER'); |
Για να επαληθεύσετε εάν αυτά τα προϊόντα έχουν εισαχθεί στον πίνακα, εκτελέστε την παρακάτω εντολή:
|
1 |
mysql> select * from products; |
Αν δείτε τα προϊόντα που εισαγάγατε παραπάνω, είστε έτοιμοι να προχωρήσετε. Βγείτε από τη βάση δεδομένων MySQL χρησιμοποιώντας την παρακάτω εντολή:
|
1 |
mysql> quit; |
Τώρα που έχουμε ρυθμίσει τη βάση δεδομένων MySQL και έχουμε εισαγάγει δοκιμαστικά δεδομένα, είμαστε έτοιμοι να γράψουμε τον κώδικα για το σενάριο PHP που θα συνδεθεί σε αυτήν τη βάση δεδομένων και θα ανακτήσει εγγραφές.
Βήμα 2 – Ανάκτηση και εμφάνιση εγγραφών χωρίς σελιδοποίηση
Όπως αναφέρθηκε παραπάνω, θα εμφανίσουμε πρώτα τις εγγραφές χωρίς σελιδοποίηση. Θα δημιουργήσουμε ένα σενάριο PHP που συνδέεται με τη βάση δεδομένων MySQL και ανακτά τις εγγραφές. Θα συνδεθούμε στη test_db που δημιουργήσαμε παραπάνω χρησιμοποιώντας το test_user και θα ανακτήσουμε τις εγγραφές.
Ο πίνακάς μας products έχει αυτήν τη στιγμή μόνο δέκα εγγραφές. Μπορεί να μην είναι προφανές σε πολλούς χρήστες εάν η σελιδοποίηση είναι απαραίτητη ή όχι. Ωστόσο, η δοκιμή της εφαρμογής χωρίς τη σελιδοποίηση θα εξηγήσει πώς αυτή βοηθά στη συνολική εμπειρία της εφαρμογής. Θα κατανοήσουμε επίσης πώς ο διαχωρισμός των δεδομένων βοηθά στη δημιουργία μιας καλύτερης εμπειρίας χρήστη και μειώνει την επιβάρυνση στον διακομιστή.
Στον διακομιστή PHP σας, στον ριζικό φάκελο εγγράφων του ιστότοπου, εκτελέστε την παρακάτω εντολή:
sudo nano /var/www/html/pagination_test.php
Τώρα σε αυτό το αρχείο, προσθέστε το παρακάτω περιεχόμενο. Βεβαιωθείτε ότι έχετε αντικαταστήσει το PASSWORD με την τιμή του κωδικού πρόσβασης του test_user:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php try { $pdo = new PDO("mysql:host=localhost;dbname=test_db", "test_user", "PASSWORD"); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,false); $sql = "select * from products"; $stmt = $pdo->prepare($sql); $stmt -> execute(); echo "<table border='1' align='center'>"; while (($row = $stmt -> fetch(PDO::FETCH_ASSOC)) !== false) { echo "<tr>"; echo "<td>".$row['product_id']."</td>"; echo "<td>".$row['product_name']."</td>"; echo "</tr>"; } echo "</table>"; } catch(PDOException $e) { echo $e->getMessage(); } ?> |
Αποθηκεύστε το αρχείο. Πριν προχωρήσουμε, θα συνοψίσουμε τι κάναμε παραπάνω:
-
Αρχικά, συνδεθήκαμε στη βάση δεδομένων MySQL, και για αυτό χρησιμοποιήσαμε τη PHP Data Object (PDO) βιβλιοθήκη. Χρησιμοποιήσαμε τα διαπιστευτήρια του χρήστη MySQL που είχαμε χρησιμοποιήσει παραπάνω για να συνδεθούμε στη βάση δεδομένων MySQL. Το PDO είναι μια εξαιρετικά χρήσιμη βιβλιοθήκη που χρησιμοποιείται για τη σύνδεση στη βάση δεδομένων. Καθιστά το επίπεδο πρόσβασης δεδομένων εύκολο στην κωδικοποίηση και επιτρέπει τη σύνδεση σε διάφορες βάσεις δεδομένων χωρίς να χρειάζεται εκτεταμένη αναδιάρθρωση της εφαρμογής. Το PDO χρησιμοποιεί προετοιμασμένες δηλώσεις (prepared statements), γεγονός που διασφαλίζει ότι δεν τίθεται σε κίνδυνο η ασφάλεια. Επομένως, τα ερωτήματα εκτελούνται με ασφάλεια.
-
Στη συνέχεια, χρησιμοποιήσαμε το PDO API για να εκτελέσουμε τη δήλωση select * from products . Το $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,false) διασφαλίζει ότι οι τύποι δεδομένων στην PHP είναι οι ίδιοι με αυτούς στη βάση δεδομένων. Επομένως, τα product_id και product_name εμφανίζονται ως ακέραιος (integer) και συμβολοσειρά (string) αντίστοιχα.
-
Το $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); λέει στο PDO να εμφανίσει μια εξαίρεση (exception) εάν υπάρχει σφάλμα. Με αυτόν τον τρόπο, μπορούμε εύκολα να πιάσουμε την εξαίρεση στο μπλοκ try … catch και να τη χειριστούμε όπως απαιτείται.
Τώρα που το σενάριο κώδικά μας είναι έτοιμο, πρέπει να το εκτελέσουμε. Για αυτό, ανοίξτε το πρόγραμμα περιήγησής σας και επισκεφτείτε τη διεύθυνση URL: /var/www/html/pagination_test.php. Βεβαιωθείτε ότι έχετε προσθέσει την IP του διακομιστή σας στη διεύθυνση URL. Εάν εκτελείτε την εφαρμογή τοπικά, η διεύθυνση URL θα γίνει http://localhost/var/www/html/pagination_test.php.
Θα δείτε το παρακάτω αποτέλεσμα:

Εδώ, τα προϊόντα μας επιστρέφονται και εμφανίζονται στη σελίδα. Τώρα, φανταστείτε αν είχαμε εκατοντάδες προϊόντα. Αυτό θα είχε ως αποτέλεσμα έναν μεγάλο βρόχο (loop) για την ανάκτηση των δεδομένων και την εμφάνισή τους στη σελίδα. Αυτό θα αυξήσει τον χρόνο φόρτωσης της σελίδας.
Στην επόμενη ενότητα, θα τροποποιήσουμε το σενάριο PHP και θα συμπεριλάβουμε το MySQL LIMIT clause. Αυτό θα διορθώσει το πρόβλημα της εμφάνισης μεγάλου αριθμού εγγραφών. Θα προσθέσουμε τους συνδέσμους σελιδοποίησης, ώστε ο χρήστης να μπορεί να πλοηγηθεί στις σελίδες.
Βήμα 3 – Ρύθμιση σελιδοποίησης με χρήση PHP
Σε αυτό το βήμα, θα ρυθμίσουμε τη σελιδοποίηση χρησιμοποιώντας PHP για την εμφάνιση των δεδομένων με χρήση πολλαπλών πινάκων. Για να προσαρμόσουμε τη σελιδοποίηση, θα τροποποιήσουμε το σενάριο που είχαμε κωδικοποιήσει στο προηγούμενο βήμα.
Θα χρησιμοποιήσουμε το LIMIT clause της βάσης δεδομένων MySQL. Πριν το προσθέσουμε αυτό στο σενάριο, ας δούμε ένα παράδειγμα της σύνταξης MySQL LIMIT σύνταξης:
|
1 |
mysql> Select [column1, column2, column n...] from [table name] LIMIT offset, records; |
Στην παραπάνω δήλωση μπορούμε να δούμε ότι το LIMIT clause έχει offset και records ορίσματα. offset καθορίζει πόσες εγγραφές θα παραλειφθούν και το records καθορίζει τον μέγιστο αριθμό εγγραφών που θα εμφανίζονται ανά σελίδα ή θα ανακτώνται από τη βάση δεδομένων.
Τώρα που γνωρίζουμε πώς λειτουργεί η σελιδοποίηση, ας δούμε πώς θα την εφαρμόσουμε. Θα εμφανίζουμε τρεις εγγραφές ανά σελίδα. Έτσι, αν έχουμε δέκα εγγραφές στη βάση δεδομένων μας, θα έχουμε τέσσερις σελίδες διαιρώντας τον συνολικό αριθμό εγγραφών με τον αριθμό των εγγραφών ανά σελίδα. Δεδομένου ότι το αποτέλεσμα μπορεί να μην είναι ακέραιος αριθμός, θα χρησιμοποιήσουμε τη συνάρτηση PHP Ceil για στρογγυλοποίηση στον πλησιέστερο ακέραιο για να λάβουμε το αποτέλεσμα ως ακέραιο αριθμό. Παρακάτω είναι ένα απλό απόσπασμα κώδικα για την επίδειξη της Ceil συνάρτησης:
|
1 |
$total_pages=ceil($total_records/$per_page); |
Τώρα θα προσθέσουμε τον κώδικα για τη σελιδοποίηση. Για να ενεργοποιήσετε τη σελιδοποίηση και να προσθέσετε τους συνδέσμους πλοήγησης, ανοίξτε το αρχείο /var/www/html/pagination_test.php χρησιμοποιώντας την παρακάτω εντολή:
|
1 |
$ sudo nano /var/www/html/pagination_test.php |
Στη συνέχεια, αντικαταστήστε τα περιεχόμενα αυτού του αρχείου με τον παρακάτω κώδικα:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
<?php try { $pdo = new PDO("mysql:host=localhost;dbname=test_db", "test_user", "ΚΩΔΙΚΟΣ_ΠΡΟΣΒΑΣΗΣ"); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,false); /* Έναρξη πληροφοριών σελιδοποίησης */ $page = 1; if (isset($_GET['page'])) { $page = filter_var($_GET['page'], FILTER_SANITIZE_NUMBER_INT); } $per_page = 3; $sqlcount = "select count(*) as total_records from products"; $stmt = $pdo->prepare($sqlcount); $stmt->execute(); $row = $stmt->fetch(); $total_records = $row['total_records']; $total_pages = ceil($total_records / $per_page); $offset = ($page-1) * $per_page; /* Τέλος πληροφοριών σελιδοποίησης */ $sql = "select * from products limit :offset, :per_page"; $stmt = $pdo->prepare($sql); $stmt->execute(['offset'=>$offset, 'per_page'=>$per_page]); echo "<table border='1' align='center'>"; while ( ($row = $stmt->fetch(PDO::FETCH_ASSOC) ) !== false) { echo "<tr>"; echo "<td>".$row['product_id']."</td>"; echo "<td>".$row['product_name']."</td>"; echo "</tr>"; } echo "</table>"; /* Έναρξη πλοήγησης */ echo "<table border='1' align='center'>"; echo "<tr>"; if ($page-1 >= 1) { echo "<td><a href=".$_SERVER['PHP_SELF']."?page=".($page - 1).">Προηγούμενο</a></td>"; } if ($page+1 <= $total_pages) { echo "<td><a href=".$_SERVER['PHP_SELF']."?page=".($page + 1).">Επόμενο</a></td>"; } echo "</tr>"; echo "</table>"; /* Τέλος πλοήγησης */ } catch(PDOException $e) { echo $e->getMessage(); } ?> |
Ακολουθεί μια σύνοψη αυτού του κώδικα:
-
Πρέπει να διατηρήσουμε τις πληροφορίες σχετικά με τη σελίδα στην οποία βρισκόμαστε αυτήν τη στιγμή. Για αυτό χρησιμοποιούμε τη $page μεταβλητή. Η $page μεταβλητή χρησιμοποιείται για την εξαγωγή της σελίδας στην οποία βρισκόμαστε αυτήν τη στιγμή χρησιμοποιώντας τη $_GET[‘page’] μεταβλητή.
-
Στη συνέχεια, πρέπει να καθορίσουμε πόσες σελίδες εμφανίζουμε σε μια σελίδα. Για αυτό χρησιμοποιούμε τη $per_page μεταβλητή. Εδώ εμφανίζουμε μόνο τρία προϊόντα ανά σελίδα.
-
Όπως συζητήθηκε παραπάνω, πρέπει να έχουμε τον συνολικό αριθμό των εγγραφών που υπάρχουν στη βάση δεδομένων. Αυτό είναι απαραίτητο ώστε να μπορέσουμε να προσδιορίσουμε τον συνολικό αριθμό των σελίδων. Η $total_records μεταβλητή περιέχει αυτή την πληροφορία.
-
Τέλος, πρέπει να γνωρίζουμε πόσες εγγραφές πρέπει να παραλείψουμε. Για παράδειγμα, αν βρισκόμαστε στη δεύτερη σελίδα, πρέπει να παραλείψουμε τις πρώτες τρεις εγγραφές της βάσης δεδομένων. Χρησιμοποιούμε τη $offset μεταβλητή για να κρατήσουμε αυτή την πληροφορία. Υπολογίσαμε αυτή την πληροφορία σε κάθε φόρτωση σελίδας χρησιμοποιώντας τον τύπο $offset=($page-1)*$per_page. Αν χρειάζεται να εμφανίσετε οποιονδήποτε άλλο αριθμό στοιχείων, μπορείτε να καθορίσετε την τιμή στη $per_page μεταβλητή.
-
Για να εμφανίσουμε τα κουμπιά πλοήγησης, χρησιμοποιούμε τον παρακάτω κώδικα:
|
1 2 3 4 5 6 7 8 9 10 |
. . . if( $page-1>=1) { echo "<td><a href=".$_SERVER['PHP_SELF']."?page=".($page-1).">Προηγούμενο</a></td>"; } if( $page+1<=$total_pages) { echo "<td><a href=".$_SERVER['PHP_SELF']."?page=".($page+1).">Επόμενο</a></td>"; } . . . |
Η λογική είναι ότι η $page χρησιμοποιείται για να κρατάει την τρέχουσα σελίδα. Αν θέλουμε να εμφανίσουμε την προηγούμενη επιλογή στη σελίδα, το σενάριο θα αφαιρέσει ένα από την τιμή της $page μεταβλητής. Αν το αποτέλεσμα είναι μεγαλύτερο ή ίσο με ένα, η προηγούμενη επιλογή εμφανίζεται στη σελίδα.
Παρομοίως, για να εμφανίσουμε την επόμενη επιλογή, προσθέτουμε ένα στη $page μεταβλητή. Εδώ διασφαλίζουμε ότι το αποτέλεσμα της πρόσθεσης δεν πρέπει να υπερβαίνει τον συνολικό αριθμό σελίδων στη $total_pages μεταβλητή.
Μετά από αυτό, είναι ώρα να ελέγξετε τη σελίδα. Ανοίξτε το πρόγραμμα περιήγησης και μεταβείτε στη σελίδα χρησιμοποιώντας τη διεύθυνση URL που χρησιμοποιήσατε προηγουμένως:
|
1 |
http://your_server_ip/pagination_test.php |
Θα δείτε το αποτέλεσμα όπως παρακάτω:



Εδώ έχετε τελικά υλοποιήσει τη σελιδοποίηση χρησιμοποιώντας τον όρο LIMIT της MySQL στο σενάριο PHP. Υλοποιώντας τη σελιδοποίηση στην εφαρμογή σας, θα έχετε έναν καλύτερο τρόπο πλοήγησης σε πολλαπλές εγγραφές.
Συμπέρασμα
Σε αυτόν τον οδηγό, είδαμε πώς να υλοποιήσετε τη σελιδοποίηση χρησιμοποιώντας PHP και MySQL σε Ubuntu. Χρησιμοποιώντας αυτά τα βήματα, μπορείτε να δημιουργήσετε εφαρμογές που μπορούν να εμφανίζουν επαρκώς μεγάλο αριθμό εγγραφών, χωρισμένων σε σελίδες για αποτελεσματικό χειρισμό.
Επιπλέον, έχουμε περισσότερους χρήσιμους οδηγούς για PHP και MySQL χρησιμοποιώντας Ubuntu:
- Εγκατάσταση και Ασφάλιση του phpMyAdmin σε Ubuntu 18.04
- Πώς να Επαναφέρετε τον Κωδικό Πρόσβασης Root του MariaDB ή της MySQL
- Οδηγός CloudSigma: Πώς να εγκαταστήσετε τη MySQL σε έναν διακομιστή και τα βασικά της MySQL
Καλή συνέχεια!
Σχόλια
Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.