Переменные сбрасываются на «1» в модальном окне

Вчера я установил twitter bootstrap, чтобы обновить свой проект веб-приложения. Все идет хорошо, пока я не столкнулся с проблемой с модальным окном.

Я следил за документацией начальной загрузки по настройке кнопки, которая запускает (отображает) модальное окно.

Мое модальное окно выводит форму с 3 видимыми полями и несколькими скрытыми полями, которые получают значения из запроса выбора mysql.

По какой-то причине два моих значения ($mID и $selID) продолжают сбрасываться на «1». Кажется, что $fixtureID проходит нормально, однако он определен в родительском файле php, в который включена эта текущая страница.

Я не могу передавать переменные в скрытую форму/div?

Вот мой код.

<div class="panel-body" id="fxmkbox<?= $fixtureID ?>">

<?php

$mksql = "SELECT * FROM `markets` WHERE sportID = 2";
$mkresult = mysql_query($mksql);

while ($mk = mysql_fetch_assoc($mkresult)) {
    $mID = $mk['ID'];
    $mkname = $mk['name'];
    ?>
    <div class="fmbox">
    <div class="fmhead"><?= $mkname ?></div>
    <div class="fmrow">
    <?php
    $selsql = "SELECT * FROM `selection` WHERE marketID = $mID";
    $selresult = mysql_query($selsql);

    while ($sel = mysql_fetch_assoc($selresult)) {
    $selID = $sel['ID'];
    $selname = $sel['name'];
    ?>
    <div class="col-md-3">
    <div class="fmcell"><?= $selname ?></div>
    <div class="fmcell">

<!-- Button trigger modal -->
<button class="btn btn-primary btn-sm" data-toggle="modal" data-target="#myModal">
                          <?php $odds = show_odds_bookie(2,$fixtureID,$mID,$selID); echo selection_check($fixtureID,$mID,$selID,$session_user_id,"$odds") ?>
</button>

<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>

<h4 class="modal-title" id="myModalLabel">Odds Selection</h4>
</div>
<div class="modal-body">
<form role="form" name="add-odds" method="post" action="fix-2-form-proc.php" id="odds-form" >


<label for="exampleInputEmail1">Odds</label>
<input type="number" class="form-control col-md-3" name="odds" id="odds" step="any" value="">

<select name="bookieID" select class="form-control col-md-3" id="bookieID" required> <?php bookie_dropdown(0,$session_user_id) ?></select>
<select name="lID" select class="form-control col-md-3" required> <?php labels_dropdown(0,$session_user_id) ?></select>


<input type="hidden" name="eventID"     id="eventID"    value="<?php echo $fixtureID ?>">
<input type="hidden" name="mID"     id="mID"    value="<?php echo $mID ?>">
<input type="hidden" name="selID"   id="selID" value="<?php echo $selID ?>">
<input type="hidden" name="sID"     id="sID"    value="<?php echo 2 ?>">
<input type="hidden" name="fixID"   id="fixID" value="<?php echo $fixtureID ?>">

</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-info" name="add_odds">Add Odds</button>
<button type="submit" class="btn btn-success" name="add_sel">Select</button>
</div>
</form>
</div>
 </div>
</div>
<!-- End Modal -->


</div>
</div>
<?php
}?>
</div>
</div>
<?php
}?>

</div>  

person Peter Reginald    schedule 07.06.2014    source источник


Ответы (1)


Похоже, вы снова и снова создаете несколько модальных div с одним и тем же идентификатором, поскольку ваш модальный div находится внутри цикла while. Можете ли вы подтвердить, что это то, что вы хотите?

Было бы хорошо, если бы вы проверили сгенерированный HTML-код и убедились, что отсутствующие идентификаторы действительно вводятся правильно. Из кода, который вы вставили, не похоже, что загрузчик имеет какое-либо отношение к сбросу этих идентификаторов на «1».

person pankaj    schedule 07.06.2014
comment
спасибо @pankaj, я уберу скрытый модальный режим из цикла и посмотрю, исправит ли это его. Я так привык к мышлению PHP... - person Peter Reginald; 08.06.2014
comment
Было бы хорошо, если бы вы могли объяснить, в чем на самом деле была проблема. - person pankaj; 09.06.2014