mysql_connect ("localhost",$db_user,$db_pwd); mysql_select_db ($db_name); // submit new message if ($_REQUEST['submit'] and trim($_REQUEST['message'])){ mysql_query("insert into $tbl_name set name ='".htmlentities($_REQUEST['name'])."', message ='".htmlentities($_REQUEST['message'])."', postdate = '".time()."', postip = '".ip2long($_SERVER['REMOTE_ADDR'])."' "); header("Location: guestbook.html"); die; } // get list of messages $limit_from = $_REQUEST['page']*$posts_per_page; $cnt = mysql_fetch_row(mysql_query("select count(id) from $tbl_name")); if ($cnt[0]<$limit_from){ // wrong page selected $limit_from = 0; $_REQUEST['page'] = ""; } if ($cnt[0] > $posts_per_page){ // comment paging $paging = paging($cnt[0],"guestbook.html",$_REQUEST['page'],$posts_per_page); } $res = mysql_query("select * from $tbl_name order by postdate desc limit $limit_from,$posts_per_page"); while ($row = mysql_fetch_assoc($res)){ $row['postdate'] = date($date_format,$row['postdate']); $messages[] = $row; } function paging($row_count,$page_href,$curpage, $limitperpage=10,$p_type="",$mod_rewrite=false,$pagevar="page"){ if ($mod_rewrite){ $page_l = "%s"; $pagevar = "/page"; }else{ if (strstr($page_href,"?")){ $pagevar = "&".$pagevar."="; }else{ $pagevar = "?".$pagevar."="; } $page_l = "%s"; } $page_c = "[%s]"; // current page $page_separator = " , "; $page_stop = " "; $page_start = ""; $next_page ="Next"; $previous_page = "Prev"; $maxmiddle = 10; if ($row_count >0){ $page_count = floor($row_count/$limitperpage); $page_total = ceil($row_count/$limitperpage); $page_last = $row_count - $page_count*$limitperpage; $page_begin = ($curpage ==0) ? $previous_page: sprintf($page_l,($page_href.(($curpage-1)? $pagevar.($curpage-1):"")),$previous_page); $page_end = ($curpage == ($page_total-1)) ? $next_page : sprintf($page_l,($page_href.$pagevar.($curpage+1)),$next_page); for ($i=0;$i<$page_count;$i++){ if($curpage==$i){ $page_middle[] = sprintf($page_c,($i+1)); }else{ $xx = $i+1; $page_middle[] = sprintf($page_l,($page_href.($i? $pagevar.$i:"")),$xx); } } $i= count($page_middle); if ($page_total !=$page_count){ // link before Next if($curpage==$i){ $page_middle[] = sprintf($page_c,($i+1)); }else{ $xx = $i+1; $page_middle[] = sprintf($page_l,($page_href.($i? $pagevar.$i:"")),$xx); } } if (count($page_middle)>$maxmiddle) { if (($curpage+1) >= $maxmiddle and count($page_middle)-$curpage>=$maxmiddle){ $sl_st = $curpage - floor($maxmiddle/2); $page_middle = array_slice($page_middle,$sl_st,$maxmiddle); }elseif(count($page_middle)-$curpage <$maxmiddle){ $page_middle = array_slice($page_middle,-1*$maxmiddle); }else{ $page_middle = array_slice($page_middle,0,$maxmiddle); } } if ($p_type){ $page_link = join($page_separator,$page_middle); }else{ $page_link = $page_begin.$page_stop.$m_beg.join($page_separator,$page_middle).$page_stop.$m_end.$page_start.$page_end; } } return $page_link; } ?>