首页 > 解决方案 > 如何在html表中显示数据库中的多条记录

问题描述

我想根据某些标准在 html 表中显示来自数据库的多条记录,我只得到 1 条记录,但我在数据库中有 2 条符合条件的记录。

请帮助显示数据库中符合条件的所有记录。

<?php
$count = 1;
$query = "SELECT * FROM  career group by pno";

$result = mysqli_query($connection, $query);

while ($row = mysqli_fetch_assoc($result)) {
    $pno = $row['pno'];
    $query = "SELECT sum(duration) as total_duration FROM career where pno = $pno";

    $result = mysqli_query($connection, $query);

    $Value = $row = mysqli_fetch_assoc($result);

    $total_value = implode(",", $Value);

    if ($total_value < 54) {
        continue;
    }
    $rank_query = "SELECT name,pno,rank,medical_category,staff_course_isc FROM user_general_info where pno = $pno and rank in ('manager','staff') and medical_category = 'Aye' and staff_course_isc = 'Yes'";
    echo $rank_query;
    $result = mysqli_query($connection, $rank_query);

    $row = mysqli_fetch_assoc($result);

    $pno = $row['pno'];
    $name = $row['name'];
    $rank = $row['rank'];

    // $total_value= implode(",", $Value['name']);
    // echo $total_value; exit;
    ?>

    <tr>
        <td><?php echo $count; ?></td>
        <td><?php echo strtoupper($pno); ?></td>
        <td><?php echo strtoupper($name); ?></td>
        <td><?php echo strtoupper($rank); ?></td>
    </tr>
    <?php $count++;
} ?>

这是我的数据库行

Record 1 : Pno: 2222, name: test1, rank : manger , medical_category: Aye : duration : 59, staff_course_isc: Yes 

Record 2 : Pno: 4301234, name:test2, rank : staff , medical_category: Aye : duration : 122, staff_course_isc: Yes 

标签: phpsql

解决方案


您应该以不同的方式命名变量:

<?php
$count = 1;
$query = "SELECT * FROM  career group by pno";
$result1 = mysqli_query($connection, $query);

while ($row = mysqli_fetch_assoc($result1)) 
{
    $pno = $row['pno'];

    $query = "SELECT sum(duration) as total_duration FROM career where pno = $pno";
    $result2 = mysqli_query($connection, $query);

    $Value = $row = mysqli_fetch_assoc($result2);

    $total_value = implode(",", $Value);

    if ($total_value < 54) continue;
    $rank_query = "SELECT name,pno,rank,medical_category,staff_course_isc FROM user_general_info where pno = $pno and rank in ('manager','staff') and medical_category = 'Aye' and staff_course_isc = 'Yes'";
    echo $rank_query;
    $result3 = mysqli_query($connection, $rank_query);
    $row = mysqli_fetch_assoc($result3);

    $pno = $row['pno'];
    $name = $row['name'];
    $rank = $row['rank'];

    // $total_value= implode(",", $Value['name']);
    // echo $total_value; exit;
    ?>

    <tr>
        <td><?php echo $count; ?></td>
        <td><?php echo strtoupper($pno); ?></td>
        <td><?php echo strtoupper($name); ?></td>
        <td><?php echo strtoupper($rank); ?></td>
    </tr>
    <?php $count++;
} ?>

推荐阅读