Ik heb een website waarbij de pagina's dynamisch laden met ajax waardoor het veel sneller werkt. Maar de menubalk wordt nu niet meer geladen. Ik heb daar echter een link "berichten" en daar moet het "aantal" zich aanpassen, dit gebeurt nu niet meer. Is daar een oplossing voor?
Ik heb:
<li><a class="laad_pagina" href="inbox4.php">Berichten><?php
$query = "SELECT COUNT(*) AS aantal
FROM yabg3_inhoud WHERE naam= '" . $_SESSION['username'] . "' AND status='ongelezen' ";
$result=mysql_query($query);
while($rows=mysql_fetch_array($result)){
if($rows['aantal'] != 0)
{
echo $rows['aantal'];
}
}
?> </a></li>
Zo moet in de onderstaande code de php code langs berichten dynamisch worden:wil er wel een vergoeding voor betalen, dan moet ik ergens anders dit posten zeker?
Je kan wel dezelfde techniek gebruiken, maar je moet wel een andere load functie definieren. De gegevens die je laadt komen namelijk uit een ander bestand en in een andere target terecht. Als je het op hetzelfde moment wilt herladen (dus wanneer iemand van pagina verandert) dan kan je het zo doen. Anders kan je ook nog met een setTimeout het bijvoorbeeld elke minuut of zo herladen.
<script>
$(document).ready(function(){
$('body').on('click','.laad_pagina',function(e){
e.preventDefault();
$('#target').load($(this).attr('href'), function() {
});
//dit is dus nieuw!!
$('#berichten').load('berichten.php');
});
});
Regel 32 (en waar nu 100 staat kan je natuurlijk nog gewoon de code gebruiken die je boven hebt staan zodat je ook direct bij het laden van de pagina het juiste aantal hebt):
Maar op de plaats waar je de 100 zet, daar moet ik dan niks zetten en alles in de berichten.php? In de berichten.php komt dan de query waar ik het aantal ophaal en dit echo ik dan zoals je hierboven aangeeft ook in de pagina berichten.php.
Nee, zoals ik zeg, je kan er nog gewoon de code gebruiken die er al stond. Anders staat er niets totdat de gebruiker een nieuwe pagina laadt. Ik heb de DB code alleen even weg gelaten om het overzichtelijk te houden.