, 당신은 이미지의 격자를 원한다. 그리드는 2- 엔트리 테이블이므로 실제로 2 개의 루프가 필요합니다. 행의 모든 항목 (즉, 모든 열)은 첫 번째 루프에서 비롯되며 모든 행은 첫 번째 루프를 호출하는 두 번째 루프에서 비롯됩니다.
이 다음 발췌 문장을 보겠습니다. 당신이주지 않은 몇 가지 알려지지 않은 제약이 있습니다. 그래서 나는 그것들 중 일부를 가정 할 것입니다. 예를 들어, 데이터가 일차원 배열로 반환된다고 가정합니다.
<?php
$data = array('one', 'two', 'three', 'four', 'five', 'six');
$nbColumns = 3;
?>
<table>
<?php
for($row = 0; $row * $nbColumns < count($data); ++$row) {
?>
<tr>
<?php
for($col = 0; $col < $nbColumns; ++$col) {
?>
<td><?php echo $data[$row * $nbColumns + $col]; ?></td>
<?php
}
?>
</tr>
<?php
}
?>
</table>
이 생성됩니다
<table>
<tr>
<td>one</td>
<td>two</td>
<td>three</td>
</tr>
<tr>
<td>four</td>
<td>five</td>
<td>six</td>
</tr>
</table>
당신은 여러분의 필요에이 코드를 적용 할 수 있어야한다.
제 대답/스 니펫을 편집 할 수 있도록 설명해야 할 것이 있는지 알려주세요.
편집 :
난 당신이 설명하는 내게 필요한 것을 얻을 모르겠습니다.
어쨌든 간단히 말해서 초기 코드를 스 니펫에 다시 넣었지만 특별한 것은하지 않았습니다. 기본적으로, 방금 include
을 삽입하고 상단에 executeSelectQuery
을 호출하고 멍청한 숫자를 두 줄로 바꿨습니다. 먼저 이미지가되고 두 번째가 링크/이름이됩니다.
코드의 모든 세부 정보가 없으므로 보증 할 수 없습니다. 결론적으로
<?php
include 'dbFunctions.php';
$arrStocks = executeSelectQuery("SELECT name,id,image,price FROM stocks");
$nbColumns = 3;
?>
<table>
<?php
for($row = 0; $row * $nbColumns < count($arrStocks); ++$row) {
?>
<tr>
<?php
for($col = 0; $col < $nbColumns; ++$col) {
$index = $row * $nbColumns + $col;
$name = $arrStocks[$index]['name'];
$image = $arrStocks[$index]['image'];
$id = $arrStocks[$index]['id'];
$price = $arrStocks[$index]['price'];
?>
<td>
<img src="stocks/<?php echo $image; ?>" alt="<?php echo $name; ?>">
<br>
<a href="stockDetails.php?id=<?php echo $id; ?>"><?php echo $name; ?></a>
</td>
<?php
}
?>
</tr>
<?php
}
?>
</table>
, 당신은 당신이 원하는 것을 달성하기 위해
table
를 사용하지 않도록주의하시기 바랍니다. 내 대답은 약간 hackish (
$nbColumns
은별로 좋지 않다)이지만,
table
을 사용하여 원하는 것을 성취 할 수있는 더 좋은 방법은별로 없다.
편집하고 마지막 조각을 테스트, 지금 작동합니다 :
이
EDIT2가 ... float
의 사용 하지만 더 나은 솔루션이 될 수 있습니다,하지만 더 이상 PHP 관련 문제가되지 않을 것입니다 -)
"그냥 테이블에 어떤 형식도없이 연속적으로 표시됩니다"부분을 설명해 주시겠습니까? 무엇을 성취하려고합니까? – astorije
위의 코드를 사용하면 단일 열로 표시된다는 의미입니다. 그리고 난 단지 하나의 열 대신 여러 행과 열로 이미지를 표시하고 싶습니다. @ JérémieAstori – nurf
나는 아직도 당신이 성취하려는 것을 얻지 못한다. 나는 가짜 데이터를 사용하여 그것을 tred했다. @FaCE가 (의미적인 이상 함과 함께) 반복문에 빠져있는' '을 제외하고, 필자는 여러 개의 행을 가지고 있는데, 각 행은 두 개의 열로 구성되어있다. (첫 번째는 이미지이고, 두 번째는 링크이다.). – astorije