добавьте ограничение на данные, переданные в bootstrap modal с foreach () в codeigniter

Я не испытываю затруднений с извлечением данных из таблицы db в CodeIgniter и отображением ее в модальном окне загрузки. Использование этой кнопки;

<a href='#' class='btn btn-success btn-sm' data-toggle='modal' data-target='#myModal'>View</a> 

Я могу получить доступ к модальному окну без проблем и отобразить результаты этого следующего кодирования;

 <!-- alert view --> <div class='modal fade' id='myModal' role='dialog'> <div class='modal-dialog'> <!-- Modal content--> <div class='modal-content'> <div class='modal-header'> <?php foreach ($article->result() as $a) {?> <button type='button' class='close' data-dismiss='modal'>&times;</button> <h1 class='modal-title'><?php echo $a->title; ?></h1> </div> <div class='modal-body'> <h4><?php echo $a->category_name; ?></h4> <h4><?php echo $a->public_date; ?></h4> <h4><?php echo $a->description; ?></h4> <?php } ?> </div> <div class='modal-footer'> <button type='button' class='btn btn-default' data-dismiss='modal'>Close</button> </div> </div> </div> 

Точная проблема, которую я испытываю, – это ограничение на возвращаемые результаты цикла foreach() . Если я использую что-то вроде $i=0; if($i==1) break; $i=0; if($i==1) break; перед foreach() я получаю тот же результат статьи article_id. Чтобы добавить к моей путанице и сложности, когда я пытаюсь сделать article_id href ссылки View , все записи таблицы db вытягиваются в модальное окно.

На рисунке изображена ситуация, когда кодирование происходит в банкомате

Я пробовал работать в главе построителя запросов в документах CI, касающихся массивов с одним результатом, поскольку это наиболее применимо к моей ситуации. Это послужило основанием для следующего подхода ниже:

КОНТРОЛЛЕР

 $data['a'] = $this->article_model->get_modal(); $this->load->view('article_submit',compact('article', 'page_link', 'category'), $data); 

МОДЕЛЬ

 function get_modal() { $results = array(); $this->db->select('*'); $this->db->from($this->tbl_article); $query = $this->db->get(); if($query->num_rows() > 0) { $results = $query->result(); } return $results; } 

ПОСМОТРЕТЬ

 <?php foreach ($article->result() as $a) {?> <button type='button' class='close' data-dismiss='modal'>&times;</button> <h1 class='modal-title'><?php echo $a->title; ?></h1> </div> <div class='modal-body'> <h4><?php echo $a->category_name; ?></h4> <h4><?php echo $a->public_date; ?></h4> <h4><?php echo $a->description; ?></h4> <?php } ?> 

Я закончил тем, что сохранял кодировку VIEW, поскольку она работала для меня без кода модели / контроллера. Я действительно потратил лишний час на исследования, отчаянно пытаясь выяснить, что в Google не было никаких ответов в Google или SO. Я даже дал ему еще один Doug Flutie Hail Mary ;

ПОСМОТРЕТЬ

 <?php $i=0; foreach ($article->result() as $a) if($i==1) break; {?> <button type='button' class='close' data-dismiss='modal'>&times;</button> <h1 class='modal-title'><?php echo $a->title; ?></h1> </div> <div class='modal-body'> <h4><?php echo $a->category_name; ?></h4> <h4><?php echo $a->public_date; ?></h4> <h4><?php echo $a->description; ?></h4> <?php $i++; ?> <?php } ?> 

Моя голова буквально стучит по этой точке … спасибо за любые подсказки по этому поводу. Это также может быть то, что я полностью потерял, а также нет праздника от Human Error (lol!).

ОБНОВИТЬ

В настоящее время я застрял, пытаясь переделать решения, предложенные @manu joseph & @webcrazymaniac – @webcrazymaniac: не уверен, что я понимаю ваш вопрос о том, как создается список статей. Возможно, я не разместил достаточно кода для вас – сообщите мне, что вам нужно посмотреть. Что касается включения echo для #modalItem в ссылку View – не для меня ничего другого. @manu joseph, я не могу изменить $article->result() в article->row() поскольку первый – это то, как данные статьи отображаются на странице (т.е.);

 <?php foreach ($article->result() as $a) { echo "<tr>". "<td>$a->article_id</td>". "<td>$a->title</td>". "<td>$a->category_name</td>". "<td>$a->access_level</td>". "<td>$a->public_date</td>". "<td><img class='img-responsive img-circle' style='width:100%; height:50px' src='".base_url()."images/posts/$a->image' title='Image' ></td>". "<td>". "<a href='".$a->article_id."' class='btn btn-success btn-sm' data-toggle='modal' data-target='#myModal'>View</a> &nbsp;". "<a href='".base_url()."article/view/$a->article_id' class='btn btn-primary btn-sm'>Edit</a> &nbsp;". "<a href='".base_url()."article/delete/$a->article_id' class='btn btn-danger btn-sm'>Delete</a> ". "</td>". "</tr> "; } ?> 

выше, чем таблица, на которую выводятся результаты db. @manu joseph, я заметил изначально, что $ i = 0; строки работают только когда я не пытаюсь добавить article_id в ссылку кнопки « View . Вот где ответ лежит для меня, так как, когда это происходит, я снова возвращаюсь к проблеме, что модальная модель отображает только один список, основанный на щелчке ссылки кнопки « View , но, случается, для получения идентичного единственного результата отображение в пределах модального независимо от того, на что нажата кнопка «Ссылка на изображение». Забавно, как теперь мои предыдущие проблемы с разбивкой по страницам не существуют (LOL!).

ТАК ЗАКРЫТЬ, ЧТО Я МОГУ ЗАМЕНИТЬ ЭТО …

Благодаря часовому перекодированию я получил желаемый (если был перекошен) результат только отображения отдельных статей;

MODAL WINDOW VIEW LINK

 "<a href='".$a->article_id."' class='btn btn-success btn-sm' data-toggle='modal' data-target='#myModal'>View</a> &nbsp;". 

МОДАЛЬНЫЙ КОНТЕНТ

  <div class='modal-content'> <div class='modal-header'> <?php foreach ($article->result() as $a) $i=0; if($i==1) break; { ?> <button type='button' class='close' data-dismiss='modal'>&times;</button> <h1 class='modal-title'><?php echo $a->title; ?></h1> </div> <div class='modal-body'> <h4><?php echo $a->category_name; ?></h4> <h4><?php echo $a->public_date; ?></h4> <h4><?php echo $a->description; ?></h4> <?php $i++; ?> <?php } ?> </div> <div class='modal-footer'> <button type='button' class='btn btn-default' data-dismiss='modal'>Close</button> </div> </div> 

ИЗОБРАЖЕННЫЙ РЕЗУЛЬТАТ: конечный желаемый результат

Я не знаю, что вы можете видеть (возможно, с увеличением изображения) стрелку курсора, зависающую над кнопкой 1-го View на странице, но конкретный article_id не возвращается. Как я уже сказал, так близко, что я могу попробовать.

Индекс недомоганий UPDATE:

Большое вам спасибо @manu joseph за его постоянную попытку установить меня правильно – код;

 <?php $i = 0; foreach ($article->result() as $a) { echo $i."<br>"; if( $i == 1 ) break; ?> <button type='button' class='close' data-dismiss='modal'>&times;</button> <h1 class='modal-title'><?php echo $a->title; ?></h1> <div class='modal-body'> <h4><?php echo $a->category_name; ?></h4> <h4><?php echo $a->public_date; ?></h4> <h4><?php echo $a->description; ?></h4> </div> <?php $i++; } die(); ?> 

Результаты на изображении ниже; Переписать код членом SO @manu joseph

Значение $i отражается вверху над заголовком, а приращение значения $i++ отражается в нижней части модальности, а кнопка close исчезает. Я немного играю с вашей секвенсией, поскольку он более аккуратный, чем то, что у меня есть в настоящее время.

Я думаю, что нужно обращать внимание на ссылки кнопки « View , как при их article_id , отображается правильный article_id , но модально всегда удается только article_id в 1-й набор записей и никогда не увеличивается, чтобы показывать контент под любым другим Идентификаторы статей;

 "<a href='".$a->article_id."' class='btn btn-success btn-sm' data-toggle='modal' data-target='#myModal'>View</a> &nbsp;". 

Я знаю, что я распушиваю его прямо здесь, и я в бою, чтобы связаться с другими идентификаторами статей, пропустив что-то важное. Любые другие вопросы, на которые вы отвечаете, не стесняйтесь спрашивать. Должен спать сейчас …

ОБНОВИТЬ
@webcrazymaniac перечислил решение, которое потребовало нескольких чтений, чтобы на самом деле поймать его намерение помочь мне продвинуть меня в лучшем направлении и удерживать позицию в данный момент;

 foreach ($article->result() as $a) { echo "<a href='".base_url('#myModal/$a->art_id')."' class='btn btn-success btn-sm' data-toggle='modal' data-target='#myModal'>View</a> &nbsp;". <?php } ?> 

выше это ссылка, которая выводит модальный вид. Теперь я могу вывести результат 1-го дня во все модальности выбора страницы;

  <!-- alert view --> <div class='modal fade' id='myModal' role='dialog'> <div class='modal-dialog'> <!-- Modal content--> <?php $i = 0; if (!$i = 0){ foreach (array_slice($article->result(), 0, 1) as $a) { ?> <div class='modal-content' id='myModal<?php echo $a->art_id;?>'> <div class='modal-header'> <button type='button' class='close' data-dismiss='modal'>&times;</button> <h4 class='modal-title'><?php echo $a->title;?></h4> </div> <div class='modal-body'> <h2><?php echo $a->description;?></h2> </div> <div class='modal-footer'> <button type='button' class='btn btn-default' data-dismiss='modal'>Close</button> </div> </div> <?php break; } } ?> </div> 

Текущий код переписать результаты

Использование array_slice () было способом ограничить количество результатов, полученных из ссылок, поскольку я не мог указать ограничение без нарушения предыдущего (частного) определения для ограничения, связанного с разбиением на страницы (и я определенно не хотел нарушите это) в рамках модели. Моя текущая модальная функция;

 public function modal($art_id=NULL) { $this->db->select('*'); $this->db->from('tbl_article'); $this->db->where('tbl_article.art_id =', $art_id); $result = $this->db->get(); return $result->result_array(); } 

Имея только расстояние от моего волоса, я немного стараюсь, чтобы увидеть лес с деревьев в этот момент и твердо убежден, что это самый тривиальный из разрешений, но просто не может его увидеть.