Я разработал систему управления контентом с PHP. Я хотел бы использовать bootstrap modal для отображения данных из набора записей. Короткий рекламный блок отображается с кнопкой, которая при нажатии должна открывать модальный файл и отображать данные на основе идентификатора записи.
Моя проблема заключается в том, что отображаются три записи. Когда я нажимаю на каждую из трех кнопок, в модальном окне отображается только первая запись. К сожалению, чтение и реализация многих решений не помогает мне достичь поставленных целей.
Моя кнопка:
<ul class="bullet"> <li class="bullet"><?php echo $row_rsEvents['eventBlurb']; ?> <button type="button" class="btn btn-custom pull-right" data-toggle="modal" data-id="<?php echo $row_rsEvents['eventID']; ?>" data-target="#myModal1" >Read More ...</button>
Мой Модаль:
<div class="modal fade" id="myModal1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel1" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h1 class="modal-title" id="myModalLabel1"><?php echo $row_rsEvents['eventTitle']; ?></h1> </div> <div class="modal-body"> <div class="row"> <div id="eventHolder" class="col-sm-12"> <div class="col-sm-7"><?php echo $row_rsEvents['eventContent']; ?></div> <div class="col-sm-5 pull-right"> <div><img src="img/events/<?php echo $row_rsEvents['eventPhoto']; ?>" alt="ALT"></div> <div><?php echo $row_rsEvents['eventPhotoCaption']; ?></div> </div></div></div></div> <div class="modal-footer"><div class="pull-left"><?php echo(($row_rsEvents['eventDate'])?date('d M Y',strtotime($row_rsEvents['eventDate'])):'') ; ?></div> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div></div></div></div>
Я прочитал много сообщений, пытаясь найти решение и реализовать. К сожалению, мне не хватает знаний JavaScript и jQuery, чтобы получить мою модальную работу.
Я высоко ценю любую помощь и решения
См. Этот php i взбитый. Это сделало бы ваши модальности уникальными, и соответствующая информация была бы введена в модальный, на основе которого модальный идентификатор открыт. вы можете сделать то же самое, чтобы эхо кнопки, чтобы открыть модальный, используя динамический идентификатор.
EDIT: добавлено подключение к sql-скрипту. EDIT: задайте запрос для выбранного запроса EDIT: добавлен mysql_num_rows, установите его в $totalRows_rsEvents
$db_host = "host url"; $db_username = "username"; $db_pass = "password"; $db_name = "database name"; mysql_connect("$db_host","$db_username","$db_pass"); mysql_select_db("$db_name"); $modalList = ''; $rsEvents = mysql_query("SELECT * FROM ri_Events WHERE eventPromote AND eventStatus = '1' ORDER BY eventDate ASC"); $totalRows_rsEvents = mysql_num_rows($rsEvents); while($row_rsEvents = mysql_fetch_array($rsEvents)){ $modalList .= '<div class="modal fade" id="myModal'.$id = $row_rsEvents["id"].'" tabindex="-1" role="dialog" aria-labelledby="myModalLabel1" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h1 class="modal-title" id="myModalLabel1">'.$row_rsEvents['eventTitle'].'</h1> </div> <div class="modal-body"> <div class="row"> <div id="eventHolder" class="col-sm-12"> <div class="col-sm-7">'.$row_rsEvents['eventContent'].'</div> <div class="col-sm-5 pull-right"> <div><img src="img/events/'.$row_rsEvents['eventPhoto'].'" alt="ALT"></div> <div>'.$row_rsEvents['eventPhotoCaption'].'</div> </div></div></div></div> <div class="modal-footer"><div class="pull-left">'.(($row_rsEvents['eventDate'])?date('d M Y',strtotime($row_rsEvents['eventDate'])):'').'</div> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div></div></div></div>'; } print $modalList; // since a modal isnt visible in bootstrap until opened this should be acceptable.
Если нет, вы можете добавить <?php print $modalList ?>
другое место на странице.
Мой код PHP для моей кнопки и модальный:
<div class="news-events" style="clear:both; "> <h1 class="light-grey tm">WHATS ON?</h1> <?php do { ?> <div id="event-holder"> <h4><?php echo(($row_rsEvents['eventDate'])?date('d M Y',strtotime($row_rsEvents['eventDate'])):'') ; ?></h4> <ul class="bullet"> <li class="bullet"><?php echo $row_rsEvents['eventBlurb']; ?> <button type="button" class="btn btn-custom pull-right" data-toggle="modal" data-id="<?php echo $row_rsEvents['eventID']; ?>" data-target="#myModal1" >Read More ...</button> </li> <div class="clearfix"></div> <div class="modal fade" id="myModal1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel1" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h1 class="modal-title" id="myModalLabel1"><?php echo $row_rsEvents['eventTitle']; ?></h1> </div> <div class="modal-body"> <div class="row"> <div id="eventHolder" class="col-sm-12"> <div class="col-sm-7"><?php echo $row_rsEvents['eventContent']; ?></div> <div class="col-sm-5 pull-right"> <div><img src="img/events/<?php echo $row_rsEvents['eventPhoto']; ?>" alt="ALT"></div> <div><?php echo $row_rsEvents['eventPhotoCaption']; ?></div> </div></div></div></div> <div class="modal-footer"><div class="pull-left"><?php echo(($row_rsEvents['eventDate'])?date('d M Y',strtotime($row_rsEvents['eventDate'])):'') ; ?></div> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div></div></div></div> </ul> </div><!-- event-holder --> <?php } while ($row_rsEvents = mysql_fetch_assoc($rsEvents)); ?> </div><!-- end-news-events -->
Код набора записей в предыдущем ответе. Вам что-нибудь нужно?
МОЕ ОСУЩЕСТВЛЕНИЕ И РЕЗУЛЬТАТЫ
Когда я нажимаю кнопку для открытия модели, ничего не происходит.
Я немного отлаживал отредактированный код, результаты ниже
101 $totalRows_rsEvents = mysql_num_rows($rsEvents); 102 var_dump($modalList); 103 while($row_rsEvents = mysql_fetch_array($rsEvents)){
string (0) ""
101 $totalRows_rsEvents = mysql_num_rows($rsEvents); 102 var_dump($rsEvents); 103 while($row_rsEvents = mysql_fetch_array($rsEvents)){
ресурс (13) типа (результат mysql)
101 $totalRows_rsEvents = mysql_num_rows($rsEvents); 102 var_dump($totalRows_rsEvents); 103 while($row_rsEvents = mysql_fetch_array($rsEvents)){
Int (3)
Я протестировал свой оригинальный набор записей, который я использовал для моей модальной кнопки.
40 $totalRows_rsEvents = mysql_num_rows($rsEvents); 41 var_dump($row_rsEvents);
array (9) {["eventID"] => string (1) "1" ["eventTitle"] => …
Хорошо работает.
Поэтому я хотел отладить новый код подключения
83 mysql_connect("$db_host","$db_username","$db_pass"); 84 mysql_select_db("$db_name"); 85 var_dump($db_host, $db_username, $db_pass, $db_name);
строка (9) "localhost" string (4) "root" string (0) "" string (8) "roll_db5"
Следующий тест
88 $totalRows_rsEvents = mysql_num_rows($rsEvents); 89 var_dump($totalRows_rsEvents);
Int (3)
Следующий тест
88 $totalRows_rsEvents = mysql_num_rows($rsEvents); 89 var_dump($rsEvents);
ресурс (12) типа (результат mysql)
Наконец, я замечаю разницу:
Моя кнопка data-target = "# myModal1"
Ваш $ modalList id = "myModal". $ Id =
Если ваш id не id = "myModal1".
Я изменился, но ничего не изменил. Модальные все еще не открываются.
Любые дополнительные предложения, пожалуйста. Скорее отчаянный, чтобы заставить это работать.