Menu
Hi Guys, I am trying to add a pagination to my comment system but I don’t know how to make it.I want it to add 4 comments per page so if anyone can help me it will be appreciated.
here is my code:
In other post below.
thanks in advanced
[code=php]?>
<style type="text/css">
<!--
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
.bold {
font-weight: bold;
}
.italics {
font-style: italic;
}
.underline {
text-decoration: underline;
}
.strikethrough {
text-decoration: line-through;
}
.overline {
text-decoration: overline;
}
.sized {
text-size:
}
.quotecodeheader {
font-family: Verdana, arial, helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
}
.codebody {
background-color: #FFFFFF;
font-family: Courier new, courier, mono;
font-size: 12px;
color: #006600;
border: 1px solid #BFBFBF;
}
.quotebody {
background-color: #FFFFFF;
font-family: Courier new, courier, mono;
font-size: 12px;
color: #660002;
border: 1px solid #BFBFBF;
}
.listbullet {
list-style-type: disc;
list-style-position: inside;
}
.listdecimal {
list-style-type: decimal;
list-style-position: inside;
}
.listlowerroman {
list-style-type: lower-roman;
list-style-position: inside;
}
.listupperroman {
list-style-type: upper-roman;
list-style-position: inside;
}
.listloweralpha {
list-style-type: lower-alpha;
list-style-position: inside;
}
.listupperalpha {
list-style-type: upper-alpha;
list-style-position: inside;
}
-->
</style>
<?php
//Local copy
function BBCode($Text)
{
// Replace any html brackets with HTML Entities to prevent executing HTML or script
// Don't use strip_tags here because it breaks [url] search by replacing & with amp
$Text = str_replace("<", "<", $Text);
$Text = str_replace(">", ">", $Text);
// Set up the parameters for a URL search string
$URLSearchString = " a-zA-Z0-9:/-?&.=_~#'";
// Set up the parameters for a MAIL search string
$MAILSearchString = $URLSearchString . " a-zA-Z0-9.@";
//Non BB URL Search
//$Text = eregi_replace("([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])", "<a href="\1://\2\3" target="_blank" target="_new">\1://\2\3</a>", $Text);
//$Text = eregi_replace("(([a-z0-9_]|\-|\.)+@([^[:space:]]*)([[:alnum:]-]))", "<a href="mailto:\1" target="_new">\1</a>", $Text);
if (substr($Text,0, 7) == "http://"){
$Text = eregi_replace("([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])", "<a href="\1://\2\3">\1://\2\3</a>", $Text);
// Convert new line chars to html <br /> tags
$Text = nl2br($Text);
} else {
// Perform URL Search
$Text = preg_replace("/([$URLSearchString]*)/", '<a href="javascript:go('$1','new')">$1</a>', $Text);
$Text = preg_replace("([url=([$URLSearchString]*)](.+?)[/url])", '<a href="javascript:go('$1','new')">$2</a>', $Text);
//$Text = preg_replace("([url=([$URLSearchString]*)]([$URLSearchString]*)[/url])", '<a href="$1" target="_blank">$2</a>', $Text);
// Convert new line chars to html <br /> tags
$Text = nl2br($Text);
}
// Perform MAIL Search
$Text = preg_replace("([mail]([$MAILSearchString]*)[/mail])", '<a href="mailto:$1">$1</a>', $Text);
$Text = preg_replace("/[mail=([$MAILSearchString]*)](.+?)[/mail]/", '<a href="mailto:$1">$2</a>', $Text);
// Check for bold text
$Text = preg_replace("([b](.+?)[/b])is",'<span class="bold">$1</span>',$Text);
// Check for Italics text
$Text = preg_replace("([i](.+?)[/i])is",'<span class="italics">$1</span>',$Text);
// Check for Underline text
$Text = preg_replace("([u](.+?)[/u])is",'<span class="underline">$1</span>',$Text);
// Check for strike-through text
$Text = preg_replace("([s](.+?)[/s])is",'<span class="strikethrough">$1</span>',$Text);
// Check for over-line text
$Text = preg_replace("([o](.+?)[/o])is",'<span class="overline">$1</span>',$Text);
// Check for colored text
$Text = preg_replace("([color=(.+?)](.+?)[/color])is","<span style="color: $1">$2</span>",$Text);
// Check for sized text
$Text = preg_replace("([size=(.+?)](.+?)[/size])is","<span style="font-size: $1px">$2</span>",$Text);
// Check for list text
$Text = preg_replace("/[list](.+?)[/list]/is", '<ul class="listbullet">$1</ul>' ,$Text);
$Text = preg_replace("/[list=1](.+?)[/list]/is", '<ul class="listdecimal">$1</ul>' ,$Text);
$Text = preg_replace("/[list=i](.+?)[/list]/s", '<ul class="listlowerroman">$1</ul>' ,$Text);
$Text = preg_replace("/[list=I](.+?)[/list]/s", '<ul class="listupperroman">$1</ul>' ,$Text);
$Text = preg_replace("/[list=a](.+?)[/list]/s", '<ul class="listloweralpha">$1</ul>' ,$Text);
$Text = preg_replace("/[list=A](.+?)[/list]/s", '<ul class="listupperalpha">$1</ul>' ,$Text);
$Text = str_replace("[*]", "<li>", $Text);
// Check for font change text
$Text = preg_replace("([font=(.+?)](.+?)[/font])","<span style="font-family: $1;">$2</span>",$Text);
// Declare the format for layout
<i> </i> $CodeLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<i> </i> <tr>
<i> </i> <td class="quotecodeheader"> Code:</td>
<i> </i> </tr>
<i> </i> <tr>
<i> </i> <td class="codebody">$1</td>
<i> </i> </tr>
<i> </i> </table>';
<i> </i> // Check for [code] text
<i> </i> $Text = preg_replace("/[code](.+?)
/is","$CodeLayout", $Text);
// Declare the format for layout
$QuoteLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td class="quotecodeheader"> Quote:</td>
</tr>
<tr>
<td class="quotebody">$1</td>
</tr>
</table>';
// Check for text
<i> </i> $Text = preg_replace("/(.+?)[/quote]/is","$QuoteLayout", $Text);
<i> </i> // Images
<i> </i> // [img]pathtoimage[/img]
<i> </i> $Text = preg_replace("/[img](.+?)[/img]/", '<img src="$1">', $Text);
<i> </i> // [img=widthxheight]image source[/img]
<i> </i> $Text = preg_replace("/[img=([0-9]*)x([0-9]*)](.+?)[/img]/", '<img src="$3" height="$2" width="$1">', $Text);
<i> </i> return $Text;
<i> </i> }
//END 3rd PARTY CODE
//quick script to make the data look nice
function formatDate($val) <br/>
{ <br/>
list($date, $time) = explode(" ", $val); <br/>
list($year, $month, $day) = explode("-", $date);
list($hour, $minute, $second) = explode (":", $time);
return date("l, m.j.y @ H:ia", mktime($hour, $minute, $second, $month, $day, $year)); <br/>
}
function getComments($tutid){
//creates a function that can easily be called from any page
//create the css code to make the form look good. You can edit this to change colors, etc:
echo "
<style>
[code=php]
/*COMMENTS
*------------------------------------*/
.postedby {
padding: 0 0 0 18px;
background: url(images/abullet.gif) no-repeat 0 4px;
}
h3.formtitle {
margin : 0px 0px 0px 0px;
border-bottom: 1px dotted #ccc;
padding-bottom: 8px;
}
.commentbody {
border-top: 1px dotted #ccc;
}
/*gray box*/
.submitcomment, #submitcomment, #currentcomments, #rating, .textad {
background-color: #F5F5F5;
border: 1px dotted #ccc;
padding: 5px;
padding: 5px;
margin: 20px 0px 0px 0px;
}
/*FORMS
*------------------------------------*/
.form {
font-size: 70%;
background-color: #FAFAFA;
border: solid 1px #C6C6C6;
padding: 2px;
}
.formtext {
background-color: #FAFAFA;
border: solid 1px #C6C6C6;
padding: 2px;
border-bottom: 1px dotted #ccc
}
.form:hover, .formtext:hover {
background: white;
}
.form:focus, .formtext:focus {
background: white;
border: solid 1px #000000;
}
.submit {
background-color: #D3D3D3;
border: solid 1px #C6C6C6;
border-right: solid 1px #9A9A9A;
border-bottom: solid 1px #9A9A9A;
}
.submit:hover, .submit:focus {
background: #EDEDED;
}
</style>
";
//fetch all comments from database where the tutorial number is the one you are asking for
$commentquery = mysql_query("SELECT * FROM comments WHERE tutorialid='$tutid' ORDER BY date DESC") or die(mysql_error());
//find the number of comments
$commentNum = mysql_num_rows($commentquery);
//create a headline
echo "<div id="currentcomments" class="submitcomment"><h3 class="formtitle">Current Comments</h3>n";
echo $commentNum . " comments so far (<a href="#post">post your own</a>)n";
//for each comment in the database in the right category number...
while($commentrow = mysql_fetch_row($commentquery)){
//for security, parse through the bbcode script
//the number corresponds to the column (the message is always stored in column 4
//COUTING STARTS at 0!!!
$commentbb = BBCode($commentrow[4]);
//create the right date format
$commentDate = formatDate($commentrow[6]);
echo "<div class="commentbody" id="$commentrow[0]">n
<p>$commentbb</p>n
<p class="postedby">Posted by ";
if($commentrow[3]){
echo "<a href="$commentrow[3]">$commentrow[2]</a> ";
} else {
echo "$commentrow[2] ";
}
echo "on $commentDate | #$commentrow[0]</p>n
n</div>";
}
echo "</div>";
}
function submitComments($tutid2,$tuturl){
//a javascript script to make sure all the required fields are filled in
?>
<script language="javascript">
function form_Validator(form)
{
if (form.message.value == "")
{
alert("Please enter your message.");
form.message.focus();
return (false);
}
return (true);
}
//-->
</script>
<?php
//create the form to submit comments
//you can add more fields, but make sure you add them to the db table and the page, submitcomment.php
echo "
<a name="post">
<div id="submitcomment" class="submitcomment">
<form name="submitcomment" method="post" action="submitcomment.php" onSubmit=" return form_Validator(this)">
<table width="100%">
<tr>
<th colspan="2"><h3 class="formtitle">Leave your comment:</h3></th>
</tr>
<tr valign="top">
<th scope="row"><p class="req">Comments:</p><br /></th>
<td><textarea class="formtext" tabindex="4" id="message" name="message" rows="10" cols="50"></textarea></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="post" class="submit" value="Submit Comment" /><br />
</td>
</tr>
</table>
<input type="hidden" name="tuturl" value="$tuturl" />
<input type="hidden" name="tutid2" value="$tutid2" />
</form>
</div>
";
}
?>
[/code]
[code=php]
<?php
define('USERS_PER_PAGE',10);
require_once(CONNECT_PATH);
$query = 'SELECT user_id FROM users';
$result = @mysql_query($query) or handle_mysql_error("retrieving user information");
$total = mysql_num_rows($result);
$p = $_GET['page']-1;
if(!isset($p) || $p < 0)
$p = 0;
elseif($p > ceil($total/USERS_PER_PAGE)-1)
$p = ceil($total/USERS_PER_PAGE)-1;
echo 'Page '.($p+1);
$query = 'SELECT CONCAT(last_name, ", ",first_name) AS name, DATE_FORMAT(date_registered, '%M %d, %Y') AS registration, username, user_id FROM users ORDER BY CONCAT(last_name, first_name) LIMIT '.$p*USERS_PER_PAGE.','.min(USERS_PER_PAGE,$total-$p*USERS_PER_PAGE);
$result = @mysql_query($query) or handle_mysql_error("retrieving user information");
echo "<table width='*' cellpadding='1' cellspacing='1' bgcolor='#000000' border='1'> <tr><td width = '*' bgcolor = '#ffffff'>Name</td><td width = '*' bgcolor = '#ffffff'>Date Registered</td><td width = '*' bgcolor = '#ffffff'>Username</td></tr>";
while($row = @mysql_fetch_array($result,MYSQL_NUM))
{
echo '<tr><td bgcolor = "#ffffff">'.$row[0].'</td><td bgcolor = "#ffffff">'.$row[1].'</td><td bgcolor = "#ffffff"><a href = "'.dirname($_SERVER['PHP_SELF']).'/user.php?user='.$row[3].'">'.$row[2].'</a></td></tr>';
}
echo '</table>';
echo 'Page ';
for($i = 1; $i <= ceil($total/USERS_PER_PAGE); $i++)
echo '<a href = "'.dirname($_SERVER['PHP_SELF']).'/viewusers.php?page='.$i.'">'.$i.'</a> ';
@mysql_close($dbc);
include('footer.php');
?>
[/code]
0.1.9 — BETA 6.16