Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- 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
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

menghitung jumlah record berbeda

dear para master php,

saya mau tanya untuk pengambilan record yang sama dan cara menghitungnya.
Begini, kn sy punya tabel dengan nama query dengan field isinya kode manifest dan tanggal.
nah, untuk masing2 record yang berbeda pada field tanggal akan
sy hitung sesuai dengan jumlah record tanggal nya.

berikut isi databasenya :

INSERT INTO `query` (`KodeDokumen`,`KodeManifest`, `IdentitasKendaraan`,`keterangan`, `created`) VALUES
('AAT03130924110805096',  'AAT' , 'B 9689 BXR',  'register', '2014-10-06 '),
('AAT03130924110805097',  'AAT' , 'B 9689 BXR',  'register', '2014-10-06 '),
('AAT03130924110806098',  'AAT' , 'B 9689 BXR',  'register', '2014-10-06 '),
('AAT03130924110807099',  'AAT' , 'B 9689 BXR',  'register', '2014-10-06 '),
('AAT03130924110808100',  'AAT' , 'B 9689 BXR',  'register', '2014-10-06 '),
('AAT03130924110809101',  'AAT' , 'B 9689 BXR',  'register', '2014-10-07 '),
('AAT03130924110810102',  'AAT' , 'B 9689 BXR',  'register', '2014-10-07 '),
('AAT03130924110811103',  'AAT' , 'B 9689 BXR',  'register', '2014-10-07 '),
('AAT03130924110812104',  'AAT' , 'B 9689 BXR',  'register', '2014-10-07 '),
('AAT03130924110812105',  'AAT' , 'B 9689 BXR',  'register', '2014-10-07 '),
('AAT03130924110813106',  'AAT' , 'B 9689 BXR',  'register', '2014-10-07 '),
('AAT03130924110814107',  'AAT' , 'B 9689 BXR',  'register', '2014-10-08 '),
('AAT03130924110815108',  'AAT' , 'B 9689 BXR',  'register', '2014-10-08 '),
('AAT03130924110816109',  'AAT' , 'B 9689 BXR',  'register', '2014-10-08 '),
('AAT03130924110817110',  'AAT' , 'B 9689 BXR',  'register', '2014-10-08 '),
('AAT03130924110818111',  'AAT' , 'B 9689 BXR',  'register', '2014-10-08 ');


problemnya ,,,,bagaimana saya menghitung jumlah record dengan tanggal yg berbeda

saya buat field pencarian kodemanifest

misal ---> saya mencari AAT --->
hasilnya yang saya harapkan

kode manifest             tanggal                     banyaknya
AAT                          2014-10-06                     5
AAT                          2014-10-07                     6
AAT                          2014-10-08                     5



berikut coding yang saya susun ---> masih belum bisa menampilkan

<pre lang ="php">

<?php

include_once 'include/config.php';
     
?> 
<div class="subnav">
    <table border="0" cellspacing="0" cellpadding="0">
        <tr>
            <td><img src="images/tabdata01.gif" /></td>
            <td class="tabsubnav">
                &raquo; <b>DATA RECORD BARCODE</b> &raquo; </a>
            </td>
            <td><img src="images/tabdata03.gif" /></td>
        </tr>
    </table>
</div><br />
<table class="tabholder"  border="0" cellspacing="0" cellpadding="3">
    <tr class="tabhead">
               
    </tr>
</table>
<br>

<table class="tabholder"  border="0" cellspacing="0" cellpadding="3">
    <tr class="tabhead">
        <td width="40%">
            <form method="post" action="?page=dms_barcode" onsubmit="if(this.q.value)return true;else return false;">
               
            </form>
        </td>
            </tr>
            </table>
<br>
<table class="tabholder" border="0" cellspacing="1" cellpadding="0">
    <tr class="tabhead">
        <td align="center" width="30" class="tabtxt">No</td>
        <td align="center" width="10" class="tabtxt">Kode Manifest</td>
        <td align="center" width="10" class="tabtxt">Tanggal Cetak</td>
        <td align="center" width="10" class="tabtxt">Banyak Cetak</td>
    </tr>
            <?php
 if ((isset($_POST['submit'])) AND ($_POST['search'] <> "")) { 
      $search = $_POST['search']; 
      $search = strtoupper($search);
      $sql = mysql_query("SELECT * FROM query WHERE KodeManifest LIKE '%$search' ") or die(mysql_error()); 
      $result = mysql_query("SELECT Created FROM query ORDER BY KodeManifest='$search' desc limit 1") or die(mysql_error()); 
      while($row = mysql_fetch_assoc($result)){
      $resultset= $row['Created']; // fetch each row...
      }
      mysql_free_result($result); // optional though...

      $jumlah = mysql_num_rows($sql); 
     
      if ($jumlah > 0) { 
    
            { 
         <tr class="tabcont">
        <td class="tabtxt" align="center"><?php echo $c=$c+1;?>.</td>
        <td class="tabtxt"><?php echo $search ?></td>
        <td class="tabtxt"><?php echo $resultset;?></td>
        <td class="tabtxt"><?php echo $jumlah; ?></td>
         </tr>
          } 
      }
     
   











Tagged:

Comments

  • lanjutan

          else { 
           // menampilkan pesan zero data 
            echo ' <script language="javascript">
            alert("Maaf, Kode Manifest yang Anda cari tidak ada!!");
            document.location="index.php";
        </script>';
          } 
        }  
        else { echo 'Masukkan dulu kata kuncinya';} 
        ?>
    </table>


    saya sudah mencoba menggunakan sintax ini pada phpmyadmin :

    SELECT DISTINCT kodeManifest, created,  COUNT(*) FROM query GROUP BY KodeManifest, created order by KodeManifest='AAA' desc


    hasilnya sperti ini

    image



    problemnya ,,,,bagaimana saya menghitung jumlah record dengan tanggal yg berbeda

    saya buat field pencarian kodemanifest

    misal ---> saya mencari AAT --->
    hasilnya yang saya harapkan

    kode manifest             tanggal                     banyaknya
    AAT                          2014-10-06                     5
    AAT                          2014-10-07                     6
    AAT                          2014-10-08                     5

  • edited October 2014
    lha query elo pan sudah bener ...

    lihat hasil yg AAH
    itu ada 2 group AAH yg tanggal nya beda



    kalo yg ini :
    order by KodeManifest='AAA' desc

    itu baru "ajaib" (kecuali elo paham kenapa penulisan ORDER BY mesti begitu)



    kalo rujukan elo adalah tret elo yg ini :
    http://www.diskusiweb.com/discussion/46745/query-pencarian/p1

    gw sudah nulis disitu :
    [3]
    emang kalo begini :
    SELECT ... FROM ... WHERE ... ORDER BY ... LIMIT 1
    kagak bisa ?
    elo sendiri yg milih pake ORDER BY

    dikasih syntax yg bener, malah pake cara yg bikin elo bingung sendiri ...
  • masalahnya saya search di script php nya by kodemanifest

    kalo di phpmyadmin - query sql

    SELECT DISTINCT kodeManifest, created,  COUNT(*) FROM query GROUP BY KodeManifest, created order by KodeManifest='AAA' desc

    image

    saya punya script php search

    <td width="40%" align="right">   
        <form action="?page=dms_barcode2" method="post" name="pencarian" id="pencarian" onsubmit="if(this.q.value)return true;else return false;"> 
        <b>Kode Manifest &nbsp; : &nbsp;</b>
          <input type="text" class="tfield"  placeholder="input manifest saja" name="search" style="background:#FFF;border:1px solid #CCC" id="search">  &nbsp;&nbsp;
          <input name="submit" type="submit"  class="button"  value="Cari" /> 
        </form> 
                    </td>   


    action ke dms_barcode2

      <?php
     if ((isset($_POST['submit'])) AND ($_POST['search'] <> "")) { 
          $search = $_POST['search']; 
          $search = strtoupper($search);
    //query berdasarkan kode

          $sql = mysql_query("SELECT * FROM query WHERE KodeManifest LIKE '%$search' ") or die(mysql_error()); 

    //query untuk menghitung jumlah kode
          $result = mysql_query("SELECT Created FROM query ORDER BY KodeManifest='$search' desc limit 1") or die(mysql_error()); 
          while($row = mysql_fetch_assoc($result)){
          $resultset= $row['Created']; // fetch each row...
          }
          mysql_free_result($result); // optional though...

          $jumlah = mysql_num_rows($sql); 
         
          if ($jumlah > 0) { 
        
                { 

    saya nyoba untuk menggunkan sintax yg mas jerapah info kan ....tp msh belum bisa menampilkan hasil yang saya mau

    misal ---> saya mencari AAT --->
    hasilnya yang saya harapkan

    kode manifest             tanggal                     banyaknya
    AAT                          2014-10-06                     5
    AAT                          2014-10-07                     6
    AAT                          2014-10-08                     5

  • edited October 2014
    tau WHERE gunanya buat apa atau kagak ?



    sebelum tambah kemana-mana gara2 salah syntax

    nih baca dulu :
    http://dev.mysql.com/doc/refman/5.0/en/select.html
    http://www.w3schools.com/php/php_mysql_select.asp
    http://www.w3schools.com/php/php_mysql_where.asp
    http://www.tizag.com/mysqlTutorial/mysqlwhere.php
    http://www.techonthenet.com/mysql/where.php
    http://www.tutorialspoint.com/mysql/mysql-where-clause.htm

    kalo mau tetep ngeyel maksa pake ORDER BY ya terserah ...
    tapi masalah elo kagak bakal selesai



    * baru kali ini gw ngeliat pencarian pake ORDER BY * :D

    ini ?
    SELECT DISTINCT kodeManifest, created,  COUNT(*) -- DISTINCT kagak ada gunanya disitu
    FROM query
    GROUP BY KodeManifest, created
    ORDER BY KodeManifest='AAA' DESC

    apa to mas susahnya diubah jadi :
    SELECT DISTINCT kodeManifest, created,  COUNT(*) -- DISTINCT kagak ada gunanya disitu
    FROM query
    WHERE KodeManifest='AAA'
    GROUP BY KodeManifest, created
    -- kalo elo hanya mau ambil KodeManifest tertentu yg cuma 1 biji, KodeManifest di GROUP BY bisa dihapus

    emang query nya elo tulis kaya apa ?
  • menampilkan field yang dicari  dari tabel
  • edited October 2014
    menampilkan field yang dicari  dari tabel
    lha tau gitu itu buat pencarian ...
    kok ngeyel pencarian pake ORDER BY ?

    ORDER itu artinya apa ?
    urut ? atau cari ?

    "search" itu artinya apa ?
    urut ? atau cari ?
  • ya mas,

    saya mesti belajar lagi sintax nih ...

    kalo pakai sintax mas ....

    sudah berhasil

    SELECT DISTINCT kodeManifest, created,  COUNT(*)
    FROM query
    WHERE KodeManifest='AAA'
    GROUP BY KodeManifest, created


    terima kasih mas




  • edited October 2014
    kalo pakai sintax mas ....

    sudah berhasil
    lhadalah ...

    emang sebelumnya elo bilang kagak bisa itu elo tulis kaya apa syntax nya ? :D
  • yang ini  :
    SELECT ... FROM ... WHERE ... ORDER BY ... LIMIT 1

    tapi belum bisa menampilkan


    kode manifest             tanggal                     banyaknya
    AAT                          2014-10-06                     5
    AAT                          2014-10-07                     6
    AAT                          2014-10-08                     5



    tapi sekarang sudah bisa mas ..

    terima kasih mas master jerapah
  • edited October 2014
    ooo ... query elo pasti kena LIMIT 1 nya ...
    jadi yg nungul cuma 1 record doang dari yg semestinya lebih dari 1 record

    itu pan tulisan dari posting gw di tret yg satunya
    menjawab pertanyaan elo di sana yg butuhnya cuma 1 record

    tujuan gw ke elo itu : "menunjukkan penggunaan WHERE utk pencarian, bukan pake ORDER BY nya"

    pokoknya pegangan elo :
    - pencarian pake WHERE
    - pengurutan pake ORDER BY

    kecuali kasus elo kaya di sini :
    http://www.diskusiweb.com/discussion/46690/tanya-tentang-data-mysql/p1
  • mas bagaimana mengambil record untuk jumlah / count nya

    kalo querynya hasilnya seperti ini

    image


    jadi saya mau ngambil hasil count nya
  • pake alias to maaasssss ...
    itu DISTINCT juga kagak perlu dipake, kagak ada gunanya

    SELECT whatever AS alias
    FROM table

    jadi bisa diambil pake nama alias nya
  • sudah bisa mas

    " SELECT  KodeManifest, created, COUNT(*) AS hitung FROM query WHERE KodeManifest='AAH' GROUP BY created "

    thanks
  • klo diambil dari tanggal gimna? misalnya 2014-10-06 brapa jumlah kodemenifest, tgl 2014-10-07 brapa juga sampai satu bulan artinya dari tgl 1-30, gimna itu? tapi yg ditampilin sesuai dengan bulan yag ada dikomputer kita.
    misal :  tanggal     banyak
             2014-10-06      5
             2014-10-07      6
    begitu seterusnya tgl 1-30 sesuai bulan di komputer
  • ngampung nanya juga mas... he
Sign In or Register to comment.