الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في كود تعدد الصفحات

بدأه man in dark في 12 يوليو 2008 · 5 رد · 879 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اخواني لقد سويت كود تعدد الصفحات و يعمل بشكل جيد ولكن

عند تعدد الصفحات لو مثلا يوجد 44 صفحة يظهر بهذا الشكل

السابق 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 التالي

يظهر جميع ارقام الصفحات و لكن انا اريدة ان يكون هكذا مثلا

السابق 1 2 3 4 5 ... 42 43 44 التالي

الكود


<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<title>Add Employee</title>
<style type="text/css"/>
body {
font-family : tahoma;
}
</style>
</head>
<body>

<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="x"; // Database name
$tbl_name="new"; // Table name

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

if(!isset($_GET['pag'])){
$pag = 1;
} else {
$pag = $_GET['pag'];
}

$max_results = 1;

$start = (($pag * $max_results) - $max_results);


$sql="SELECT * FROM $tbl_name order by id DESC LIMIT $start, $max_results ";
$result=mysql_query($sql);
echo mysql_error();
?>
<div align="center">
<div align="center">
<table border="0" cellpadding="0" cellspacing="0" width="38%" height="50" id="table1">
<tr>
<td><script language="JavaScript">
<!-- Original: Mike Hall (MHall75819@aol.com) -->
<!-- Web Site: http://members.aol.com/MHall75819 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var NS4 = (document.layers);
var IE4 = (document.all);

var win = this;
var n = 0;

function findInPage(str) {
var txt, i, found;
if (str == "")
return false;
if (NS4) {
if (!win.find(str))
while(win.find(str, false, true))
n++;
else
n++;
if (n == 0) alert(str + " was not found on this page.");
}
if (IE4) {
txt = win.document.body.createTextRange();
for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
txt.moveStart("character", 1);
txt.moveEnd("textedit");
}
if (found) {
txt.moveStart("character", -1);
txt.findText(str);
txt.select();
txt.scrollIntoView();
n++;
}
else {
if (n > 0) {
n = 0;
findInPage(str);
}
else
alert(str + " was not found on this page.");
}
}
return false;
}
// End -->
</script>

<form name="search"
onsubmit="return findInPage(this.string.value);">
<p align="center">
<input type="text" size="15" name="string" onchange="n = 0;">
<font color="#000000"><b>بـحــث</b></font></p>
</form></td>
</tr>
</table>
</div>
<div align="center">
<div align="center">
<table width="393" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>
<div align="center">
<table width="393" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>
<div align="center">
<table width="393" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>
<div align="center">
<table border="1" cellspacing="0" cellpadding="5" style="border-style: solid; border-width: 0; " width="592" bordercolorlight="#252525" bordercolordark="#252525">
<tr>
<td align="center" width="62" bordercolorlight="#FFFFFF" bgcolor="#252525">
<b><font color="#FFFFFF">حذف</font></b></td>
<td align="center" width="56" bordercolorlight="#FFFFFF" bgcolor="#252525">
<b><font color="#FFFFFF">تعديل</font></b></td>
<td align="center" width="72" bordercolorlight="#FFFFFF" bgcolor="#252525">
<b><font color="#FFFFFF">استعراض</font></b></td>
<td align="center" width="60" bordercolorlight="#FFFFFF" bgcolor="#252525">
<b><font color="#FFFFFF">المعرف</font></b></td>
<td align="center" width="81" bordercolorlight="#FFFFFF" bgcolor="#252525">
<b><font color="#FFFFFF">يوزر</font></b></td>
<td align="center" width="192" bordercolorlight="#FFFFFF" bgcolor="#252525">
<strong><font color="#FFFFFF">اسم </font></strong></td>
</tr>

<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>

<td width="62" align="center" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bordercolor="#2868A7"><b>
<a href="delet.php?id=<? echo $rows['id']; ?>" style="text-decoration: none">
<font color="#000000">حذف</font></span></a><font color="#000000"> </font></b></td>
<td width="56" align="center" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bordercolor="#2868A7"><b>
<a href="update.php?id=<? echo $rows['id']; ?>" style="text-decoration: none">
<font color="#000000">تعديل</font></span></a><font color="#000000"> </font></b></td>
<td width="72" align="center" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bordercolor="#2868A7"><b>
<a href="View_ac.php?id=<? echo $rows['id']; ?>" style="text-decoration: none">
<font color="#000000">عرض</font></span></a><font color="#000000"> </font></b></td>
<td width="60" align="center" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bordercolor="#2868A7"><b><? echo $rows['moka']; ?></b></td>
<td width="81" align="center" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bordercolor="#2868A7"><b><? echo $rows['user']; ?></b></td>
<td width="192" align="center" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bordercolor="#2868A7"><b><? echo $rows['name']; ?></b></td>

</tr>
<?php
}
$total_res = mysql_result(mysql_query("SELECT COUNT(id) FROM $tbl_name"),0);
$total_col = ceil($total_res / $max_results);

if($pag > 1){
$prev = ($pag - 1);
echo "<a href=\"".$_SERVER['PHP_SELF']."?pag=$prev\"> السابق </a> ";
}

for($i = 1; $i <= $total_col; $i++){
if(($pag) == $i){
echo "$i ";
}
else {
echo "<a href=\"".$_SERVER['PHP_SELF']."?pag=$i\">$i</a> ";
}
}

if($pag < $total_col){
$next = ($pag + 1);
echo "<a href=\"".$_SERVER['PHP_SELF']."?pag=$next\" > التالي </a>";
}

?>
</table>
</div>
</td>
</tr>
<tr><td align="center"><a href="export_pdf.php">Export</a></td></tr>
</table>
</div>
<?php
mysql_close();
?>
</body>
</html>
<html dir="ltr">

#2

اخواني لو ممكن المساعدة

#3

تم حل المشكلة

#4
man in dark كتب:
تم حل المشكلة

ألن تشارك حلك حتى يكون ذو فائدة للذين بعدك .

تم تعديل هذه المشاركة بواسطة SIFE في 14 يوليو 2008 في 01:35

''‏اللهم إني أسالك إيمانا دائما وأسألك قلبا خاشعا وأسألك علما ‏نافعا وأسألك يقينا صادقا وأسألك دينا قيما وأسألك العافية من كل ‏بلية''

'‏اللهم أغفر للمؤمنين و المؤمنات و المسلمين و المسلمات الأحياء ‏منهم و الأموات'

www.it-scoop.com

#5

الفكرة هنا عرض رقم الصفحة الحالية وقبلها وبعدها رقمين مثال

إذا كانت الصفحة الحالية 3 يعرض الاتي 

1 2 3 4 5

اما إذا كان رقم الصفحة الحالي 2 أو 1 , أوإذا كان يساوي عدد الصفحات الكلية أو أقل ب 1

فهنالك شروط للمعالجة في الكود

<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256">
<title>Add Employee</title>
<style type="text/css"/>
body {
font-family : tahoma;
}
</style>
</head>
<body>

<?php
$host="localhost"; // Host name
$username="root"; // MySQL username
$password=""; // MySQL password
$db_name="x"; // DataBase name
$tbl_name="new"; // Table name

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

if(!isset($_GET['pag'])){
$pag = 1;
} else {
$pag = $_GET['pag'];
}

$max_results = 1;

$start = (($pag * $max_results) - $max_results);

$sql="SELECT * FROM $tbl_name order by id DESC LIMIT $start, $max_results ";
$result=mysql_query($sql);
echo mysql_error();
?>
<div align="center">
<div align="center">
    <table border="0" cellpadding="0" cellspacing="0" width="38%" height="50" id="table1">
        <tr>
            <td><script language="JavaScript">
<!-- Original:  Mike Hall (MHall75819@aol.com) -->
<!-- Web Site:  http://members.aol.com/MHall75819 -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
var NS4 = (document.layers);
var IE4 = (document.all);

var win = this;
var n   = 0;

function findInPage(str) {
var txt, i, found;
if (str == "")
return false;
if (NS4) {
if (!win.find(str))
while(win.find(str, false, true))
n++;
else
n++;
if (n == 0) alert(str + " was not found on this page.");
}
if (IE4) {
txt = win.document.body.createTextRange();
for (i = 0; i <= n && (found = txt.findText(str)) != false; i++) {
txt.moveStart("character", 1);
txt.moveEnd("textedit");
}
if (found) {
txt.moveStart("character", -1);
txt.findText(str);
txt.select();
txt.scrollIntoView();
n++;
}
else {
if (n > 0) {
n = 0;
findInPage(str);
}
else
alert(str + " was not found on this page.");
}
}
return false;
}
//  End -->
</script>

<form name="search"
onsubmit="return findInPage(this.string.value);">
    <p align="center">
    <input type="text" size="15" name="string" onchange="n = 0;">
    <font color="#000000"><b>??????</b></font></p>
</form></td>
        </tr>
    </table>
</div>
<div align="center">
<div align="center">
    <table width="393" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>
<div align="center">
    <table width="393" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>
<div align="center">
    <table width="393" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>
<div align="center">
<table border="1" cellspacing="0" cellpadding="5" style="border-style: solid; border-width: 0; " width="592" bordercolorlight="#252525" bordercolordark="#252525">
<tr>
<td align="center" width="62" bordercolorlight="#FFFFFF" bgcolor="#252525">
<b><font color="#FFFFFF">???</font></b></td>
<td align="center" width="56" bordercolorlight="#FFFFFF" bgcolor="#252525">
<b><font color="#FFFFFF">?????</font></b></td>
<td align="center" width="72" bordercolorlight="#FFFFFF" bgcolor="#252525">
<b><font color="#FFFFFF">???????</font></b></td>
<td align="center" width="60" bordercolorlight="#FFFFFF" bgcolor="#252525">
<b><font color="#FFFFFF">??????</font></b></td>
<td align="center" width="81" bordercolorlight="#FFFFFF" bgcolor="#252525">
<b><font color="#FFFFFF">????</font></b></td>
<td align="center" width="192" bordercolorlight="#FFFFFF" bgcolor="#252525">
<strong><font color="#FFFFFF">??? </font></strong></td>
</tr>

<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>

<td width="62" align="center" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bordercolor="#2868A7"><b>
<a href="delet.php?id=<? echo $rows['id']; ?>" style="text-decoration: none">
<font color="#000000">???</font></span></a><font color="#000000"> </font></b></td>
<td width="56" align="center" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bordercolor="#2868A7"><b>
<a href="update.php?id=<? echo $rows['id']; ?>" style="text-decoration: none">
<font color="#000000">?????</font></span></a><font color="#000000"> </font></b></td>
<td width="72" align="center" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bordercolor="#2868A7"><b>
<a href="View_ac.php?id=<? echo $rows['id']; ?>" style="text-decoration: none">
<font color="#000000">???</font></span></a><font color="#000000"> </font></b></td>
<td width="60" align="center" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bordercolor="#2868A7"><b><? echo $rows['moka']; ?></b></td>
<td width="81" align="center" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bordercolor="#2868A7"><b><? echo $rows['user']; ?></b></td>
<td width="192" align="center" bgcolor="#FFFFFF" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bordercolor="#2868A7"><b><? echo $rows['name']; ?></b></td>

</tr>
<?php
}
$total_res = mysql_result(mysql_query("SELECT COUNT(id) FROM $tbl_name"),0);
$total_col = ceil($total_res / $max_results);

if($pag > 1){
$prev = ($pag - 1);
echo "<a href=\"".$_SERVER['PHP_SELF']."?pag=$prev\"> ?????? </a> ";
}



//*****************
if ($pag==$total_col-1)
    $j=$pag-3;
else
if ($pag==$total_col)
    $j=$pag-4;
else
if ($pag>2)
  $j=$pag-2;

 for($i = 1; $i <= 5; $i++){
   if(($pag) == $j){
    echo "$j ";
   }
   else {
    echo "<a href=\"".$_SERVER['PHP_SELF']."?pag=$j\">$j</a> ";
   }
   $j=$j+1;
}
//****************************






if($pag < $total_col){
$next = ($pag + 1);
echo "<a href=\"".$_SERVER['PHP_SELF']."?pag=$next\" > ?????? </a>";
}

?>
</table>
</div>
</td>
</tr>
<tr><td align="center"><a href="export_pdf.php">Export</a></td></tr>
</table>
</div>
<?php
mysql_close();
?>
</body>
</html>

لا حظ التعديل الجديد بين 

//***********

الكود 

//*********

وهذه فكرة وممكن تغيرها حسب ماتريد

تم تعديل هذه المشاركة بواسطة mana80 في 14 يوليو 2008 في 02:06

I Say Nothing

#6

اخي SIFE

مثل ما قال اخي الكريم mana80

و مشكور على الشرح mana80

مواضيع مشابهة