[ask] Penjumlahan Tables Pada PHP

Discussion in 'Desain Web dan Programming' started by root001, 17 Sep 2014.

Thread Status:
Not open for further replies.
  1. root001

    root001 Poster 1.0

    Messages:
    76
    Likes Received:
    4
    Trophy Points:
    8
    Selamat sore rekan2,
    saya newbie datang lagi nich dgn membawa pertanyaan
    [​IMG]

    Gini saya mau buat tables dgn php seperti pada gambar ini http://postimg.org/image/6ngrk2w2n/ dan datanya direcord di database,
    untuk form dan tampilan akan saya coba pelajarin sendiri
    yg ingin saya tanyakan yaitu pada kolom "jumlah jam" itu tdk diisi manual di form melainkan nilainnya di dapat dari penjumlahan dari "jam masuk dan jam keluar" contoh jam masuk = 08:30 dan jam keluar = 10:00 maka jumlah jam = 1 jam 30 menit
    lalu di bagian kolom jumlah itu hasilnya di dapat dari penjumlahan antara "jumlah jam dan 'jam' [yg dibagian kelebihan] contoh jam = 3 jam dan "jumlah jam" = 1 jam 30 menit maka isi dibagian kolom "jumlah" = 4 jam 30 menit

    itu bagaimana yach mastah caranya? saya bingung dibagian itu.

    terimakasih banyak sebelumnya.
     
  2. root001

    root001 Poster 1.0

    Messages:
    76
    Likes Received:
    4
    Trophy Points:
    8
    saya upkan dikit yach sapa tahu ada mastah2 yg lewat yg berkenan bantu
     
  3. Dika Haris

    Dika Haris Apprentice 1.0

    Messages:
    299
    Likes Received:
    25
    Trophy Points:
    28
    Kalau saya dulu bikin function sendiri Tuan!
    Untuk mempermudahnya, fungsi php yang saya pake diantaranya substr untuk memecah jam dan menit, atau kalau ada detiknya juga bisa.

    Jadi konsepnya seperti pengurangan biasa.
    menit_akhir - menit_awal
    jam_akhir - jam akhir

    Nah nantikan dapet tuh, dan tinggal di satuin deh.

    Maaf kalau terlalu ribet, itu dulu saya pake yang kaya gitu.
    Mungkin yang lain ada cara yang lebih simle. :D
     
    root001 likes this.
  4. root001

    root001 Poster 1.0

    Messages:
    76
    Likes Received:
    4
    Trophy Points:
    8
    Thanks banget om dah mau bantuin
    sdh saya buat dgn penjumlahan seperti itu namun saya ada beberapa kendala ini :
    1. Hasil dari penjumlahan jam
    Contoh : jam awal : 11:25 wib dan jam akhir = 13:30 wib maka hasil jumlah jam = 2 jam (seharusnya hasilnya = 2 jam 5 menit )
    formula yg saya pakai seperti info di atas yaitu melakukan pengurangan ($jumlahjam = $jamakhir - $jamawal)
    bagaimana caranya agar hasilnya memunculkan menit sisahnya jg,

    2. Dibagian tanggal, untuk inputnya saya pakai kalender kebetulan formatnya bulan/tgl/tahun sementara karena di sisi table databasenya saya pakai type=date (tahun/bulan/tgl) sehingga hasil tampilannya jadi 0000-00-00
    pertanyaannya bagaimana merubah format date pada databasenya agar bisa menyesuaikan dengan yg diinput sehingga tampilannya tdk kosong
     
  5. root001

    root001 Poster 1.0

    Messages:
    76
    Likes Received:
    4
    Trophy Points:
    8
    update :

    untuk point 2 sdh clear
    tinggal point 1 nya lg mash blm, penjumlahan jam nya mash blm sesuai
     
  6. Doel

    Doel Beginner 2.0

    Messages:
    72
    Likes Received:
    26
    Trophy Points:
    18
    permisi. mudah-mudahan ini bisa membantu...

    PHP:
    <?php
    $jam_masuk  
    date("2014-09-20 23:30:00");
    $jam_keluar date("2014-09-21 02:05:00");

    $d1 = new DateTime($jam_masuk);
    $d2 = new DateTime($jam_keluar);
    $interval $d2->diff($d1);

    echo 
    $interval->format('%d hari, %H jam, %I menit, %S detik');

    // OUTPUT : 0 hari, 02 jam, 35 menit, 00 detik
    ?>
    sumber: http://stackoverflow.com/questions/10712577/calculate-time-duration-considering-the-dates-in-php
     
    root001 and Dika Haris like this.
  7. Dika Haris

    Dika Haris Apprentice 1.0

    Messages:
    299
    Likes Received:
    25
    Trophy Points:
    28
    Nah, yang ini lebih simple lagi Tuan!!! :D
     
    root001 likes this.
  8. root001

    root001 Poster 1.0

    Messages:
    76
    Likes Received:
    4
    Trophy Points:
    8
    @Om Doe dan Dika Haris
    Terimakasih banyak masukan dan solusinya akan saya coba dlu,

    btw ada info atau referensi ga yach om perihal membuat table absensi dgn php?
    saya ada buat dgn seperti table ss pada post pertama saya namun itu saya buat dgn form input yg sama jg, nah saya kepikiran jika dibuat seperti itu berarti isi formnya dalam satu waktu sementara kita kan ga tahu jam pulangnya jam berapa (bisa jd pulang lebih awal dari waktu sebenarnya)
    jadi saya kepikiran jika buatnya hanya ada 1 form saja yaitu input jam dan inut keterangan pulang atau masuk nah namun ketika di lihat tables absenya maka hasilnya seperti tables yg saya ss di atas,
    mohon advicenya yach Om

    terimakasih banyak sebelumnya telah membantu saya belajar
     
  9. Doel

    Doel Beginner 2.0

    Messages:
    72
    Likes Received:
    26
    Trophy Points:
    18
    kebutuhan: data apa saja yang mau disimpan di database. tergantung alur/design dari aplikasi itu sendiri. setelah itu baru bisa dibuat skema databasenya sepertinya apa.

    apa ini aplikasi "time-based" untuk rental ya (maaf kalau salah)? yang kepahami, basic-nya seperti ini:

    Code:
    +--------+---------------------+-------+---------+------------+
    |   UID  |        START        |  END  |  LIMIT* | OVERTIME*  |
    +--------+---------------------+-------+---------+------------+
    |    1   | 2014-09-22 09:00:00 |  NULL |   120   |    NULL    |
    +--------+---------------------+-------+---------+------------+
    
    * LIMIT = "jatah", dalam hitungan menit misalnya

    untuk data jam masuk/keluar, dicatat oleh sistem (bukan operator/manual):

    PHP:
    <?php
    // seketika data di POST, catat waktu berpatokan pada sistem/server
    // ...
    $now time();
    $jam_masuk date("Y-m-d G:i:s"$now);
    // ...
    // simpan $jam_masuk ke dalam database...
    ?>
    demikian juga untuk pencatatan jam keluar.

    sekedar tips:
    - usahakan dari yang sederhana dulu.
    - sebisa mungkin, minimalkan query (yang tidak perlu) ke database. (query ke DB = expensive. overhead. bisa jadi salah satu sumber "bottleneck")

    mudah-mudahan gambaran diatas bisa membantu.
     
    root001 likes this.
  10. root001

    root001 Poster 1.0

    Messages:
    76
    Likes Received:
    4
    Trophy Points:
    8
    Terimakasih banyak atas bantuan dan pencerahannya om,

    Bukan Om dan juga bukan untuk kebutuhan digunakan skrg tp untuk bahan pembelajaran saja sapa tahu kedepan dibutuhkan dan juga sambil ngisi2 waktu luang yg ada dari pada bengong yach belajar2 dikit nambah ilmu dan kebetulan basic skillnya bukan di programing namun lebih ke tehnik jaringan tp itupun yach hanya selevel anak SMK .

    0. belajar2 buat tampilan web static = basicnya sdh dapat dikit2
    1. kemarin belajar2 input data ke database dan menampilkannya = basicnya sdh dapat dikit2,
    2. belajar2 buar form login = basicnya sdh dapat dikit,
    3. belajar2 buat tabel = basicnya sdh dpt dikit2
    4. belajar2 buat form input data = dan dikit2 sdh dpt basicnya
    5. nah skrg saya pengen belajar buat2 semacam tables absensi gitu Om system designnya sdh dapat namun terjemahkannya ke bahasa program sampai bs berjalan blm dapat Om heheheh

    rencana saya mau buat absensi dgn tampilan hasilnya seperti ini http://postimg.org/image/4sta7kz7l/ lalu kemarin saya sdh coba buat form inputnya. tapi saya mikir2 balik waduh jika setiap ada yg absens harus isi satu per satu fildnya itu banyak juga makan waktu, jadi saya mikir2 kira2 ada ga yach sysmtem form inputnya simple saja palingan isi sekitar 4 fild saja lalu submit tp saat di lihat hasilnya tampilannya seperti di atas
    kemudian jam masuk dan jam pulang kan beda tuch, jadi saya kepikiran bisa ga yach kira2 saat masuk maka absennya diproses input tapi untuk jam pulangnya dikosongkan nah ketika sdh pulang baru di dinput atau tekan tombol pulang maka tabel untuk jam pulangnya baru terisi sendiri

    gitu kira2 om pemikiran saya, sorry jika bahasa dan penjelasan saya berantakan
     
Loading...
Thread Status:
Not open for further replies.

Share This Page

Loading...