PDA

View Full Version : سوال: مشکل در صفحه بندی



soroush.r70
سه شنبه 20 دی 1390, 14:58 عصر
من از کد صفحه بندی زیر استفاده می کنم ولی چون از
mysql_close(); استفاده میکنم مشکل پیدا می کنه و نمایش نمی ده از دوستان کسی می تونه این کد رو برام ویرایش کنه تا درست عمل کنه.


$check = $affrows / $max;
$check = sprintf("%d", $check);
$div3 = '<br /><div align="center"><table border="0" cellspacing=0 cellpadding=0 align="center" dir="rtl"><tr>';
if ($check * $max < $affrows) {
for ($i = 1; $i <= $check + 1; $i ++) {
if ($i == $page) {
$div3 .= "<TD dir=ltr style=\"FONT-SIZE: 1pt\" width=30 height=20>
<DIV class=\"menu1\" >
<SPAN class=\"menu2\">" . $i . "</SPAN></DIV></TD>";
} else {
$div3 .= "<TD><TABLE id=Table4 cellSpacing=0 cellPadding=0 width=30 border=0>
<TBODY>
<TR>
<TD dir=\"ltr\" style=\"FONT-SIZE: 1pt\" align=\"middle\">
<DIV id=Pagebar1_Plg__ctl0_Panel3 style=\"WIDTH: 30px\" align=center>
<A class=txt2 id=Pagebar1_Plg__ctl0_Hl style=\"FONT-SIZE: 12px; COLOR: gray; FONT-FAMILY: Tahoma\" href=\"downloads.php?page=" . $i . " \">" . $i . "</A> </DIV></TD>
</TR>
</TBODY>
</TABLE>
</TD>";
}
} // for ($i=1;$i<=$check;$i++ )
} else if ($check * $max == $affrows) {
for ($i = 1; $i <= $check; $i ++) {
if ($i == $page) {
$div3 .= "<TD dir=ltr style=\"FONT-SIZE: 1pt\" width=30 height=20>
<DIV class=\"menu1\" >
<SPAN class=\"menu2\">" . $i . "</SPAN></DIV></TD>";
} else {
$div3 .= "<TD><TABLE id=Table4 cellSpacing=0 cellPadding=0 width=30 border=0>
<TBODY>
<TR>
<TD dir=\"ltr\" style=\"FONT-SIZE: 1pt\" align=\"middle\">
<DIV id=Pagebar1_Plg__ctl0_Panel3 style=\"WIDTH: 30px\" align=center>
<A class=txt2 id=Pagebar1_Plg__ctl0_Hl style=\"FONT-SIZE: 12px; COLOR: gray; FONT-FAMILY: Tahoma\" href=\"downloads.php?page=" . $i . " \">" . $i . "</A> </DIV></TD>
</TR>
</TBODY>
</TABLE>
</TD>";
}
} // for ($i=1;$i<=$check;$i++ )
}
////\\\\

}

$div3 .= '</tr></table></div>';
$div.=$div3;
echo $div;

}

soroush.r70
چهارشنبه 21 دی 1390, 12:49 عصر
دوستان اگه نمی تونن این اسکریپت رو اصلاح کنن لطف کنین یه اسکریپت صفحه بندی ساده با فقط با php بزارین تا هم من و هم بقیه استفاده کنن. ممنون

Mr.Moghadam
چهارشنبه 21 دی 1390, 13:31 عصر
ساخت pagination با jQuery و PHP به صورت Ajax (http://phpro.ir/topic/%d8%b3%d8%a7%d8%ae%d8%aa-pagination-%d8%a8%d8%a7-jquery-%d9%88-php-%d8%a8%d9%87-%d8%b5%d9%88%d8%b1%d8%aa-ajax)

soroush.r70
چهارشنبه 21 دی 1390, 13:54 عصر
ممنونم آقا ولی من یه چیز ساده فقط با php می خوام تو سبک این چیزی که من خودم گذاشتم.

pejman_view
چهارشنبه 21 دی 1390, 14:17 عصر
سلام

اطلاعات بکار رفته بصورت مثال است و به راحتی می توانید تغییرش بدهید.

<?php
echo "<h1>Registered Users</h1>";
require_once ('includes/db.php'); // Import Database details.
//number of rows show per page
$display = 2;
if (isset($_GET['p']) && is_numeric($_GET['p'])){ // check if paginating is neccessary

$pages = $_GET['p'];

}else{// else of check if paginating is neccessary

$q = "SELECT COUNT(user_id) FROM users";
$r = @mysqli_query($dbc,$q);
$row = mysqli_fetch_array($r, MYSQLI_NUM);
$records = $row[0];

if ($records > $display){ //if there is more than 1 page

$pages = ceil($records/$display);

}else{//else of if there is more than 1 page

$pages = 1;


}//end of if there is more than 1 page

}// end of check if paginating is neccessary


if (isset($_GET['s']) && is_numeric($_GET['s'])){

$start = $_GET['s'];

}else{
$start = 0;
}


$q = "SELECT last_name ,first_name, DATE_FORMAT(registration_date, '%M, %d, %Y') AS dr,user_id FROM users ORDER BY registration_date ASC LIMIT $start,$display";
//this query line will return last_name,first_name and registration date.

$r = @mysqli_query ($dbc, $q); // Connect to database and run $q
$num = mysqli_num_rows ($r);
if ($num>0){ //if it is ran show records
// Table Header
echo '<table cellspacing="3" cellpadding="3" width="75%"><tr><td><b>Edit</b></td><td><b>Delete</b></td><td><b>First Name</b></td><td><b>Last Name</b></td><td><b>Registration Date</b></td></tr>';


$bg = '#eeeeee'; //set initial background colour;
// Fetch records and Print them

while( $row = mysqli_fetch_array($r,MYSQLI_ASSOC) ){

$bg = ($bg=='#eeeeee' ? '#ffffff' : '#eeeeee');
echo '<tr bgcolor="'.$bg.'">';
echo '<td align="left"><a href = "edit_user.php?id='.urlencode($row['user_id']).'">Edit</a></td><td><a href="delete_user.php?id='.urlencode($row['user_id']).'">Delete</a></a><td align="left">'.$row['first_name'].'<td align="left">'.$row['last_name'].'</td><td>'.$row['dr'].'</td></tr>';

}
echo '</table>';
mysqli_free_result ($r);
mysqli_close($dbc);

if ($pages>1){ //if more than one page need to show

echo '<br /><p>';

$current_page = ($start/$display)+1;

if ($current_page != 1){
echo '<a href="view_users3.php?s="'.($start-$display).'&p='.$pages.'">Previous</a>';
}
for ($i=1 ; $i <= $pages; $i++){ //make all numbered pages.
if ($current_page != 1){ // if it's not first page make previous link
echo '<a href="view_users.php?s='.(($display * ($i - 1))).'&p='.$pages . '">'.$i.'</a> ';
}else{ //else of make all pages numbered.
echo $i.' ';
}
}//end of loop to make all numbered pages.
}// end of if it's not first page make previous link

if ($current_page != $pages){
echo ' <a href="view_users3.php?s='.($start+$display).'&p='.$pages.'">Next</a>';
}

echo '</p><br />';



}else{
//show error message.

echo '<p>Sorry unkown error is occured. </p>';

//Show debugging error.
require ('includes/config.php');
if ($debugging_mode == 1){
echo '<p>'.mysqli_error ($dbc).':'.$q.'</p>';
}
}


?>


امیدوارم که به دردتان بخورد