2016-09-29 3 views
1

내가 원하는 것은 Category id에 해당하는 항목의 총 클릭 수를 20 회의 항목으로 표시하며, 가장 높은 총 클릭 수를 기준으로 표시됩니다. item idtotal clicks 이미 항목 ID의루프로 루프를 만들려면

20columns을 (채울 경우 내가 하드 코드와 결과를 사용하고 지금

는, 그래서이

i am using hard code to t

같은 외모를 가지고 총 클릭 수) +2는 큰 의미이므로 의미는

22 컬럼

다음 행으로 이동해야합니다.

것은 내 DB를 참조하고, 그래서 테이블을 만드는 루프를 사용하고, 나는 그렇게 할 때,이 결과를 얻고 있기 때문에 ....

enter image description here

결과는 왼쪽 끝까지 표시됩니다. 보고서 목적으로 읽기가 매우 어렵습니다. 내가 업로드 한 첫 번째 그림과 같은 결과를 원했습니다. 여기

내가 지금 뭐하는 거지입니다 :

include "Con.php"; 
     //get the value from Get Method 
     $CatidValue = $_GET['CatIds']; 
     //(The date format would looks like yyyy-mm-dd) 
     $DateFrom = $_GET['DateFrom']; 
     $DateTo = $_GET['DateTo']; 
     //select the CatID 
     $SqlGet= "Select CatId from try where CatId = $CatidValue"; 
     $_SqlGet = mysqli_query($connection,$SqlGet); 
     $TakeResultGet = mysqli_fetch_array($_SqlGet); 
     $CatIdTittle = $TakeResultGet ['CatId']; 

     echo" 
      For Category Id : $CatIdTittle 
      <br> 

     "; 

     //For Loop purpose and break the value 
     $explodeValueFrom = explode("-",$DateFrom); 
     $explodeValueTo = explode("-",$DateTo); 
     $DateValueFrom = $explodeValueFrom[0].$explodeValueFrom[1].$explodeValueFrom[2]; 
     $DateValueTo = $explodeValueTo[0].$explodeValueTo[1].$explodeValueTo[2];  

     //Loop through the date 
     for($Loop=$DateValueFrom; $Loop <= $DateValueTo; $Loop++){ 
      $YearLoop= substr($Loop, 0,4); 
      $MonthLoop =substr($Loop, 4,2); 
      $DayLoop = substr($Loop, 6,2); 

      $DateTittleValue = $YearLoop."-".$MonthLoop."-".$DayLoop; 
      $trValue = "<th class='tg-amwm' colspan='2'>$DateTittleValue</th>"; 


       echo" 
       <table class='tg'> 
        <tr> 
         $trValue 
        </tr> 
       "; 
       echo" 
       <table class='tg'> 
        <tr> 
         <td class='tg-yw4l'>Items Id</td> 
         <td class='tg-yw4l'>Total Clicks</td> 
        </tr> 
       "; 



      //to get the item id and total clicks 
      $SqlSelect = "select `Item Id`,`Total Clicks`,Day from try where CatId = $CatidValue and Day = '$DateTittleValue' ORDER BY `try`.`Total Clicks` DESC limit 20"; 
      $_SqlSelect = mysqli_query($connection,$SqlSelect); 
      foreach ($_SqlSelect as $ResultSelect) { 
       $Day = $ResultSelect['Day']; 
       $ItemId = $ResultSelect['Item Id']; 
       $TotalClicks = $ResultSelect['Total Clicks']; 

       echo"  
        <tr> 
         <td class='tg-yw4l'>$ItemId</td> 
         <td class='tg-yw4l'>$TotalClicks</td> 
        </tr>    
       "; 
      } 
     }   
    ?> 
당신은 플로트와 각 테이블을 떠 필요
+0

CSS 및 일부 부동 마법을 사용하여이를 달성 할 수 있습니다. div에 각 테이블을 놓고 왼쪽으로 띄우면됩니다. –

+0

@LeonelAtencio "Float Magic"? –

답변

1

: 왼쪽 CSS 속성과 같은 행을 원하는 테이블의 수에 따라 약간의 비율 . 이 경우 33 %가 도움이됩니다. 이 codepen에서보세요 : http://codepen.io/anon/pen/EgXqPk

마법에 발생합니다

.tg { 
    width: 33%; 
    float:left; 
} 
+0

당신은 최고입니다! 이 대답은 –

+0

다행입니다. 이것이 당신에게 대답한다면, 그것을 받아주세요!. –

+0

완료! 도움을 주셔서 감사합니다 (y) –

3

당신은 (데이터를 날짜별로 그룹화한다) 매일 보고서를 동적으로 테이블 내에서 TD를 추가해야합니다.

+0

당신이 말하는 것이 옳았으나 @Leonel Atencio의 답변이 제 경우에 적합합니다. 고맙습니다! –

1
you can try i hope this perfect for you to draw a table using PHP Loop. 
<?php 
echo "<table border =\"1\" style='border-collapse: collapse'>"; 
for ($row=1; $row <= 10; $row++) { 
echo "<tr> \n"; 
for ($col=1; $col <= 10; $col++) { 
$p = $col * $row; 
echo "<td>$p</td> \n"; 
} 
echo "</tr>"; 
} 
echo "</table>"; 
?> 
관련 문제