Я не испытываю затруднений с извлечением данных из таблицы 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'>×</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'>×</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'>×</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> ". "<a href='".base_url()."article/view/$a->article_id' class='btn btn-primary btn-sm'>Edit</a> ". "<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> ".
МОДАЛЬНЫЙ КОНТЕНТ
<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'>×</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'>×</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(); ?>
Результаты на изображении ниже;
Значение $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> ".
Я знаю, что я распушиваю его прямо здесь, и я в бою, чтобы связаться с другими идентификаторами статей, пропустив что-то важное. Любые другие вопросы, на которые вы отвечаете, не стесняйтесь спрашивать. Должен спать сейчас …
ОБНОВИТЬ
@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> ". <?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'>×</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(); }
Имея только расстояние от моего волоса, я немного стараюсь, чтобы увидеть лес с деревьев в этот момент и твердо убежден, что это самый тривиальный из разрешений, но просто не может его увидеть.