Menampilkan data selalu munculnya yang else

permisi mau nanya,kenapa ya pada saat mencari data menggunakan tanggal awal dan tanggal akhir, tetapi pada saat di tampilkan selalu yang elsenya saja. pada sudah ada isinya pada tanggal itu. terima kasih sebelumnya

ini sourcodenya


 <section class="content-header">
  <h1>
    Surat Masuk</h1></section>

    <section class="content">

      <style type="text/css">
        .form-group{
          margin-top: 15px;
          margin-bottom: 0px !important;
        }

      </style>

      <div class="row">
        <div class="col-xs-12">

          <div class="box">
            <div class="box-header">

              <form class="form-inline" action="" method="POST"  />
              <div class="input-group date">
                  <div class="input-group-addon">
                    <i class="fa fa-calendar"></i>
                  </div>
                  <input type="text" class="form-control pull-right" name="tanggal_awal" id="datepicker1" placeholder="Dari tanggal">
                </div>
              <div class="input-group date">
                  <div class="input-group-addon">
                    <i class="fa fa-calendar"></i>
                  </div>
                  <input type="text" class="form-control pull-right" name="tanggal_akhir" id="datepicker2" placeholder="sampai tanggal">
                </div>

              <button class="btn btn-info" name="tampilkan" type="submit">Tampilkan</button>
              </form>

            </div>

            <?php
            if (isset($_POST['tampilkan'])) {
              $tgl_awal = $_POST['tanggal_awal'];
              $tgl_akhir = $_POST['tanggal_akhir'];
              if (empty($tgl_awal) || empty($tgl_akhir)) {
                ?>
                <script language="JavaScript">
                  alert('Tanggal Awal dan Tanggal Akhir Harap di Isi!');
                  document.location='?page=agendasuratmasuk';
                </script>
                <?php

              }else{
                ?>
                <i><b>Informasi:</b>Hasil pencarian agenda surat masuk berdasarkan periode tanggal <b><?php echo $_POST['tanggal_awal']; ?></b>s/d <b><?php echo $_POST['tanggal_akhir']; ?></b></i>
                <?php
                $query = mysql_query(" SELECT * FROM tb_suratmasuk WHERE tgl_input BETWEEN '$tgl_awal' AND '$tgl_akhir'");
              }


            ?>

            <div class="box-body table-responsive no-padding">
              <table id="datatables" class="table table-bordered table-hover dataTable">
                <thead>
                  <tr>
                    <th width="5%">No Agenda</th>
                    <th width="10%">No Surat</th>
                    <th width="10%">tanggal input</th>
                    <th>Perihal</th>
                    <th width="20%">Asal surat</th>
                    <th>kepada</th>
                    <th>keterangan</th>

                  </tr>
                </thead>

                <tbody>
                  <?php


               while($_POST =mysql_fetch_assoc($query)){
                    $no_surat = $_POST['no_surat'];
                    $no_agenda = $_POST['no_agenda'];
                    $asal_surat = $_POST['asal_surat'];
                    $perihal = $_POST['perihal'];
                    $tgl_surat = $_POST['tgl_surat'];
                    $tgl_input = $_POST['tgl_input'];
                    $kepada = $_POST['kepada'];
                    $keterangan = $_POST['keterangan'];

                ?>
                  <tr>
                    <td><?php echo "$no_agenda"; ?></td>
                    <td><?php echo "$no_surat"; ?></td>
                    <td><?php echo "$tgl_input"; ?></td>
                    <td><?php echo "$perihal"; ?></td>
                    <td><?php echo "$asal_surat"; ?></td>
                    <td><?php echo "$kepada"; ?></td>
                    <td><?php echo "$keterangan"; ?></td>

                  </tr>
                  <?php } ?>
                  <tr>
                    <td colspan="4" align="text-center">
                      <?php
                      if (mysql_num_rows($query)==0) {
                        echo "<font color=red><blink>Pencarian data tidak ditemukan!</blink></font>";
                      }
                      ?>
                    </td>
                  </tr>
                </tbody>
              </table>
              <?php
            } else {
              unset($_POST['tampilkan']);
            }
            ?>
            </div>

          </div>
        </div>
      </div>

</section>

avatar Sopian78
@Sopian78

3 Kontribusi 0 Poin

Diperbarui 6 tahun yang lalu

6 Jawaban:

apakah sudah bisa menampilkan data tanpa searching? dan juga kenapa echo variable diantara tanda petik dua padahal ini bakal membuat nama variabel menjadi string?


                  <tr>
                    <!-- kenapa echo variable menggunakan '"' ? --!>
                    <td><?php echo "$no_agenda"; ?></td>
                    <td><?php echo "$no_surat"; ?></td>
                    <td><?php echo "$tgl_input"; ?></td>
                    <td><?php echo "$perihal"; ?></td>
                    <td><?php echo "$asal_surat"; ?></td>
                    <td><?php echo "$kepada"; ?></td>
                    <td><?php echo "$keterangan"; ?></td>

                    <!-- setahu saya kalau echo variable seperti ini
                    <?php echo $no_agenda; ?>
                    --!>


                  </tr>
avatar LatifDayat
@LatifDayat

11 Kontribusi 2 Poin

Dipost 6 tahun yang lalu

sudah gan, sebelumnya juga.

avatar Sopian78
@Sopian78

3 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

@Sopian78 coba di echo Query Sqlnya lalu di test di db hasilnya benar ngga?

avatar blackarch
@blackarch

101 Kontribusi 35 Poin

Dipost 6 tahun yang lalu

Jawaban Terpilih

yupz btul kayak @blackarch bilang buat dulu variable sqlnya. supaya enak debugnya $sql = " SELECT * FROM tb_suratmasuk WHERE tgl_input BETWEEN '$tgl_awal' AND '$tgl_akhir'" echo $sql; $query = mysql_query($sql); kmudian run the sql statement inside the database. kalau data return berarti sqlnya betul sebaliknya no data return, ada salah dengan querynya. munkin type tgl_input nya itu buka timestamp. jadinya betweenya mnkin ngk jalan

avatar mukhsinsin
@mukhsinsin

11 Kontribusi 2 Poin

Dipost 6 tahun yang lalu

Ini masalahnya

  $query = mysql_query(" SELECT * FROM tb_suratmasuk WHERE tgl_input BETWEEN '$tgl_awal' AND '$tgl_akhir'");

Cara menggabungkan variable dan stringnya salahnya. Harusnya di 'concat', jadinya seperti ini :

  $query = mysql_query(" SELECT * FROM tb_suratmasuk WHERE tgl_input BETWEEN " . $tgl_awal . " AND " . $tgl_akhir );

CMIIW

avatar LatifDayat
@LatifDayat

11 Kontribusi 2 Poin

Dipost 6 tahun yang lalu

SOLVED, ternyata yang salah ada di date formatnya hehe. tapi terima kasih buat semuanya yang udah repot-repot mau jawab:)

avatar Sopian78
@Sopian78

3 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban