Seu script não pode funcionar. Você está misturando PHP e HTML:
$count=mysql_num_rows($result);
<div class="commentbox"> /*THIS IS WRONG*/
while($row=mysql_fetch_assoc($result))
Acho que é isso que você quer:
Crie um novo arquivo PHP que produza apenas sua lista. Chame-o, por exemplo,
list.php
. Conteúdo do arquivo principal:
<a class="click" href="#"> Link TO refresh Div </a>
<div class="messagelist">
<div class="commentbox">
<ul>
<?PHP $result=mysql_query("select * from messages where id<'$lastmsg' order by id desc limit 20");
$count=mysql_num_rows($result);
while($row=mysql_fetch_assoc($result))
{?>
<li>
<?php echo $row['id'] . ' #' . $row['date'] . ' / ' . $row['comment']; ?>
</li>
<?PHP } ?>
</ul>
</div>
</div>
Conteúdo de
list.php
:<?PHP $result=mysql_query("select * from messages where id<'$lastmsg' order by id desc limit 20");
$count=mysql_num_rows($result);
while($row=mysql_fetch_assoc($result))
{?>
<li>
<?php echo $row['id'] . ' #' . $row['date'] . ' / ' . $row['comment']; ?>
</li>
<?PHP } ?>
Adicione isso ao
<head>
parte do arquivo principal:<script type="text/javascript">
$(function(){
$('.click').on('click', function(e){
e.preventDefault();
$('.messagelist').text('Please wait...');
$('.messagelist').load('list.php');
});
});
</script>
para carregar o conteúdo.