PHP MySQL函数统计输出

PHP MySQL函数统计输出,php,mysql,Php,Mysql,我编写了一个函数,其中一个按钮的值应该从两个表中获取。五个按钮应并排显示。 这在理论上是可行的,但第一个按钮的输出显示5次,第二个按钮显示4次,以此类推 输出被多次输出,我遗漏了什么 function get_strat($map_id, $map_site, $operator_role_input) { global $connection; $query = "SELECT * FROM strat WHERE map_id = $map_id AND strat_ro

我编写了一个函数,其中一个按钮的值应该从两个表中获取。五个按钮应并排显示。 这在理论上是可行的,但第一个按钮的输出显示5次,第二个按钮显示4次,以此类推

输出被多次输出,我遗漏了什么

function get_strat($map_id, $map_site, $operator_role_input) {

    global $connection;

    $query = "SELECT * FROM strat WHERE map_id = $map_id AND strat_role_id = $map_site";
    $select_all_defense_strats = mysqli_query($connection, $query);

    while($row = mysqli_fetch_assoc($select_all_defense_strats)) {

        $map_id = $row['map_id'];
        $operator_id = $row['operator_id'];
        $operator_role = $row['operator_role'];

        if($operator_role === $operator_role_input) {
            $query = "SELECT operator_name FROM operator WHERE operator_id = $operator_id";
            $get_operator_name = mysqli_query($connection, $query);

            $row = mysqli_fetch_assoc($get_operator_name);

            $operator_name = $row['operator_name'];

        } 

        echo $operator_name;

    }
}

.... (最多5个)

因为变量
$operator\u name
不在
if语句的范围内。当它有价值时,它会打印它。当比较为false时,则为未定义

将它的默认值放在if语句的
之前

$operator_name = '';
if(){...}
echo $operator_name;
或者只需输入您的
echo$operator\u名称
if语句的内部和末尾

$operator_name = '';
if(){...}
echo $operator_name;