2016-12-15 2 views
-1

오케이 친구들이 오랜 질문이 될 것입니다.PHP와 MySQL에서 아코디언 생성

나는 그것에 내용 아코디언을 만들려면 :

How I want the image to look like

How it looks right now

이 나는 ​​이미지의 여러 유형 (블로그, 홈페이지) 매주 업로드 웹 응용 프로그램을 가지고있다. 첫 번째 주는 1 라운드이고 이미지는 1.x.x와 같은 레이블을 붙일 수 있습니다. 여기서 1은 해당 주에 해당하는 번호입니다. 마찬가지로 2.XX를 들어,

등 3.xx 나는 등 프로젝트 이름, FILE_NAME, URL, 버전

같은 정보와 함께, PHP를 사용하여 서버에 이러한 이미지를 삽입하고 데이터베이스에 항목을 로그 내가 여러 아코디언 탭을 자동으로 생성합니다. 첫 번째 탭은 최신 업로드 주간에 해당하는 라운드 여야합니다. 그 주보다 1 주일 전부터 현명한 것까지 1 라운드에 도달합니다 (첨부 된 이미지 참조).

이제는 모든 라운드에서 데이터를 가져 와서 한 라운드에 파일을 표시 할 수 있습니다. 내가 원하는 것은 버전 번호에 따라 자동으로 분리 된 라운드입니다. >> 1 라운드 1.x.x 파일, 2 라운드 2.x.x

다음은 내가 작성한 코드입니다. 주석 부분은 제가 따라하고 수행 한 것입니다. 나는 PHP에 완전히 합류 한 사람이고, 누군가가 이것을 도와 줄 수 있다면 고맙겠습니다. 감사!

$project_name_download_form = $_GET['project_name']; 
$file_name_download_form = $_GET['file_name']; 
$version_download_form  = $_GET['version']; 
$download_data    = "SELECT * 
           FROM projects, files 
           WHERE project_id = projects.id 
            AND project_name = '$project_name_download_form'  
           AND file_name = '$file_name_download_form' 
           AND version = '$version_download_form'"; 
mysqli_select_db($conn, $GLOBALS['database']); 
$return_data = mysqli_query($conn, $download_data); 
if (!$return_data) { 
    die('Could not get what you wanted: ' . mysqli_error($conn)); 
} 
while ($row = mysqli_fetch_array($return_data)) { 
    $url   = $row['url']; 
    $project_folder = $row['project_folder']; 
    //$id = 18; 
    $file_name  = $row['file_name']; 
    $version  = $row['version']; 
    $details  = $row['details']; 
    $file   = $row['file']; 
    $new   = basename($row['file']); // GET FILE NAME ONLY, GET RID OF PATH. 

    // $design->url = $row[file_name] 
    // $design->version = $row[version] 

    // $designs.push ($design) 
} 


mysqli_free_result($return_data); 


// $lastRound = 0; 

// for each $design in $designs 
// { 
// $round = $design.version.split('.')[0]; 

// if $round <> $lastRound { 

?> 
     <div class="col-sm-2" id = "accordianSet"> 
      <div class="panel-group" id="accordion"> 
       <div class="panel panel-default"> 
        <div class="panel-heading"> 
         <h4 class="panel-title"> 
          <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne"><span> 
          </span>Explore</a> 
         </h4> 
        </div> 
        <div id="collapseOne" class="panel-collapse collapse"> 
         <div class="panel-body"> 
          <?php 
    } 
?> 

<?php 

    // <HTML FOR LINK > 

} 


echo "<table class = 'table'>"; 
echo "<tr>"; 
echo " <th>File Name</th> 
          <th>File Link</th>"; 
echo "</tr>"; 

답변

0

은 당신이하고 싶은 통해 매주 루프에 대한 결과를 가져하지만 다음과 같은 때마다 당신은 루프 당신은 HTML에서 변수를 인쇄 할 :

<?php 
    $i=0 
    while ($row = mysqli_fetch_array($return_data)) { 
    $url   = $row['url']; 
    $project_folder = $row['project_folder']; 
    //$id = 18; 
    $file_name  = $row['file_name']; 
    $version  = $row['version']; 
    $details  = $row['details']; 
    $file   = $row['file']; 
    $new   = basename($row['file']); 
    $i++ 

//1st Round 
echo' <table> 
    <caption> Round $i</caption> 
    <tr> 
     <th>File Name</th> 
     <td>$file_name</td> 
    </tr> 
    <tr>.... 
    </tr> 
    </table>'; 
}//while loop close tag 

참고이를 포맷 할 수 데이터 어쨌든 당신이 원하는하지만 당신은 MySQL의 결과를 통해 루프로 HTML을 뱉어 야해. 희망이 도움이됩니다.

관련 문제