Codeigniter разбивает изображения на страницы по одному из массива базы данныхPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Codeigniter разбивает изображения на страницы по одному из массива базы данных

Сообщение Anonymous »

У меня есть 2 таблицы: первая — комикс, вторая — глава. и они связаны с идентификаторами комикса.
таблица глав содержит:

Код: Выделить всё

chapter_id = 1
comic_id = 1
contents = img1.jpg, img2.jpg, img3.jpg an so on..
Я пытаюсь добиться того, чтобы он выглядел так же, как в веб-комиксе в Интернете. разбиение на страницы для каждого изображения.
Сейчас мое решение работает с javascript, но фактический источник изображения содержимого будет взят с Google Диска, а при тестировании с большим количеством ссылок иногда одно или два изображения не загружаются.
Контроллер

Код: Выделить всё

public function pbp($chapter_id = NULL, $comic_id = 'chapter.comic_id')
{
if(!isset($_SESSION['views'. $comic_id]) || (isset($_SESSION['views'. $comic_id]) && $_SESSION['views'. $comic_id] != $comic_id)){
$this->read_model->viewer($comic_id); //load model viewer
$this->session->set_userdata('views'.  $comic_id, $comic_id);
}
$data['comic'] = $this->read_model->getComicById($comic_id);
$data['images'] = $this->read_model->getChapterImage($chapter_id);
$this->load->view('read-pbp',$data);
}
Модель

Код: Выделить всё

public function getComicById($comic_id)
{
$query = $this->db->get_where('comic', ["comic_id" => $comic_id]);
return $query;
}
public function getChapterImage($chapter_id)
{
$query = $this->db->get_where('chapter', ["chapter_id" => $chapter_id])->result();
return $query;
}
Просмотр

Код: Выделить всё



[i]" class="img-fluid next" alt="">





[/i]Prev
[i][/i]
Next[i][/i]


Javascript

Код: Выделить всё

$(document).ready(function(){
var start = 0;
var stop = 0;
var nb = 1;
var end = start + nb;
var length = $('.img-list img').length;
var list = $('.img-list img');

list.hide().filter(':lt('+(end)+')').show();

$('.prev, .next').click(function(e){
e.preventDefault();

if( $(this).hasClass('prev') ){
start -= nb;
$('html, body').animate({scrollTop: $("#top-page").offset().top}, 200);
} else {
start += nb;
$('html, body').animate({scrollTop: $("#top-page").offset().top}, 200);
}

if( start < 0 || start >= length ) start = 0;
end = start + nb;

if (stop == length) {
start = length - nb;
end = length;
}

if (end == length) {
stop = end;
}

if( start == 0 ) list.hide().filter(':lt('+(end)+')').show();
else list.hide().filter(':lt('+(end)+'):gt('+(start-1)+')').show();

});
});

window.onload = function() {
$(document).keyup(function (event) {
if (event.keyCode == 39) {
$("#nextb").click();
} else if (event.keyCode == 37) {
$("#prevb").click();
}
});
};
Есть несколько примеров для PHP, но я не могу понять, как их использовать в codeigniter, так как мой учитель хочет, чтобы мы использовали codeigniter, буду очень признателен за любую помощь, спасибо.>

Подробнее здесь: https://stackoverflow.com/questions/628 ... base-array
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»