Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Klik link berikut untuk informasi cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

Membuat pagging dalam kategori dan sub kategori

selamat malam kk dan teman2..saya ada masalah pembuatan pagging di dalam kategori dan sub kategori
pagging sub kategorinya muncul sesuai dengan jumlahnya yang maslah di kategori utamnya..seperti gambar ini..sudah seharian saya oprek2 tapi blom bisa juga..tolong saya kk
image
«1

Comments

  • up...kk
  • $batas itu nilainya berapa? $p itu siapa? dan class nya bagaimana?
  • itu class paging kk..kalau paggingnya jalan semua tinggal lagi jumlah paggingnya kebanyakan ini class pagingnya kk
    class pageNavi_Cat{

    // Fungsi untuk mencek halaman dan posisi data
    function cariPosisi($batas) {
    if(empty($_GET['page'])) {
    $posisi = 0;
    $_GET['page'] = 1;
    } else {
    $posisi = ($_GET['page'] - 1) * $batas;
    }
    return $posisi;
    }

    // Fungsi untuk menghitung total halaman
    function jumlahHalaman($jmldata, $batas) {
    $jmlhalaman = ceil($jmldata/$batas);
    return $jmlhalaman;
    }

    // Fungsi untuk link halaman 1,2,3

    function navHalaman($halaman_aktif, $jmlhalaman) {
    $link_halaman = ""; include "connection.php";
    $query2 = "select alamat_website from identitas";
    $hasil2 = mysqli_query($konek, $query2);
    $w = mysqli_fetch_array($hasil2);
    $accank="$w[alamat_website]";
    global $link;

    $link_halaman = "";

    // Link ke halaman pertama (first) dan sebelumnya (prev)
    if($halaman_aktif > 1) {
    $prev = $halaman_aktif - 1;

    if($prev > 1) {
    $link_halaman .= "";
    }
    $link_halaman .= "";
    }

    // Link halaman 1,2,3, ...
    $angka = ($halaman_aktif > 3 ? "..." : " ");
    for($i = $halaman_aktif-2;$i < $halaman_aktif;$i++) {
    if ($i < 1) continue;
    $angka .= "".$i."";
    }
    $angka .= "".$halaman_aktif."";

    for($i=$halaman_aktif+1; $i<($halaman_aktif+3); $i++) {
    if($i > $jmlhalaman) break;
    $angka .= "".$i."";
    }
    $angka .= ($halaman_aktif+2 < $jmlhalaman ? "..."
    .$jmlhalaman."
    " : " ");

    $link_halaman .= $angka;

    // Link ke halaman berikutnya (Next) dan terakhir (Last)
    if($halaman_aktif < $jmlhalaman) {
    $next = $halaman_aktif + 1;
    $link_halaman .= "";

    if($halaman_aktif != $jmlhalaman - 1) {
    $link_halaman .= "";
    }
    }

    return $link_halaman;
    }
    }
  • $p = new pageNavi_Cat;
    $batas  = 1;
    $posisi = $p->cariPosisi($batas);
    $qrSub1 = "select * from kategori where induk='$n[id_kategori]' ORDER BY id_kategori DESC LIMIT $posisi,$batas";

    batas itu emembatasi jumlah kategorinya..
  • coba di echo $posisi, $jmlhalaman, $halaman_aktif setelah generate pagenav, berapa nilai masing2
  • edited April 2016
    bigboy16
    saya coba eco seperti ini hasilnya ini ..saya bingung query saya salah ya.
     image
  • coba querymu yang tadinya select * ganti dengan select count(*) berapa hasilnya, test di sql nya dbase saja querynya
  • selamta pagi kk bigboy16
    saya sudah query di database hasilnya 0 kak?
  • beuh tambah aneh, query yang hasilnya 0 yang mana? tulis querynya disini, jangan di image, trus echo kan juga $jmldata hasilnya berapa.
  • edited April 2016
    kak bigboy16
    saya query di databse countnya 0
    SELECT count( * )
    FROM produk, kategori
    WHERE produk.id_kategori = kategori.id_kategori
    AND kategori.id_kategori = '$id'
    OR kategori.induk = '$_GET[id]'
    tapi kalau saya query di phpnya seperti ini pagingnya cuma 1 yang tampi dan jumlah datanya juga 1
         $jmldata2   = mysqli_query($konek, "SELECT count( * )
    FROM produk, kategori
    WHERE produk.id_kategori = kategori.id_kategori
    AND kategori.id_kategori = '$id'
    OR kategori.induk = '$_GET[id]'
                ");
            <?  echo" $jmldata  ";?>

  • iya saya minta count itu hanya ingin memastikan berapa row yg ada datanya, balikin query yg awal trus $jmldata nilainya berapa,

    ini query untuk kategory atau sub kategory? apa pake query yang sama?
    kalau query kategori kenapa harus pake where  kategori.induk = '$_GET[id]'?
  • saya balikin ke awal
     $jmldata2   = mysqli_query($konek, "SELECT * FROM produk, kategori WHERE produk.id_kategori=kategori.id_kategori AND
            kategori.id_kategori='$id' OR kategori.induk='$_GET[id]' 
                ");
     saya <?  echo" $jmldata  ";?>

    hasilnya sama dengan jumalh pagging yang tampil 8
    iya querynya beda kak klo menampilkan kategorinya
    kalau pagging  sub kategornyi normal kak. produk.id_kategori=kategori.id_kategori
    yang saya bingung yang induk (kategori).
    kalau saya buat pagging katgeori query seperti ini normal paggingnya.kategori tapi untuk pagging sub kategorinya jadi gak ada
     <? $jmldata2   = mysqli_query($konek, "SELECT * FROM kategori
                              where induk='$n[id_kategori]'   ");
  • edited April 2016
    masalahmu di query,

    $query = "SELECT * FROM produk, kategori WHERE produk.id_kategori=kategori.id_kategori AND
    kategori.id_kategori='$id' OR kategori.induk='$_GET[id]'"
    echo $query;

    coba ganti query mu dengan diatas, $query hasilnya apa.
    lagi pula $_GET[id] itu gak boleh, harusnya $_GET['id'];

    biasakan pake variabel pengganti saja kalau gak mau ribet sama string quote
  • kak bigboy16
    saya echo querynya  id induknya benar 14 
    SELECT * FROM produk, kategori WHERE produk.id_kategori=kategori.id_kategori AND
    kategori.id_kategori='14' OR kategori.induk='14'

    nah tp koq eror di pagingnya kak jadi ngaco?
  • coba hasil query echo td kamu run di sql dbasenya, keluar berapa row, printscreenkan hasilnya
  • edited April 2016
    saya run di databasenya sperti ini
    $query = "SELECT * FROM produk, kategori WHERE
     produk.id_kategori=kategori.id_kategori AND
            kategori.id_kategori='$_GET[id]' OR kategori.induk='$_GET[id]'";

    keluar sintak eroronya k sperti ini

    #1064 - You have an error in your SQL syntax; check the manual that
    corresponds to your MySQL server version for the right syntax to use
    near '$query = "SELECT * FROM produk, kategori WHERE
    produk.id_kategori=kategori.id' at line 1

  • lah yang di run di sql nya itu query hasil echo nya, yang sudah ada angkanya. bukan lg $_GET... nilainya
  • ohh ia lupa2 kk..pusing kk ud 3 hari ini gak nemu bugnya ini gambarnya k koq jadi looping ya hasilnya
    image

  •  coba select* kategory, print, trus select * product, print ni parent child nya gak nyambung kayaknya, makanya datanya redundant
  • gini maksudnya k querynya
     $jmldata2   = mysqli_query($konek, "select* kategori, print,  select * product, print  WHERE
                             produk.id_kategori=kategori.id_kategori
                              AND
             kategori.induk='$_GET[id]' 
                ");

    koq eror ya
  • hehehehe.... bukan gitu maksudnya;


    SELECT * FROM kategori
    trus kamu printscreen hasilnya post kesini



    SELECT * FROM product
    ini juga sama, kamu printscreen hasilnya pos kesini....

    :D
  • halo kkk bigboy16
    ini print screennya
    image 
  • lah, saya itu mau liat isinya product dan kategori, kamu run itu query di sql, resultnya printscreen, kalo pagingnya gak sah dibahas, script paging benar, hanya query yang salah
  • ini uda saya select kk di db nya
    image
  • edited April 2016
    pake join biar gak redundant,

    SELECT * FROM produk JOIN kategori ON produk.id_kategori=kategori.id_kategori WHERE
    kategori.id_kategori='$id' OR kategori.induk='$_GET[id]'
  • bigboy16

    klo join paggingnya muncul halaamn satu aj dan hal berikutnya gak ada ..dan saya echo <? echo"$jmldata";?>  hasilnya 0
       <?
                           
                             $jmldata2   = mysqli_query($konek, "SELECT * FROM produk JOIN kategori ON produk.id_kategori=kategori.id_kategori WHERE
            kategori.id_kategori='$_GET[id]' OR kategori.induk='$_GET[id]'
                ORDER BY id_produk ");
                 $jmldata     = mysqli_num_rows($jmldata2);
     $jmlhalaman  = $p->jumlahHalaman($jmldata, $batas);
       $linkHalaman = $p->navHalaman($_GET[page], $jmlhalaman);
     ?>
  • walah, kok yo aneh banget script mu ini, gini deh, masuk phpmyadmin, klik table produk, klik, export, pilih format ke sql, klik go, attach ke sini hasil filenya, gitu juga buat tabel kategori,

  • selamat pagi k bigboy16

    ini saya lampirkan databse produk dan kategori maav merepotin..saya juga penasarann uda 3 hari ini gak nemu bug nya
    https://drive.google.com/file/d/0BzjbED89MTLUM2EtX3QtU2VBVjQ/view
    https://drive.google.com/file/d/0BzjbED89MTLURGJud1NobGY1dmc/view
  • gak bisa dibuka, kudu login pake accountmu, di public aja itu file di google drive, or di allow request access
  • oh ia lupa kk..tp di kosan ku buka email lemot bgt wifinya saya pke drpbox k aini linknya
    https://www.dropbox.com/home/pagging?preview=kategori.sql(1).zip
    https://www.dropbox.com/home?preview=produk.sql.zip
  • itu dah di share blom folder dropboxnya?
  • coba yang ini,
    SELECT * FROM produk WHERE id_kategori IN (SELECT id_kategori WHERE id_kategori='14' OR induk='14');


    ntar 14 nya ganti pake $_GET[id]

  • edited April 2016
    Sudah saya coba kk masih tetap eror sama saya query di db nya tetap eror ini gambarnya...jading pusing ya kk bigboy16


    image
  • salah naro tnda double quote di belakang, harusnya setelah kurung
  • malam k kalau double quote di belakang setelah kurung codingnya eror dan tanda merah dan hasilnya juga eror
    seperti gambar ini
    image
  • edited April 2016
    edited,
    sorry scriptnya kurang
    SELECT * FROM produk WHERE id_kategori IN (SELECT id_kategori from kategori WHERE id_kategori='14' OR induk='14');
    lain kali mbok ya diliat lah scriptnya, jangan asal kopi paste, itu dasar banget, gak mesti yg saya ketikkan 100 % benar,
  • hehhe klo masalah titik,koma dan tnda double quote itu saya edit koq kk..klo asal kopas kelihatan koding merah kaya koding k ini gak ada tanda tnda double quote nya tp klo saya copi paste k koidngnya langsung eror merah semua codingnya..saya tambain double quote nya
    SELECT * FROM produk WHERE id_kategori IN (SELECT id_kategori from kategori WHERE id_kategori='14' OR induk='14');
    tp masih eror kk di line 200 dr kmren2 dstu erornya saya pke mysqli
    oia di kk eror gak kodingnya?
    image
  • edited April 2016
    lah kok kamu ulangi kesalahannya sih? kmrn saya kurang ngetik from kategori, kok double quote nya kamu balikin ke sebelum kurung lagi, code yang saya kasih itu code sql bukan php, mau di php kan ya tinggal kasih double quote depan belakang.
    ni deh tak kasih yg komplit, copy passte aja dah tuh.


    $query = "SELECT * FROM produk WHERE id_kategori IN (SELECT id_kategori from kategori WHERE id_kategori='$_GET[id]' OR induk='$_GET[id]')";
    $jmldata2 = mysqli_query($konek,$query);

  • bigboy16
    oh saya kira kmren naro di php nya maav k..soalnya ud larut malam bukanya jadi gak konsen..oia kk sudah saya implent permsalahanya skrng cuma muncul paggingnya 2..
    tp klo di bypass seperti ini page/14-3 link paggingnya mucul kk
    image
  • oia kk bigboy16
    kalau kk coba nomrmal gak di coding kk...:D
  • query di echo, run di phpmyadmin, berapa row yg keluar?
  • normal gimana? yang saya run hanya sql nya saja,
  • saya query di db yang mucul sub kategorinya productnya sperti gambar ini id_kategori 15
    seperti gambar ini
    image
    SELECT * FROM produk WHERE id_kategori IN (SELECT id_kategori from kategori WHERE id_kategori='14' OR induk='14');
  • edited April 2016
    lha iya bener kan? trus masalahnya dimana?
    kan kamu mau select nya yang id_kategory =14 atau yang induk nya 14, kategori 15 itu nilai induknya 14, ya pasti akan keluar,

    note: sebenernya yg kepiginanmu tu seperti apa?
  • iya benar itu isi produknya yang induk 14,tp aneh juga kak maslah paggignya yang di
    kategori induk 14 mempunyai sub kategori di databse ada 6 tp di fornt endnya koq muncul 2 kategori..itu permsalahnya kk.
  • ni mana yang kategori and mana yang sub kategori sih? atau gini deh, jelaskan dari awal kamu mau bikin kayak gimana sih? beraoa table yang kamu punya untuk ini, dan apa yang mau kamu tampilkan, jelaskan siapa kategori dan sub kategori itu siapa
  • saya bikin sisitem sub kategorinya sistem parent kk..kategori utamanya field induk di databse katageori.tabelnya cuma 2 tabel kategori dan produk..kalau output sudah benar.masalah paggingnya yang eror yang di kategori utama,kalau sub kategorinya normal paggingnya kk..
  • gini lho, query yang kamu kasihkan dari kmrn, itu sama sekali tidak mencerminkan parent-child, saya tanya lagi, parent kategory querynya berbveda tidak dengan sub kategory? coba sih tampilan yang kamu mau itu kayak apa?
    tampilan kategori gimana - sub kategory gimana dan di link dengan apa?
Sign In or Register to comment.