繁体   English   中英

如何使用php定位mysql查询表结果中的特定单元格

[英]How to target a specific cell in a mysql query table result using php

我在从mysqli_fetch_array结果中获取列并将其存储在变量中时如何访问特定的表单元格存在此问题。

    $sql5 = "SELECT e.*, @curRow := @curRow + 1 AS row_number FROM employee e JOIN (SELECT @curRow := 0) r WHERE e.team_team_id = '$team_id' AND (position_pos_id = 3 or position_pos_id = 4 or position_pos_id = 5 or position_pos_id = 6 or position_pos_id = 7 or position_pos_id = 8 or position_pos_id = 9 or position_pos_id = 10 or position_pos_id = 11 or position_pos_id = 13 or position_pos_id = 14 or position_pos_id = 15 or position_pos_id = 16)";

    $result5 = mysqli_query($connect, $sql5);
    $row5 = mysqli_fetch_array($result5);

    for($i=0;$i<$number;$i++){
        echo "<select id='testingDiv".$i."' name='employee[]' class='clonedInput'>
        <option value='".$row5['row_number'][$i]."'>" .$row5['emp_fname']. " " .$row5['emp_lname'] ."</option>";
        while ($row3 = mysqli_fetch_array($result3)) {
            echo "<option value='" . $row3['emp_id'] ."'>" .$row3['emp_fname']. " " .$row3['emp_lname'] ."</option>";
        }
        echo "</select><br>";

如您所见,我正计划通过一个计数器对其进行迭代,并将其视为3D数组,但我发现这是不可能的。 现在,我不知所措,因为我不知道如何访问列的特定单元格。

要执行您想要的操作,您也应该在外部循环中使用内部循环的结构

$result5 = mysqli_query($connect, $sql5);

$i = 0;
while ($row5 = mysqli_fetch_array($result5)) {
    echo "<select id='testingDiv" . $i . "' name='employee[]' class='clonedInput'>
    <option value='" . $i . "'>" .
        $row5['emp_fname'] . " " . $row5['emp_lname'] .
    "</option>";
    while ($row3 = mysqli_fetch_array($result3)) {
        echo "<option value='" . $row3['emp_id'] . "'>" .
                 $row3['emp_fname'] . " " . $row3['emp_lname'] .
             "</option>";
    }
    echo "</select><br>";
    $i++;
}

编辑(正在发生的事情的说明)

代码的主要问题是mysqli_fetch_array返回结果集的单行,因此您不能将该结果用作二维数组,也不能使用所使用的for循环访问所有行。

你所要做的是,外转化forwhile循环,因此,在每次迭代中,你读取新行成$row5变量。 这样,您需要手动处理计数器值,因此最后是$i++

关于$row5['row_number'][$i]$i ,我想您想获取当前行索引。 出于与我上面解释的相同原因,该指令是错误的,因为$row5变量只包含一行,因此很可能没有'row_number'列,并且绝对没有第二维,您可以使用$i访问。 但是,当前行索引已经在$i本身中可用,因此我改用了该计数器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM