2012-06-03 4 views
-4

에서 일련의 제품을 표시합니다. 하나의 프로젝트에서 PHP를 사용하여 mysql 테이블의 제품을 표시해야합니다.mysql 테이블

제 디자인은 한 제품에 5 개 제품이 표시되는 것과 같습니다.

테이블에 7 개의 제품이 있으면 2 행이어야합니다. 나는 위와 같이 코드를 얻으려면 foreach 루프를 사용하는 방법에 대해 궁금

<UL> 
<li>first</li> 
<li>2nd</li> 
<li>3rd</li> 
<li>4th</li> 
<li>5th</li> 
</ul> 

<UL> 
<li>6th</li> 
<li>7th</li> 
</ul> 

처럼 제품을 표시하고 행하기 <UL><LI>을 사용하고

first row 5 products 
second row 2 products 

.

forloop with 5 increment을 사용하는 경우 테이블에서 제품을 가져 와서 이름을 표시 할 수 없습니다.

감사

+2

-1 왜냐하면 카운터와 if 문을 사용하는 것이 분명해야하기 때문입니다. 이 생각을 좀 해 주시겠습니까? 너 뭐 해봤 니? –

답변

2
echo '<ul>'; 
foreach ($yourResultSet as $index=>$data) { 
    echo '<li>' . YourOutput . '</li>';   

    if ($index % 5 == 0) { 
     echo "</ul><ul>"; 
    } 
} 
echo '</ul>'; 
+0

+1,보기 레이어에서 db 호출을 사용하지 않으므로 +1. Minor tweak - 행 수가 5로 정확히 나눌 수 있으면 불필요한 정렬되지 않은 목록이 생성됩니다. 여전히 OP의 과제가 될 수 있습니다.) :'. – halfer

0
<ul> 
<?php $i = 0; ?> 
<?php while($row = mysql_fetch_array($result)): /* Used to loop through a resultset*/ ?> 
    echo "<li>".$row['data'].</li>"; 
<?php 
    $i++; // Increment by one every loop 
    if($i == 5){ // We've hit the fifth iteration 
     echo '</ul><ul>'; // Close the UL and open a new UL 
     $i = 0; // Set $i back to 0 and continue looping 
    } 
    endwhile; 
?> 
</ul> 

은보십시오.

0

이 달성의 가장 좋은 방법은 <li> 년대 그들 중 다섯 부모 컨테이너에 맞도록 특정 폭을 가지고하는 것입니다 그 다음 두하거나 다음 행으로 떨어질 것이 그러나 많은 .

<style> 
#container { 
    width: 350px; 
    background: red; 
    padding:0; 
    margin: 0; 
} 
#list li 
{ 
    display: inline-block; 
    width: 50px; 
    height: 50px; 
    list-style-type: none; 
    background:blue; 
    margin: 2px; 
    padding: 0; 
} 
</style> 

<div id="container"> 
    <ul id="list"> 
    <?php 
    while($row = mysql_fetch_array($result)) 
    { 
     echo '<li>' . $row['data'] . '</li>'; 
    } 
    ?> 
    </ul> 
</div> 

이 2 ~ 5 행 1 개 제품의 세 번째 행을해야 당신은 크기가 조금 플레이해야하지만, 모든 일을해야하고, 당신이 (11 개) 제품이있다.