alexa-tracking

[ask PHP] Memunculkan data ke samping yang dibatasi

Main Content

1024
1024
KASKUS
51
244
https://www.kaskus.co.id/thread/52e3796dfcca1787030001a6/ask-php-memunculkan-data-ke-samping-yang-dibatasi
[ask PHP] Memunculkan data ke samping yang dibatasi
Permisi semuanya, numpang tanya lagi... emoticon-Sorry

Sesuai judul, saya mau ambil data di database, cuma ditampilkan nya menyamping dan ingin di batasi per baris nya. Dan juga memiliki pagination.

Misalkan di database ada jumlah record data sebanyak 20, lalu saya ingin memunculkan nya ke samping (bukan berurutan kebawah). Tapi saya ingin, per baris nya itu misalkan hanya 4 data. Jika data yang ke ambil sudah 4 record, maka secara otomatis data akan berpindah ke baris berikutnya.

Untuk Pagination sih enggak masalah, yang masih masalah itu pengambilan data kesamping yang di batasin nya. Berikut script yang sudah saya pakai,,

Code:
<table>
<?php
include("admin/koneksi.php");
$sqlCount = mysql_query("select kd_bk from buku");
$banyakData = mysql_num_rows($sqlCount);
$page = isset($_GET['page']) ? $_GET['page'] : 1;

$limit = 8;
$limitbaris=4;
$mulai_dari = $limit * ($page - 1);
$sql_limit = "select * from buku order by kd_bk desc limit $mulai_dari, $limit";
$hasil = mysql_query($sql_limit);

//menampilkan data
while($data = mysql_fetch_array($hasil)){
?>
<td><a href="det_buku.php?kd=<?php echo $data['kd_bk'] ?>"><img src="admin/buku/<?php echo $data['gambar']?>"width='185' height="220" /><br />
<?php echo $data ['jdl_bk'] ?></a><br /><br />
</td>

<?php
}
?>

</table>
<!-- PAGINATION -->
<?php
$banyakHalaman = ceil($banyakData / $limit);
echo 'Halaman: ';
for($i = 1; $i <= $banyakHalaman; $i++){
if($page != $i){
echo '[<a href="artikel.php?page='.$i.'">'.$i.'</a>] ';
}else{
echo "[$i] ";
}
}

?>



Mungkin semuanya sudah tau kalau dari script diatas, data sudah muncul ke samping, tapi data yang muncul masih tidak sesuai alias belum di batasi per barisnya. disana terlihat "$slimit=8" menandakan 8 data yang muncul, semuanya kesamping. Jadi saya ingin, 8 data itu dibagi dua lagi, masing-masing 4 data. jadinya ada dua baris.

Mohon masukan nya gimana agar saya bisa menampilkan data kesamping, tapi jumlah record ke samping nya dibatasi..

Terimakasih sebelumnya... emoticon-Blue Guy Cendol (L)
Quote:


Simple gan, yang perlu agan tau lebih dulu adalah gimana caranya ngebentuk 8 data dengan tampilan: 2 baris, 4 data per baris

kode htmlnya kurang lebih seperti ini:
PHP Code:
<tr>
   <
td>Cell 1 Baris 1</td>
   <
td>Cell 2 Baris 1</td>
   <
td>Cell 3 Baris 1</td>
   <
td>Cell 4 Baris 1</td>
</
tr>
<
tr>
   <
td>Cell 1 Baris 2</td>
   <
td>Cell 2 Baris 2</td>
   <
td>Cell 3 Baris 2</td>
   <
td>Cell 4 Baris 2</td>
</
tr


kalau yang agan lakuin sekarang baru:
PHP Code:
<td>Cell 1 Baris 1</td>
<
td>Cell 2 Baris 1</td>
<
td>Cell 3 Baris 1</td>
<
td>Cell 4 Baris 1</td>
<
td>Cell 5 Baris 1</td>
<
td>Cell 6 Baris 1</td>
<
td>Cell 7 Baris 1</td>
<
td>Cell 8 Baris 1</td


yang perlu dilakuin tinggal logic simple asal bentuk akhirnya udah ketauan, contoh code:
PHP Code:
<?php
$arr 
= array(
    
'Data 1',
    
'Data 2',
    
'Data 3',
    
'Data 4',
    
'Data 5',
    
'Data 6',
    
'Data 7',
    
'Data 8',
    
'Data 9',
    
'Data 10',
);
?>

<html>
    <head>
        <title>Test</title>
    </head>
    <body>
        <table cellspacing="1" border="1">
            <?php
            $limitPerLine 
4;
            
$currentData 0;
            for(
$a=0$a<count($arr); $a++) {            
                
$data $arr[$a];
                
// increment data
                
++$currentData;
            
?>
            <?php if($currentData == 1) { ?>
            <tr>
            <?php ?>
            <td><?php echo $data?></td>
            <?php if($currentData == $limitPerLine) {
            
$currentData 0;
            
?>
            </tr>
            <?php }
            } 
?>
        </table>
    </body>
</html>
Saya sudah coba, tapi keluar error
Code:

Undefined offset: 14
Undefined offset: 15
Undefined offset: 16
Undefined offset: 17
Undefined offset: 18
Undefined offset: 19
Undefined offset: 20
DAN SETERUSNYA...


Semuanya di LINE 68 (on line 68), yaitu pada baris code ini:
Code:
$data = $hasil[$a];


. Berikut kode yang sudah saya masukan :

PHP Code:
<table>
<?php
include("admin/koneksi.php");
$sqlCount mysql_query("select kd_bk from buku");
$banyakData mysql_num_rows($sqlCount);
$page = isset($_GET['page']) ? $_GET['page'] : 1;

$limit 4;
$mulai_dari $limit * ($page 1);
$sql_limit "select * from buku order by kd_bk desc limit $mulai_dari$limit";  
$hasil mysql_fetch_array(mysql_query($sql_limit));

//menampilkan data
$limitbaris 4;
$currentData 0;

for(
$a=0$a<count($hasil); $a++) {            
                
$data $hasil[$a];
                
// increment data
                
++$currentData
                if(
$currentData == 1) { 
     
?>
     <tr>     
     <?php
     
?>
     <td><?php echo $data?></td>
     <?php               
                
if($currentData == $limitbaris) {
      
$currentData 0;
      
?>
      </tr>
      
      <?php
     
}
                }            
   
?>

</table>


Masalahnya dimana ya om..? Mohon koreksinya... emoticon-Blue Guy Cendol (L)
KASKUS Ads
Waduh agan udah ketinggalan nih... Sekarang ga perlu pake pake halaman lagi gan... Udah ada tools nya... pake jquery,. semua beres
Quote:


Ya udah coba dong tunjukin scriptnya kaya gimana yang memang bisa menjawab semua permasalahan diatas...? emoticon-Big Grin

Kalo emang si om menguasai JQuery, mohon bantuan nya untuk menyelesaikan masalah Disini juga.
http://www.kaskus.co.id/thread/52dcb...-dengan-jquery

emoticon-Blue Guy Cendol (L)
Quote:


bisa nge-gunain framework seperti jquery atau semacamnya bagus gan, tapi harus mengerti juga prinsip / cara kerja di balik framework itu, buat ngelatih logika sebagai programmer, karna bisa jadi ada saatnya nggak tersedia framework atau nggak boleh pake framework atau framework yang dipakai berbeda.

istilahnya, sebelum belajar lari sebaiknya belajar jalan dulu.
Quote:


yang undefined itu kayaknya karna berusaha ngakses array dengan key yang tidak ada, hasil dari mysql_fetch_array akan berupa array untuk tiap record dengan key nama column / hasil query:

PHP Code:
$hasil {
'nama'  => 'Ini nama',
'umur' => 29



jadi saat dipanggil:
PHP Code:
$data $hasil[$a]; 


dan hasil coun($hasil) hasilnya adalah jumlah kolom di table buku, yang gw tebak columnnya ada sampe 20 dan lebih (seterusnya) ..

sedangkan kalau ngikutin contoh gw, $hasil adalah array yang berisi semua baris, jadi misal yang mau diambil dari table buku adalah column 'judul' doang, sebaiknya populate dulu ke array baru seperti ini:

PHP Code:
$hasil = array();
$result mysql_query($sql_limit);
 while(
$arr mysql_fetch_array($result)) { 
     
$judul $hasil['judul'];
     
$hasil[] = $username;
 } 


dan hasilnya akan ditampilkan semua judul, maks 4 judul per baris.

[SOLVED]

Quote:


Akhirnya Solved om,, setelah tanya kesana kemari, nemu logika nya juga.. Berikut script yang saya gunakan..:

PHP Code:
<table>
<tr>
<?php
include("admin/koneksi.php");
 
$sqlCount mysql_query("select kd_bk from buku");
 
$banyakData mysql_num_rows($sqlCount);
 
$page = isset($_GET['page']) ? $_GET['page'] : 1;
 
$limit 8;
 
$limitbaris=4;
 
$mulai_dari $limit * ($page 1);
 
$sql_limit "select * from buku order by kd_bk desc limit $mulai_dari$limit";  
 
$hasil mysql_query($sql_limit);
 
$x 0;
 
while(
$data mysql_fetch_array($hasil)){
    if (
$x >= $limitbaris) {
        echo 
"</tr><tr>";
        
$x 0;
    }
    
$x++;
 
?>
  <td><a href="det_buku.php?kd=<?php echo $data['kd_bk'?>"><img src="admin/buku/<?php echo $data['gambar']?>"width='185' height="220" /><br />
<?php echo $data ['jdl_bk'?></a><br /><br />
    </td>  
 
<?php
}
?>
</tr>
</table>


Terimakasih banyak atas masukan nya..... emoticon-Blue Guy Cendol (L)

Cek kulkas om... emoticon-Blue Guy Cendol (L)
Quote:


sip gan, cara di atas bisa juga, loopnya cuma sekali .. yang penting logikanya ngerti, implementasi bisa bermacem-macem.

Quote:

Menanggapi posting diatas, bagus juga jawaban nya dibawah ini.. emoticon-Big Grin

Mungkin sedikit nambahin, tidak semua dalam develop aplikasi, itu diserahkan sepenuhnya sesuai kemampuan programmer. Terkadang programmer harus bisa menjawab semua permintaan klien nya.. Bener gak,,? emoticon-Big Grin termasuk klien saya yang satu ini, dia pengen nya pake <tr><td>, katanya biar dia lebih mudah memahami. Kan tantangan juga buat kita untuk ngikutin segala kemauan si klien.

So, bukan berarti saya gak mau gunain jQuery. Karena memang Request nya yang memaksa saya untuk menggunakan metode ini... emoticon-Big Grin

Quote:


Thanks,, bijak banget nih.. emoticon-Big Grin

Kadang kelemahan saya gitu om, saya harus berfikir "KERAS" untuk bisa mengasah logika.. Kalo mempelajari script mungkin bisa dibilang gampang, justru yang sulit itu adalah menggunakan logiknya nya... emoticon-Blue Guy Cendol (L)
gan ane mau nanya nih gan kalo kebawah gimana ya...???
Cuman pengen ngasih saran aja, TS maunya bikin semacam katalog kan?
Ane saranin jangan pake table, sebaiknya pake div aja.
Anggap aja tiap div itu satu cell. Jadi kalo pengen perbarisnya ada 4 div, berarti tiap div-nya dikasih lebar 25% dan float left pake css.

Bila nanti pengen diganti per barisnya jadi 5, tinggal ganti lebar cell jadi 20% beres.

Spoiler for Contoh kode:


Spoiler for Contoh penerapan ke kode TS:
Quote:


Terimakasih atas saran nya om. next time pasti bakal saya gunain code nya.. emoticon-Blue Guy Cendol (L)
Quote:

Btw, kode yg bawah itu kurang while emoticon-Stick Out Tongue

Menampilkan Record database kesamping dalam php

Agan-agan dan para master saya mau tanya ni bagaimana ya cara menampilkan record dari database itu matriks ke samping ,jadi recordnya itu gak kebawah tampilannya pada saat di cetak dalam bentuk tabel di php.
Mohon bantuannya agan-agan kalo ada yang tau ,saya sudah searching2 di google tapi blm ketemu juga emoticon-Sorry
Quote:


oooh.. kirain gan. emoticon-Malu emoticon-Malu emoticon-Malu