-1

I have some problem when i get count from my query, that possible to get this method to count to return count value from this code ?

<?php
                    date_default_timezone_set("Asia/Jakarta");
                    $con=mysql_connect("localhost","root","") or die ("Tidak Terhubung :".mysql_error());
                    mysql_select_db("db_apbp",$con);
                    $tgl_awal = date("Y-m-d", strtotime($_GET["tgl_awal"]));
                    $tgl_akhir = date("Y-m-d", strtotime($_GET["tgl_akhir"]));
                    $query = "SELECT * FROM tb_daftar_diagnosa";
                    $result = mysql_query($query);
                    while ($data = mysql_fetch_array($result)) {
                        $kode_diagnosa = $data["kode_diagnosa"];
                        $nama_diagnosa = $data["nama_diagnosa"];
                        $query_find_d = mysql_query("SELECT COUNT(*) as total FROM tb_rekam_medis WHERE tgl_periksa BETWEEN '$tgl_awal' AND '$tgl_akhir' AND diagnosa = '$kode_diagnosa");
                        $data_fe=mysql_fetch_assoc($query_find_d);
                        echo "<tr>
                        <td>$kode_diagnosa</td>
                        <td>$nama_diagnosa</td>
                        <td>".$data_fe["total"]."</td>
                        </tr>";
                    }
                    ?>
Dharman
  • 30,962
  • 25
  • 85
  • 135
Annug Dev
  • 21
  • 5

2 Answers2

1

As per my knowledge, I had modified in your code, kindly check,

date_default_timezone_set("Asia/Jakarta");
$con = mysql_connect("localhost","root","") or die ("Tidak Terhubung :".mysql_error());
mysql_select_db("db_apbp",$con);
$tgl_awal = date("Y-m-d", strtotime($_GET["tgl_awal"]));
$tgl_akhir = date("Y-m-d", strtotime($_GET["tgl_akhir"]));
$query = "SELECT * FROM tb_daftar_diagnosa";
$result = mysql_query($query);

while ($data = mysql_fetch_array($result))
{
   $kode_diagnosa   = $data["kode_diagnosa"];
   $nama_diagnosa   = $data["nama_diagnosa"];
   $countVal = countRekamMedis($tgl_awal, $tgl_akhir, $kode_diagnosa);
   echo "<tr>
      <td>$kode_diagnosa</td>
      <td>$nama_diagnosa</td>
      <td>$countVal</td>
   </tr>";
}

function countRekamMedis($tgl_awal, $tgl_akhir, $kode_diagnosa)
{
   $query_find_d = mysql_query("SELECT COUNT(*) as totalCount FROM tb_rekam_medis WHERE tgl_periksa BETWEEN '$tgl_awal' AND '$tgl_akhir' AND diagnosa = '$kode_diagnosa");
   $data_fe = mysql_fetch_array($query_find_d);
   $totalCountVal = isset($data_fe['totalCount']) ? $data_fe['totalCount'] : "";
   return $totalCountVal;
}
Hasitha Jayawardana
  • 2,326
  • 4
  • 18
  • 36
1

if you use mysql_query to execute string, you can use mysql_num_rows to count rows of results. Example :

<?php

$link = mysql_connect("localhost", "mysql_user", "mysql_password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM table1", $link);
$num_rows = mysql_num_rows($result);

echo "$num_rows Rows\n";

?>

Also, you should set $con for parameter. I suggest you use mysqli or PDO to secure more. Because PHP 7 removed mysql extension. PDO OR Mysqli

Au Nguyen
  • 655
  • 4
  • 12