簡體   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