2014-06-13 7 views
0

다른 div에 결과를 표시하는 데 문제가 있습니다.페치 된 결과를 하나의 inner-join-where 쿼리와 다른 두 그룹의 div로 표시하는 방법?

<div class="grid_10 alpha omega"> 
<div class="grid_5 alpha paddingtop10"> 
<div class="grid_5" id="titlescontent"><p class="titlebar">Subcat 1</p></div> 
<div class="clear"></div> 
<div class="grid_5" id="content"><p>Subsubcategories 1</p></div> 
<div class="clear"></div> 
</div> 
<div class="grid_5 omega paddingtop10"> 
<div class="grid_5" id="titlescontent"><p class="titlebar">Subcat 2</p></div> 
<div class="clear"></div> 
<div class="grid_5" id="content"><p>Subsubcategories 2</p></div> 
<div class="clear"></div> 
</div> 
<div class="grid_5 alpha paddingtop10"> 
<div class="grid_5" id="titlescontent"><p class="titlebar">Subcat 3</p></div> 
<div class="clear"></div> 
<div class="grid_5" id="content"><p>Subsubcategories 3</p></div> 
<div class="clear"></div> 
</div> 
<div class="grid_5 omega paddingtop10"> 
<div class="grid_5" id="titlescontent"><p class="titlebar">Subcat 4</p></div> 
<div class="clear"></div> 
<div class="grid_5" id="content"><p>Subsubcategories 4</p></div> 
<div class="clear"></div> 
</div> 

etc ... 

</div> 
<div class="clear"></div> 

나는 960grid 시스템을 사용하고 있는데 오메가 오른쪽으로 5px 패딩을 삭제하는 동안 알파 클래스는 왼쪽으로 5px 패딩을 삭제한다 :

나는이 html 코드가 있습니다. 다른 클래스는 paddingtop10을 제외한 색상에만 사용됩니다.

이 내 HTML로 구현하려고했던 내 PHP 코드 구조입니다 :

if ($stmt = mysqli_prepare($connect, "SELECT subcategories.subcat_name, subsubcategories.subsubcat_name, subcategories.subcat_ID FROM subcategories INNER JOIN subsubcategories ON subcategories.subcat_ID=subsubcategories.subcat_ID WHERE subcategories.cat_ID = ? OR subcategories.extra_cat_ID = ? ORDER BY subcategories.subcat_name, subsubcategories.subsubcat_name ASC")){ 
mysqli_stmt_bind_param($stmt, "ii", $cat_ID, $cat_ID); 
mysqli_stmt_execute($stmt); 
mysqli_stmt_bind_result($stmt, $subcat_name, $subsubcat_name, $subcat_ID); 
$lastcat = 0; 
while (mysqli_stmt_fetch($stmt)){ 
    if($lastcat != $subcat_ID){ 
     $lastcat = $subcat_ID; 
     echo "<br>"; 
     echo $subcat_name; 
     echo "<br>"; 
     echo "<br>"; 
     } 

    echo $subsubcat_name; 
    echo "<br>"; 
    } 
} 

내가 PHP를 통해 알파와 오메가 된 div를 생성 할 그러나 나는이 작업을 수행하는 방법을 모르겠어요. 이 코드를 시도했지만 나에게 올바른 결과를 제공하지 않습니다 내 HTML 예제 코드와 같이 원하는 같이 :

if ($stmt = mysqli_prepare($connect, "SELECT subcategories.subcat_name, subsubcategories.subsubcat_name, subcategories.subcat_ID FROM subcategories INNER JOIN subsubcategories ON subcategories.subcat_ID=subsubcategories.subcat_ID WHERE subcategories.cat_ID = ? OR subcategories.extra_cat_ID = ? ORDER BY subcategories.subcat_name, subsubcategories.subsubcat_name ASC")){ 
mysqli_stmt_bind_param($stmt, "ii", $cat_ID, $cat_ID); 
mysqli_stmt_execute($stmt); 
mysqli_stmt_bind_result($stmt, $subcat_name, $subsubcat_name, $subcat_ID); 
$lastsubcat = 0; 
while (mysqli_stmt_fetch($stmt)){ 
    echo '<div class="grid_5 alpha paddingtop10">'; 
    echo '<div class="grid_5" id="titlescontent"><p class="titlebar">'; 
    if($lastsubcat != $subcat_ID){ 
     $lastsubcat = $subcat_ID; 
     echo $subcat_name; 
     } 
    echo '</p></div>'; 
    echo '<div class="clear"></div>'; 
    echo '<div class="grid_5" id="content"><p>'; 
    echo $subsubcat_name; 
    echo '</p></div>'; 
    echo '<div class="clear"></div>'; 
    echo '</div>'; 
    echo '<div class="grid_5 omega paddingtop10">'; 
    echo '<div class="grid_5" id="titlescontent"><p class="titlebar">'; 
    if($lastsubcat != $subcat_ID){ 
     $lastsubcat = $subcat_ID; 
     echo $subcat_name; 
     } 
    echo '</p></div>'; 
    echo '<div class="clear"></div>'; 
    echo '<div class="grid_5" id="content"><p>'; 
    echo $subsubcat_name; 
    echo '</p></div>'; 
    echo '<div class="clear"></div>'; 
    echo '</div>'; 
    } 
} 

내가이 일을해야하는지 어떤 생각?

도움 주셔서 감사합니다.

답변

0

제가 생각할 수있는 유일한 것은 첫 번째 또는 마지막 반복에있을 때 카운터를 사용하여 추적하는 것입니다. 루프에 하나의 항목 만있는 경우에도 작동합니다.

$values = mysqli_stmt_fetch($stmt); 
$i = 0; 
$len = count($values); 
while ($values) { 
    $i++; 
... 
    if ($i == 1) { 
     // add alpha class 
    } 
... 
    if ($i == $len) { 
     // add omega class 
    } 
} 

어떤 아이디어가 당신을 자극합니까?

+0

@Gumbo 덕분에 http://stackoverflow.com/questions/1070244/how-to-determine-the-first-and-last-iteration-in-a-foreach-loop –

+0

@ jonas.ninja I 만나다. 나는 그것을 들여다 볼 것이다. 팁 고마워! – Thoaren