Meer laden button niet weergeven bij geen resultaten
Het probleem is dat de "weergeef meer results" button altijd wordt weergeven dus ook indien er geen resultaten zijn, hoe zorg ik ervoor dat die enkel de button weergeeft indien er nog meer resultaten zijn.
Dit is de code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<script>
$(document).ready(function()
{
var track_click = 0; //track user click on "load more" button, righ now it is 0 click
var total_pages = <?php echo $total_pages; ?>;
var domeinid = <?php echo $domeinId; ?>;
$('#results').load("../includes/autoloadscroller/autoload_process.php?val="+domeinid+"", {'page':track_click}, function() {track_click++;}); //initial data to load
$(".load_more").click(function (e) { //user clicks on button
$(this).hide(); //hide load more button on click
$('.animation_image').show(); //show loading image
if(track_click <= total_pages) //user click number is still less than total pages
{
//post page number and load returned data into result element
$.post('../includes/autoloadscroller/autoload_process.php?val='+domeinid+'',{'page': track_click}, function(data)
{
$(".load_more").show(); //bring back load more button
$("#results").append(data); //append data received from server
//scroll page smoothly to button id
$("html, body").animate({scrollTop: $("#load_more_button").offset().top}, 500);
//hide loading image
$('.animation_image').hide(); //hide loading image once data is received
track_click++; //user click increment on load button
}).fail(function(xhr, ajaxOptions, thrownError) { //any errors?
alert(thrownError); //alert with HTTP error
$(".load_more").show(); //bring back load more button
$('.animation_image').hide(); //hide loading image once data is received
});
if(track_click >= total_pages-1) //compare user click with page number
{
//reached end of the page yet? disable load button
$(".load_more").attr("disabled", "disabled");
}
}
});
});
</script>
$(document).ready(function()
{
var track_click = 0; //track user click on "load more" button, righ now it is 0 click
var total_pages = <?php echo $total_pages; ?>;
var domeinid = <?php echo $domeinId; ?>;
$('#results').load("../includes/autoloadscroller/autoload_process.php?val="+domeinid+"", {'page':track_click}, function() {track_click++;}); //initial data to load
$(".load_more").click(function (e) { //user clicks on button
$(this).hide(); //hide load more button on click
$('.animation_image').show(); //show loading image
if(track_click <= total_pages) //user click number is still less than total pages
{
//post page number and load returned data into result element
$.post('../includes/autoloadscroller/autoload_process.php?val='+domeinid+'',{'page': track_click}, function(data)
{
$(".load_more").show(); //bring back load more button
$("#results").append(data); //append data received from server
//scroll page smoothly to button id
$("html, body").animate({scrollTop: $("#load_more_button").offset().top}, 500);
//hide loading image
$('.animation_image').hide(); //hide loading image once data is received
track_click++; //user click increment on load button
}).fail(function(xhr, ajaxOptions, thrownError) { //any errors?
alert(thrownError); //alert with HTTP error
$(".load_more").show(); //bring back load more button
$('.animation_image').hide(); //hide loading image once data is received
});
if(track_click >= total_pages-1) //compare user click with page number
{
//reached end of the page yet? disable load button
$(".load_more").attr("disabled", "disabled");
}
}
});
});
</script>
Gewijzigd op 13/05/2014 23:03:34 door Furio Scripting
Niemand een idee?
Voeg daar hide() aan toe, of maak daarin nog een statement if totalpages === 0 hide()
Code (php)
1
2
3
4
5
2
3
4
5
if(track_click >= total_pages-1) //compare user click with page number
{
//reached end of the page yet? disable load button
$(".load_more").attr("disabled", "disabled").hide();
}
{
//reached end of the page yet? disable load button
$(".load_more").attr("disabled", "disabled").hide();
}
Gewijzigd op 15/05/2014 08:25:46 door Michael -
//reached end of the page yet? disable load button
$(".load_more").attr("disabled", "disabled");
Werkt dat wel? Maak daarvan dan eens:
$(".load_more").hide();
Een maal MET een limiet en een maal ZONDER limiet.
De query zonder limiet mag ook een count zijn.
Die zonder limiet heb je nodig om te weten of er nog meer resultaten geladen kunnen worden.
Ik denk dat je dan ook nog bij moet houden vanaf welk item je geladen hebt.
Zijn er totaal 500 items, je hebt er 100 geladen vanf iten 300 dan zijn er nog meer te laden. Heb je er honderd geladen vanaf 400 dan heb je de laatste te pakken, dus niet meer. Denk hierbij ook aan resten zoals 100 records vanaf 300 geladen terwijl er totaal 450 items zijn.
Ik heb al jullie code tips geprobeerd maar heeft niet mogen baten.
De button wordt standaard weergeven MAAR zodra ik erop klik wordt die indien er geen resultaten meer in de database zijn "disabled" dus dat stukje code werkt prima..
Alleen is die standaard enabled ondanks er geen resultaten zijn of te weinig.
Ik zal de code die bovenaan de pagina staat ook eens plaatsen, wellicht dat het iets duidelijk wordt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$items_per_page = 3; // aantal per pagina
$database = new database();
// gebruik id van bedrijf.
$q = ("SELECT * FROM beoordelingen
WHERE domein_id = ".$domeinId."
AND status = 1" );
$result = $database->query($q);
$total_records = mysqli_num_rows($result);
$total_pages = ceil($total_records/$items_per_page);
?>
$items_per_page = 3; // aantal per pagina
$database = new database();
// gebruik id van bedrijf.
$q = ("SELECT * FROM beoordelingen
WHERE domein_id = ".$domeinId."
AND status = 1" );
$result = $database->query($q);
$total_records = mysqli_num_rows($result);
$total_pages = ceil($total_records/$items_per_page);
?>
Gewijzigd op 16/05/2014 01:48:41 door Furio Scripting