Bantuan Pencarian :   
Home arrow Artikel arrow Web Programming arrow PHP arrow Menampilkan Banyak Record Query dalam PHP
Menampilkan Banyak Record Query dalam PHP PDF Cetak E-mail
(3 votes)
Ditulis Oleh oscorp   
Saturday, 06 December 2008

Jika Anda ingin menampilkan hasil query yang berbeda, seperti jika banyak record ditemukan, maka dengan source code PHP berikut ini dapat menampilkan :

 

First ....4,5,6,7,8... Last
Atau  1,2,3,4,5...Last
Atau  ...15,16,17,18,19


Source code :
$global_db = mysql_connect('localhost', $username, $password);
    mysql_select_db($dbname, $global_db);
    // query to get the number of records
    $query = "SELECT Field1, Field2 FROM $TABLE";
    $result = mysql_query($query) or die("ERROR");
    $num_record = mysql_num_rows($result);
    if($num_record > $display) { // Only show 1,2,3,etc. when there are more records found that fit on 1 page
    // when the page is loaded first...
    if(empty($pagenr)) {
    $pagenr = 1;
    }
    // some variables
    $display = 10; // number of records to display per page
    $max_pages_to_print = 7; // number of pages to show, if you change this you also have to change the variable 'middlenumber', for example:increase this one with two, increase middlenumber with one
    $startrecord = $pagenr * $display; // first record to show from the queryresult
    $num_pages = intval($num_record / $display) + 1; // total number of pages
    $loopcounter = 0; // counter for whileloop
    $currentpage = $pagenr; // Page where we are at the moment
    $middlenumber = 3; // Number will be decreased from variable currentpage in order to get the currentpage always in the middle
    $colourcounter = 0; // Variable to change the background-color of the <td>
    $i = 1; // variable that will print 1,2,3,etc..
    $x = 0; // variable i use to put always the current, marked page in the middle
    // actual stuff starts here
    print("<table border=0 align=center><tr>");
    if($currentpage >= $max_pages_to_print) {
    print("<td><a href=\"$PHP_SELF?pagenr=1\">First</ a>...</td>");
    }
    //BEGIN LOOP
    while($loopcounter < $max_pages_to_print) {
    if($currentpage >= $max_pages_to_print) { // If user clicks om page higher than $max_pages_to_print
    // Mark current page
    if($currentpage == $i) {
    print("<td>$i  </td>"); // print pagenumbers
    $i += 1; //increase pagenr
    $loopcounter += 1; // increase loopcounter
    }
    // End marking
    if($i > $num_pages) { // if last page has been printed, exit loop
    break;
    }
    if($x == 0) {
    $i = $currentpage - $middlenumber; // current page will always be printed in the middle
    }
    print("<td><a href=\"$PHP_SELF?pagenr=$i\">$ i</a>  </td>"); // print pagenumbers
    $x = $x + 1;
    $i += 1; //increase pagenr
    $loopcounter += 1; // increase loopcounter
    }
    else { // Else user clicks on a pagenumber lower $max_pages_to_print
    // Mark current page
    if($currentpage == $i) {
    print("<td>$i  </td>"); // print pagenumbers
    $i += 1; //increase pagenr
    $loopcounter += 1; // increase loopcounter
    }
    // End marking
    if($i > $num_pages) { // if less than $max_mages_to_print, exit loop
    break;
    }
    print("<td><a href=\"$PHP_SELF?pagenr=$i\">$ i</a>  </td>"); // print pagenumbers
    $i += 1; //increase pagenr
    $loopcounter += 1; // increase loopcounter
    } // End if
    }
    // END LOOP
    if(($num_pages > $max_pages_to_print AND // notice the user that there are more pages
        $i <= $num_pages)) {
    print("<td>...<a href=\"$PHP_SELF?pagenr=$num_pages\"& gt;Last</a></td>");
    }
    print("</tr></table>");
    $startrecord = $startrecord - $display; // Set startrecord to the right position
    // Some calculation for the lastrecord
    if($currentpage == $num_pages) { // Last page...
    $lastrecord = $num_record; // so $lastrecord = $num_record
    }
    else {
    $lastrecord = ($currentpage * $display);
    }
    } // End of the first if-statement
    // Some info
    print("<table align=center>
    <tr><td>You are now on page $currentpage</td></tr>
    <tr><td>There are $num_pages pages in total</td></tr>
    <tr><td>$num_record records are spread over $num_pages pages</td></tr>
    <tr><td>Current display : $startrecord - $lastrecord</td></tr>
    </table>");
    // End info
    // actual query, watch the end($startrec
    //     ord, $display)
    $query2 = "SELECT Field1, Field2 FROM $TABLE LIMIT $startrecord, $display";
    $result2 = mysql_query($query2) or die("ERROR");

Queryresult PHP

    // print results on screen
    print("<table border=0 align=center width=300 bgcolor=#0E711D cellpadding=\"2\" cellspacing=\"1\"><tr><td>< font color=#FFFFFF><b>Fieldname1</b></font ></td><td align=right><font color=#FFFFFF><b>Fieldname2</b></font ></td></tr>");
    while(list($Field1, $Field2) = mysql_fetch_row($result2)) {
    if ($colorcounter == 0) {
    $colorbg = "#ECE28B";
    }
    else {
    $colorbg = "#F4EFC1";
    $colorcounter = $colorcounter - 2;
    }
    print("<tr><td bgcolor=$colorbg>$Field1</td><td align=right bgcolor=$colorbg>$Field2</td></tr&g t;");
    $colorcounter = $colorcounter + 1;
    }
    print("</table>");

Sebelum menulis coding, ubahlah nama username, password dan dbname, untuk koneksi ke database Anda
Keterangan variabel :

  • $display : jumlah dari record yang akan ditampilkan per halaman
  • $max_pages_to_print : jumlah halaman yang akkan dicetak(1,2,3,dsb)
  • $middlenumber : hanya diubah ketika Anda mengubah variable $max_pages_to_print. Sebagai contoh, jika Anda menambah $max_pages_to_print dengan 2, maka tambahkan juga $middlenumber dengan 1. Begitu pula jika $max_pages_to_print dikurangi menjadi 2, maka kurangilah $middlenumber dengan 1

 

sumber : beritanet.com

Queryresult PHP

    // print results on screen
    print("<table border=0 align=center width=300 bgcolor=#0E711D cellpadding=\"2\" cellspacing=\"1\"><tr><td>< font color=#FFFFFF><b>Fieldname1</b></font ></td><td align=right><font color=#FFFFFF><b>Fieldname2</b></font ></td></tr>");
    while(list($Field1, $Field2) = mysql_fetch_row($result2)) {
    if ($colorcounter == 0) {
    $colorbg = "#ECE28B";
    }
    else {
    $colorbg = "#F4EFC1";
    $colorcounter = $colorcounter - 2;
    }
    print("<tr><td bgcolor=$colorbg>$Field1</td><td align=right bgcolor=$colorbg>$Field2</td></tr&g t;");
    $colorcounter = $colorcounter + 1;
    }
    print("</table>");

Sebelum menulis coding, ubahlah nama username, password dan dbname, untuk koneksi ke database Anda
Keterangan variabel :

  • $display : jumlah dari record yang akan ditampilkan per halaman
  • $max_pages_to_print : jumlah halaman yang akkan dicetak(1,2,3,dsb)
  • $middlenumber : hanya diubah ketika Anda mengubah variable $max_pages_to_print. Sebagai contoh, jika Anda menambah $max_pages_to_print dengan 2, maka tambahkan juga $middlenumber dengan 1. Begitu pula jika $max_pages_to_print dikurangi menjadi 2, maka kurangilah $middlenumber dengan 1
» 2 Comments
2"uHNkvvZBGPU" by oxnvixp at Saturday, 17 July 2010 00:57
8Z5p1z untczoorvcxn, [url=http://ivolzkzzuarq.com/]ivolzkzzuarq[/url], [link=http://zgtygvzhuzdx.com/]zgtygvzhuzdx[/link], http://dydweocopzbe.com/
1"tanya" by reza at Tuesday, 30 March 2010 16:57
bos....klo mo nampilin 4 data secara bersamaan dalam 1 layar. misalnya data mahasiswa A, B, C, dan D dalam 1 layar yang sama, tapi formatnya bukan tabel lho.... tampilannya model form... 
gimana bos ?? bisa ngga
» Post Comment
Email (will not be published)
Name
Title
Comment
 
< Sebelumnya   Berikutnya >

Donate Via Paypal

Enter Amount:

Online

Saat ini ada 5 tamu online
mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterToday178
mod_vvisit_counterYesterday255
mod_vvisit_counterThis week1018
mod_vvisit_counterThis month2274
mod_vvisit_counterAll111005

Page Rank


PageRank
Add to Google
Computer Blogs - BlogCatalog Blog Directory