Next page σε εξαγωγή δεδομένων

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
Firefast
Δημοσιεύσεις: 91
Εγγραφή: 26 Νοέμ 2006 12:53
Τοποθεσία: Χαμένος στο άπειρο

Next page σε εξαγωγή δεδομένων

Δημοσίευση από Firefast » 30 Νοέμ 2010 20:03

Καλησπέρα στην παρέα του freestuff....

Έχω αυτό

Κώδικας: Επιλογή όλων

<?
                        include&#40;'config/db_con.php'&#41;;
                        mysql_connect&#40;"$host", "$username", "$password"&#41;or die&#40;"cannot connect"&#41;;
                        mysql_select_db&#40;"$db_name"&#41;or die&#40;"cannot select DB"&#41;;
                        $top = "SELECT * FROM `example` ORDER BY count DESC LIMIT 0, 30";
                        $new = mysql_query&#40;$top&#41; or die&#40;mysql_error&#40;&#41;&#41;; 
                        while&#40;$rows = mysql_fetch_array&#40;$new&#41;&#41;&#123;
                        ?>
και θέλω μετά από αυτό
$top = "SELECT * FROM `example` ORDER BY count DESC LIMIT 0, 30";
να κάνω μετά τα 30 να δημιουργούνται και άλλες σελίδες που να περιέχει πάλι 30 η καθεμία και οι σελίδες να είναι τόσες ώστε να μπορούν να εμφανιστούν όλα τα δεδομένα....(δηλαδή στο τέλος της σελίδας να εμφανίζεται next page 1,2,3,4,5,6....και τα λοιπά)

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

θα του ήμουν ευγνώμων :-)
It's not technology....It's what you do with it.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Next page σε εξαγωγή δεδομένων

Δημοσίευση από fafos » 30 Νοέμ 2010 21:07

Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
Firefast
Δημοσιεύσεις: 91
Εγγραφή: 26 Νοέμ 2006 12:53
Τοποθεσία: Χαμένος στο άπειρο

Next page σε εξαγωγή δεδομένων

Δημοσίευση από Firefast » 02 Δεκ 2010 15:00

Ευχαριστώ πολύ για την άμεση σου ανταπόκριση..!

Έψαξα αρκετά στα link που μου έδωσες και βρήκα ένα άλλο post σου κάτι σαν οδηγός/βοήθημα το ενσωμάτωσα και το παραμετροποίησα στις ανάγκες αλλά από τι φαίνεται κάτι λάθος κάνω και το μόνο αποτέλεσμα που παίρνω πίσω στην σελίδα μου είναι το "Δεν βρέθηκαν εγραφές"

Μιλάω για αυτό το post
fafos έγραψε:Ας φτιάξουμε (άλλο) ένα βοήθημα για paging...

με αυτό το βοήθημα μπορούμε να δίνουμε σελιδοποίηση στα δεδομένα μας της μορφής 1,2,3,4..κλπ κλπ. Επίσης μας εμφανίζει links για αρχική, επόμενη προηγούμενη και τελευταία σελίδα. Μπορούμε να δώσουμε τον αριθμό σελίδων στο μενού που θέλουμε να εμφανίζουμε.

demos:

απλό paging: http://www.istopoli.com/cruise/paging/index.php

search paging: http://www.istopoli.com/cruise/paging/search.php


Download: http://www.istopoli.com/cruise/paging/paging.zip


Εγκατάσταση:

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

Ανεβάζετε το αρχείο paging.php στην ιστοσελίδα σας. Αυτό το αρχείο είναι μία class την οποία ΔΕΝ πρέπει να πειράξετε αν δεν γνωρίζετε τι κάνετε!

Στα αρχεία έχω την index.php και την search.php.
H index.php είναι ένα απλό paging ενώ η search.php είναι paging στο οποίο μπορούμε να δώσουμε αναζήτηση δεδομένων.

Ξεκινάμε δίνοντας style στην σελιδοποίηση:

Κώδικας: Επιλογή όλων

<style type="text/css">
<!--

.paging&#123;
margin &#58; 0px;
padding-top &#58; 1px;
padding-left &#58; 4px;
padding-right &#58; 4px;
padding-bottom &#58; 1px;
text-align &#58; center;
background-color &#58; #f9f9f9;
border &#58; 1px solid #cccccc;
&#125;
a.link-red&#58;link,a.link-red&#58;active,a.link-red&#58;visited&#123;color&#58;#990000;text-decoration&#58;none;&#125;

-->
</style>
Εδώ αλλάζετε μόνο χρώματα, γραμματοσειρές κλπ.. ΜΗΝ αλλάζετε τους τίτλουs των styles!

Μετά αρχίζουμε την σύνδεση με την βάση μας και κάνουμε include την class paging.php

Κώδικας: Επιλογή όλων

include_once&#40;"paging.php"&#41;;

Επόμενο βήμα είναι να δώσουμε την query για να καλέσουμε τα δεδομένα μας από την βάση.

Μετά δίνουμε τα όρια του μενού σελιδοποίησης:

Κώδικας: Επιλογή όλων

	$record_per_page=10;// apotelesmata ana selida
	$scroll=5;// poses selides tha mas deixnei sto paging
Πιο κάτω καλούμε την class:

Κώδικας: Επιλογή όλων

$page=new Page&#40;&#41;; 
$page->set_page_data&#40;$indexpage,$total_records,$record_per_page,$scroll,true,true,true&#41;;
$rpages = ceil&#40;$total_records /	$record_per_page&#41;;

//synthikh gia 1 h perissoteres selides
$rpagesa = round&#40;$rpages, 0&#41;;
$rpages = round&#40;$rpages, 0&#41;;
if&#40;$rpagesa < 1&#41; &#123; $rpagesa = '';&#125;
if&#40;$rpages < 1&#41; &#123; $rpages = '1';&#125;
if&#40;$rpages =='1'&#41; &#123; $selides = 'σελίδα';&#125; else &#123; $selides = 'σελίδες';&#125;
$sumproducts = $total_records;
if&#40;$sumproducts =='1'&#41; &#123; $howprocucts = 'εγγραφή';&#125; else &#123; $howprocucts = 'εγγραφές';&#125;
Αν χρησιμοποιήσετε το paging με κάποια φόρμα αναζήτησης θα πρέπει να προσθεσετε αυτήν την εντολή:

Κώδικας: Επιλογή όλων

$page->set_qry_string&#40;"title=$title"&#41;;
σε αυτό το παράδειγμα έχω title=$title, εσείς μπορείτε να βάλετε τα δικά σας get strings, για παράδειγμα:

Κώδικας: Επιλογή όλων

$page->set_qry_string&#40;"name=$name&color=$color&size=$size"&#41;;
(αυτό το κομμάτι κώδικα μπαίνει κάτω από το $rpages = ceil($total_records / $record_per_page); δείτε στο αρχείο search.php)

Επόμενο βήμα είναι να εκτυπώσουμε το μενού σελιδοποίησης ([Αρχική] «Προηγούμενη 1 2 3 4 5 Επόμενη» [Τελευταία]) με αυτόν τον κώδικα:

Κώδικας: Επιλογή όλων

echo '<p style="margin &#58; 0px;padding &#58; 0px;padding-bottom &#58; 5px;">';

	  $page->get_first_page_nav&#40;"&#91;Αρχική&#93;&nbsp;"&#41;;
	  $page->get_prev_page_nav&#40;"&laquo;Προηγούμενη&nbsp;"&#41;;

if&#40;$rpagesa >'1'&#41; &#123; 
	  $page->get_number_page_nav&#40;&#41;;
&#125;
	  $page->get_next_page_nav&#40;"&nbsp;Επόμενη&raquo;"&#41;;
	  $page->get_last_page_nav&#40;"&nbsp;&#91;Τελευταία&#93;"&#41;;
	echo '</p>';
Μπορείτε να αλλάξετε τα κείμενα με κάποιες εικόνες-βέλη (προσέξτε τα quotes να μην συγκρουστούν)... π.χ.:

Κώδικας: Επιλογή όλων

$page->get_first_page_nav&#40;"<img src='file&#58;images/arxikh_arrow.gif' border='0'>&nbsp;"&#41;;
Μπορείτε να επαναλάβετε αυτόν τον κώδικα και κάτω από τα αποτελέσματα αν θέλετε να έχετε μενού πάνω και κάτω.


μετά αρχίζει το while το οποίο θα εμφανίζει τα δεδομένα. Μπορείτε να τα διαμορφώσετε όπως εσείς νομίζετε.

αυτό ήταν... δείτε τα αρχεία που επισυνάπτω και διαβάστε τα σχόλια εκεί μέσα..

ΣΗΜΕΙΩΣΗ: τα αρχεία είναι σωσμένα σε μορφή ANSI... αν πρόκειται να χρησιμοποιήσετε το paging σε σελίδες με UTF-8, θα πρέπει να σώσετε την paging.php με μορφή UTF-8 χωρίς BOM!

Καλό είναι, όσοι σκέφτονται να ασχοληθούν σοβαρά με την php να αναλύσουν την class για να δουν πως δουλεύουν οι classes..
Η αλήθεια είναι ότι είμαι σχεδόν τελείως άσχετος με το θέμα των database...btw θα συνεχίσω να κάνω μερικές προσπάθειες ακόμα...
It's not technology....It's what you do with it.

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες