저는 주기율표에서 데이터베이스의 모든 요소를 검색하고 있습니다. 주기율표의 해당 위치에 요소를 배치하고 싶습니다.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']
);
}
입니다 그리고 내 나는 꽤 붙어있어 기분이야 내가, 당신이 날 도울 수 있기를 바랍니다
// 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>';
에 대한-반복합니다.
당신은 행 (9)과 열 (18)와 테이블을 생성 할을 같은? 그리고 시작 변수가 0이 아닌 1과 같은 이유는 무엇입니까? 배열 인덱스는 0 - – waki
으로 시작합니다. 배열 인덱스와 관련이 없기 때문에 내 데이터베이스에 저장된 위치입니다. –