У меня есть страница php, на которой есть вкладки аккордеона. Заголовок заголовка для каждой вкладки должен быть заголовком категории. В базе данных 10 категорий.Пока петля внутри цикла While loop looping
Каждая вкладка должна содержать список всех игроков данной категории. Итак, аккордеон tab1 будет иметь название «Категория 1» и включает список всех игроков из базы данных в «Категория 1». Это делается на двух отдельных php-страницах.
На первой странице находится корпус панели аккордеона, который должен проходить через базу данных и создавать новую панель для каждой категории. Затем на этой странице панели отображается «включить» для игроков.
Моя проблема в том, что панель While While проходит цикл только один раз и создает панель для категории 1, но никогда не переходит в «Категория 2». Причина почему-то заключается в том, что «php includes» для игроков. Если я прокомментирую "include 'includes/player-select.php';"
для игроков, так что он будет создавать только табуляции для категорий, то он будет проходить через всю базу данных и создавать 10 вкладок. Включение игроков остановит цикл только на вкладке первой категории.
Есть идеи?
Вот Panel.php
<?php
$query = "SELECT catID,cat_name,categoryColor FROM Categories";
$result = mysqli_query($conn, $query);
if($result === FALSE) {
die(mysqli_error());
}
while ($row = mysqli_fetch_array($result)) {
$cat_id = $row['catID'];
$catName = $row['cat_name'];
$catColor = $row['categoryColor'];
// BEGIN PANEL
echo '<div class="panel panel-default">';
echo '<a data-toggle="collapse" data-parent="#accordion" href="#collapse' . $cat_id .'">';
echo '<div class="panel-heading" style="background-color: ' . $catColor . '; color: #2b2c31;">';
echo '<h4 class="panel-title">';
echo $catName . '<span class="glyphicon glyphicon-chevron-down caret-right"></span>';
echo '</h4>';
echo '</div>';
echo '</a>'; // END Panel Title Bar
// BEGIN Panel Body
echo '<div id="collapse' . $cat_id . '" class="panel-collapse collapse in">';
echo '<div class="panel-body votes">';
// BEGIN Player1Select.php
include 'includes/player-select.php';
// END Player1Select.php
echo '</div>'; // END panel-body
echo '</div>'; // END collapse' $cat_id
echo '</div>'; // END panel panel-default
// END PANEL
}
?>
И теперь вот игрока-select.php
<div class="col-md-4 text-center">
<div class="tab-inner">
<div class="form-group">
<form action="" method="post">
<div class="select-box-left">
<?php
//execute the SQL query and return records
$query = "SELECT first_name,last_name, playerID, categoryID FROM Players WHERE categoryID = '$cat_id' ORDER BY last_name";
$result = mysqli_query($conn, $query);
if($result === FALSE) {
die(mysqli_error());
}
while ($row = mysqli_fetch_array($result)) {
$playerID = $row['playerID'];
$playerFN = $row['first_name'];
$playerLN = $row['last_name'];
$playerCatID = $row['categoryID'];
echo '<div class="selection1" value=' . $playerFN . $playerLN . '>' . $playerFN . " " . $playerLN ."</div>";
}
?>
</div>
</form>
</div><!-- END form-group -->
</div> <!-- END tab-inner -->
</div> <!-- END col-md-4 -->
<!-- BEGIN Player Images -->
<div class="col-md-4 text-center">
<div class="tab-inner">
<img src="images/players/3_image.png" class="img-responsive img-left" alt="Vote" width="160" height="116">
<img src="images/players/2_image.png" class="img-responsive img-right" alt="Vote" width="160" height="116">
<img src="images/vs.png" class="img-responsive img-middle" alt="vs" width="45" height="45">
</div>
<div id="btnVote"><button type="submit" class="btn btn-primary" id="voteButton" disabled>VOTE NOW</button></div>
</div>
<!-- END Player Images -->
<div class="col-md-4 text-center">
<div class="tab-inner">
<div class="form-group">
<div class="select-box-right">
<?php
//execute the SQL query and return records
$query = "SELECT first_name,last_name, playerID, categoryID FROM Players WHERE categoryID = '$cat_id' ORDER BY last_name";
$result = mysqli_query($conn, $query);
if($result === FALSE) {
die(mysql_error()); // TODO: better error handling
}
//fetch tha data from the database
while ($row = mysqli_fetch_array($result)) {
$playerID = $row['playerID'];
$playerFN = $row['first_name'];
$playerLN = $row['last_name'];
$playerCatID = $row['categoryID'];
echo '<div class="selection2" value=' . $playerFN . $playerLN . '>' . $playerFN ." " . $playerLN . "</div>";
}
?>
</div>
</div><!-- END form-group -->
</div> <!-- END tab-inner -->
</div> <!-- END col-md-4 -->
Исправьте код вашего кода. – Mikey
Если вы собираетесь спрятаться за клавиатурой и пропустить этот вопрос, то, по крайней мере, вырастите пару и укажите, почему. Если это потому, что вы не можете использовать полосу прокрутки, возможно, вы не должны отвечать на вопросы здесь в первую очередь. Вы знаете так же хорошо, как и я, этот код является копией с исходной кодовой страницы. Это не похоже на то, что я проснулся сегодня утром и имел свой злой план отступить от *** из вопроса Stackoverflow ..... – FunnyGuy
Причина для downvote: есть слишком много кода. Я могу использовать полосу прокрутки, но если код использует два блока кода, как с горизонтальными, так и с вертикальными полосами прокрутки, наверняка не все это необходимо для вопроса. И если вы собираетесь копировать/вставлять код волей-неволей, вы только навредите себе. –