まず、これがどのように機能するかを説明します。画像リンクが横にあるページがあり、画像をクリックすると、そのリンクの情報が別の div に表示されます。jquery/ajax を使用してリンク ID を php ファイルに投稿し、そのデータを選択した div に返します。一度に 4 つのリンクが表示されるように、リンクをページ分割する必要があります。
これが起こっていることです: 投稿部分は問題ありません。リンクをクリックすると、選択した div に正しいデータが表示されます。ただし、リンクのdivをページネーションする方法がわかりません。ページが読み込まれるときにページ分割する必要があります。現在、ページが読み込まれるとすべてのリンクが表示され、リンクをクリックすると正しい量 (4) が表示されます。
これは、2 つの div を含む私の html です。
<div class="dogsrehomeandrehomed">
<?php
include 'inc/connect.php';
$q = mysqli_query($link, "SELECT filename, id, name, age, sex FROM gallery WHERE
gallery = 1 ORDER BY id DESC") or die (mysql_error());
while($row = mysqli_fetch_array($q)){
$data = $row['filename'];
$file = substr($data, strpos($data, "/") + 1);
echo"<div class='homedogs'>",
"<a href={$row['id']} class='dogchoice'>",
"<img class='nailthumb-container3' src='$file' alt='{$row['name']}. Image' />",
"</a>",
"<br />",
'NAME: ',$row['name'],"<br />",'AGE: ',$row['age'],"<br />",'SEX: ',$row['sex'],
"</div>";
}
?>
</div>
<div class="dog">
<?php
include 'inc/connect.php';
$q = mysqli_query($link, "SELECT * FROM gallery WHERE gallery = 1 ORDER BY id DESC
LIMIT 1") or die (mysql_error());
while($row = mysqli_fetch_array($q)){
$data = $row['filename'];
$file = substr($data, strpos($data, "/") + 1);
echo"<div class='rehomediv'>",
"<img class='nailthumb-container2' src='$file' alt='{$row['name']}. Image' />","<br
/>",
"<div class='nameagesex'>",
'NAME: ',$row['name'],"<br />",'AGE: ',$row['age'],"<br />",'SEX: ',$row['sex'],
"</div>",
"<div class='description'>",
nl2br($row['description']),
"</div>",
"</div>";
}
?>
</div>
<script src="js/dog.js"></script>
これは私のdog.jsファイルです:
$('a.dogchoice').click(function(e) {
e.preventDefault();
var linkClass = $(this).attr("class");
var linkText = new String(this);
var categoryValue = linkText.substring(linkText.lastIndexOf('/') + 1);
var params = {};
params[linkClass] = categoryValue;
$.post('inc/dogchoice.php', params, function(data) {
var totalRecords = $(data).length;
var pageSize = 4;
var numOfPages = Math.ceil(totalRecords / pageSize);
var i,
pageLinks = '<div class="pageLinks">';
for (i = 0; i < numOfPages; i++) {
pageLinks += '<a href="#" onclick="showDogLinks(' + i + ');return false;">' + (i
+ 1) + '<\/a> ';
}
pageLinks += '<\/div>';
$('.dog').html(pageLinks + data);
showDogLinks(0);
});
});
//function to slice up records into pages
function showDogLinks( pageNo ) {
var perPage = 4;
var start = pageNo * perPage;
var end = start + perPage;
$('.homedogs').hide().filter(function(index) {
return ( (index > (start-1)) && ( index < end ) );
} ).show();
}
誰でも助けることができますか?ご覧いただきありがとうございます