Хорошо, это мой первый раз, когда я использовал Stack, поэтому заранее извиняюсь за все, что я делаю неправильно.Петля в петле PHP
Ситуация: У меня есть проект класса для перезаписи HTML-кода в PHP. Вот фрагмент кода HTML.
<div class="col-small-6 col-med-6 col-lg-4 albumContainer">
<img src="_images/elephant_king_cover_240x240.png" alt="">
<div class="panel-group" id="accordion">
<div class="panel panel-default">
<div class="panel-heading">
<h2 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">Elephant King</a></h2>
</div>
<div id="collapseOne" class="panel-collapse collapse">
<div class="panel-body">
<ol>
<li>Elephant King</li>
<li>Joy & Sorrow</li>
<li>Traverse</li>
<li>Tres Capos</li>
<li>Timepiece</li>
<li>Adventures in Sawyerland</li>
<li>Be Still</li>
<li>Overtime</li>
<li>Bongolo</li>
<li>Coronation</li>
<li>Anchor</li>
</ol>
<h3>available at:</h3>
<a href="https://itunes.apple.com/us/album/elephant-king/id512331651">iTunes</a>
<a href="http://rads.stackoverflow.com/amzn/click/B007G3SEFW">Amazon</a>
<a href="http://store.whatarerecords.com/collections/trace-bundy/products/trace-bundy-elephant-king-1">United Interests</a>
</div>
</div>
</div>
</div>
</div><!-- end albumContainer -->
Структура повторяется с различным содержанием.
Проблема: Когда я запускаю свой SQl/PHP, я получаю всю информацию, которую я прошу, но она не отображается должным образом. Я получаю всю свою информацию снова и снова, так как существует много разных названий песен (упорядоченный список). Я хочу, чтобы все запускалось один раз для каждого раздела, а названия песен были содержимым для аккордеона. Вот код SQL/PHP, с которым я возился.
<?php
require('mysqli_connect_remote.php');
$q = "SELECT Album_Art, Concat(Title, ' ', Release_Date) AS Title, destination, direction, Songs.Name FROM Albums Inner JOIN Songs ON Albums.Album_id=Songs.Album_id ";
$result = mysqli_query($dbcon, $q);
if ($result){
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
echo '<div class="col-small-6 col-med-6 col-lg-4 albumContainer">';
echo '<img src=' . $row['Album_Art'] . 'alt="">';
echo '<div class="panel-group" id="accordion">';
echo '<div class="panel panel-default">';
echo '<div class="panel-heading">';
echo '<h2 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href=' . $row['direction'] . '>' . $row['Title'] . '</a></h2></div><div id=' . $row['destination'] . ' class="panel-collapse collapse"><div class="panel-body">';
echo '<ol> <li>' . $row['Name'] . '</li> </ol> </div></div></div></div></div>';
}
// <h3>available at:</h3>
// <a href=' . ['Location'] . '>iTunes</a>
// <a href=' . ['Location2'] . '>Amazon</a>
// <a href=' . ['Location3'] . '>United Interests</a>
// ';}
mysqli_free_result ($result);
} else {
echo '<p class="error">The current users could not be retrieved. We apologize for any inconvenience.</p>';
echo '<p>' . mysqli_error($dbcon) . '<br><br />Query: ' . $q . '</p>';
}
mysqli_close($dbcon);
?>
Любое понимание того, как сделать эту работу для меня, было бы очень полезно.
Спасибо за совет, код значительно чище выглядит, но я все еще не получаю аккордеон работать @developerwjk –
@ChristopherClear, Это должно быть гармошкой ? Я не заметил никаких упоминаний об этом. Вы должны изучить некоторые примеры аккордеона jquery: http://api.jqueryui.com/accordion/ – developerwjk