【问题标题】:Return count() mysql from twice fetch PHP [duplicate]从两次获取PHP中返回count()mysql [重复]
【发布时间】:2023-04-05 06:59:01
【问题描述】:

当我从查询中获取计数时,我遇到了一些问题,是否可以让此方法计数以从此代码返回计数值?

<?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>";
                    }
                    ?>

【问题讨论】:

    标签: php mysql mariadb


    【解决方案1】:

    如果你使用 mysql_query 来执行字符串,你可以使用 mysql_num_rows 来计算结果的行数。示例:

    <?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";
    
    ?>
    

    另外,你应该为参数设置$con。我建议您使用 mysqli 或 PDO 来保护更多。因为 PHP 7 移除了 mysql 扩展。 PDOMysqli

    【讨论】:

      【解决方案2】:

      据我所知,我已经修改了您的代码,请检查,

      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;
      }
      

      【讨论】:

        猜你喜欢
        • 2018-05-13
        • 2021-01-11
        • 2021-12-24
        • 2021-04-21
        • 1970-01-01
        • 2021-03-04
        • 1970-01-01
        • 1970-01-01
        • 2017-04-19
        相关资源
        最近更新 更多