Хорошо, ребята, это будет один длинный вопрос, поэтому, пожалуйста, потерпите меня.
Я хочу создать аккордеон с содержанием в нем:
Как я хочу, чтобы изображение выглядело как
У меня есть веб-приложение, где я загружаю различные типы (блог, домашняя страница) изображений каждую неделю. Первая неделя — это первый раунд, и изображение может быть помечено примерно как 1.x.x, где 1 — это число, соответствующее неделе. Аналогично для 2.x.x, 3.x.x и т. Д.
Я вставляю эти изображения на сервер, используя php, и записываю запись в базу данных с такой информацией, как имя_проекта, имя_файла, URL, версия и т. Д.
Я хочу автоматически создавать несколько аккордеонных вкладок, расположенных один под другим. Первая вкладка должна быть раундом, соответствующим последней неделе загрузки. Ниже на предыдущей неделе и так же мудро, пока не достигнет 1-го раунда (см. Изображения в приложении).
Теперь я могу извлекать данные и отображать файлы из ВСЕХ раундов за один раунд. То, что я хочу сделать, это отдельные раунды, автоматически на основе номера версии. = >> 1.x.x файлы в первом раунде, 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>";
Что вы хотите сделать, это получить результаты для каждой недели и выполнить цикл, но каждый раз, когда вы делаете цикл, вы хотите напечатать переменные в 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
Обратите внимание, что вы можете отформатировать данные так, как вам угодно, но вы должны выплевывать html, пока просматриваете результаты mysql. Надеюсь это поможет.
Других решений пока нет …