我正在處理一個元素週期表,其中我從數據庫中檢索所有元素。我想將這些元素放置在元素週期表中它們各自的位置上。PHP只解析數組中的第一個元素
例如:氫在第1行,第1單元 - 氦在第1行,第18單元。因此這兩者之間的單元應該是空白的。
問題是,當我運行我的for-loop並比較存儲在我的數據庫中的位置和我給出的每個單元的ID(這與數據庫的位置結果相同),它只解析第一個元素,然後停止。
它返回第一個1-1(氦 - 行1,單元格1)並解析它應該像它應該。然後下一個,這將是1-2(行1,單元格2),從這裏開始就停止。
這是我的查詢
// SQL Query for retrieving elements
$query = "
SELECT
id, name, symbol, row, cell
FROM
elements
ORDER BY
id
";
$objResult = $objConnection->query($query);
while ($row = $objResult->fetch_assoc()) {
// Creating two-dimensional, associative array containing each element
$ele[] = array(
'id' => $row['id'],
'name' => $row['name'],
'symbol' => $row['symbol'],
'position' => $row['row'].'-'.$row['cell']
);
}
我的for循環
// Element counter
$cnt = 0;
// Creating tr's and td's
for($i = 1; $i <= 9; $i++) {
echo '<tr>';
for($h = 1; $h <= 18; $h++) {
$cell = $i.'-'.$h;
$pos = $ele[$cnt]['position'];
echo '<td id="'.$cell.'">';
if($pos == $cell) {
echo $ele[$cnt]['symbol'];
}
echo '</td>';
$cnt++;
}
echo '</tr>';
我希望你能幫助我,CUS我很堅持。
你想創建一個行9和列18表?爲什麼你的開始變量等於1,而不是0?數組索引以0開頭 – waki
因爲它與數組索引無關,但存儲在我的數據庫中。 –