پرش به


تصویر

آموزش ایجاد گزارش چند صفحه ای در php

ابوالفضل عربی آزاد بندرعباس php MySQL گزارش گزارش چند صفحه ای آموزش php وب برنامه نویسی مبتنی بر وب انجمن دانشجویان آزاد بندرعباس

  • لطفا وارد حساب کاربری خود شوید تا بتوانید پاسخ دهید
بدون پاسخ

#1 ابوالفضل عربی

ابوالفضل عربی

    Administrator

  • مدیران ارشد
  • 99 ارسال
  • مکان : بندرعباس ، تهران

ارسالی 28 December 2018 - 07:52 PM

با عرض سلام و درود خدمت تمامی کاربران گرامی.

در این پست بر اساس درخواست برخی از دانشجویان عزیز بر آن شدم که یک آموزش خیلی ساده برای چند صفحه ای کردن گزارش خودمون تهیه کنم.

فرض میکنیم جدول Person را با قطعه کد زیر ایجاد نموده ایم .

CREATE TABLE IF NOT EXISTS `person` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `user` varchar(20) NOT NULL,
  `description` varchar(100) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;

حال ابتدا 100 رکورد را در این جدول درج کرده و قرار است فرمی طراحی کنیم که رکوردهای ما را به صورت دسته های 20 تایی جدا کند.

این فرم باید این قابلیت را داشته باشد که از یک رکورد شروع و در پایین فرم شماره مربوط به تمامی پیج ها رو نمایش دهد تا کاربر با کلیک بر روی هر شماره ی صفحه بتواند به صفحه ی مورد نظر جابجا شود.

 

مثال : با کلیک بر روی عدد 3 بتواند 20 رکوردی که مابین 40 تا 60 هستند را مشاهده نماید.

 

 

ابتدا یک فایل با نام page.php ایجاد مینماییم و در ابتدای آن به جهت اینکه نقطه ی شروع را بتوان مشخص کرد قطعه کد زیر را برای دریافت مقدار شروع از کاربر قرار میدهیم.

<form method="get" action="">
<input type="text"  name="pInput"  />

<input type="submit" name="btn" value="از این رکورد سروع شود"/>

</form>

در زیر دو متغییر داریم با نام های $step که تعداد رکوردهای هر صفحه را مشخص می نماید و $form که مشخص می نماید از چه نقطه ای باید شروع کنیم.

 

در کوئری ما کلمه ی کلیدی LIMIT  دیده می شود که نشان دهنده ی این است که رکوردهای ما به چه اعدادی محدود شده اند.

 

بقیه ی کدها هم تقریبا واضح بوده و در صورتی که سوالی داشتید میتوانید در زیر همین آموزش آن را بپرسید.

<?php
$step = 20;
if(!empty($_GET['pInput'])){
$from = $_GET['pInput'];}
else
{
$from =0;
}

$conn = new mysqli("localhost","root","",'test');
$resault = $conn->query("select * from person ");

$total_data = mysqli_num_rows($resault);

$data = $conn->query("select * from person LIMIT $from,$step ");
echo "<table border='1' dir='rtl' >";
echo "<tr> <th> ردیف </th> <th> نام کاربری </th>  <th> توضیحات </th>  </tr>"; 
while( $temp = mysqli_fetch_array($data) )
{
 echo   "<tr> <td>".$temp['id']." </td> <td> " .$temp['user']."</td> <td>".$temp['description']."</td> </tr> ";

}
echo "</table>";

$p=1;
for ($j = 0 ; $j <= $total_data ; $j+=$step) 
{ 
    echo ' <a href="page.php?pInput='.$j.'">'.$p.'</a> '; 
    $p++;
} 

?>

ضمنا قطعه کد نهایی برای این عملیات که در فایلی با نام page.php قرار دارد به شرح زیر میباشد.

<form method="get" action="">
<input type="text"  name="pInput"  />

<input type="submit" name="btn" value="از این رکورد سروع شود"/>

</form>


<?php
$step = 20;
if(!empty($_GET['pInput'])){
$from = $_GET['pInput'];}
else
{
$from =0;
}

$conn = new mysqli("localhost","root","",'test');
$resault = $conn->query("select * from person ");

$total_data = mysqli_num_rows($resault);

$data = $conn->query("select * from person LIMIT $from,$step ");
echo "<table border='1' dir='rtl' >";
echo "<tr> <th> ردیف </th> <th> نام کاربری </th>  <th> توضیحات </th>  </tr>"; 
while( $temp = mysqli_fetch_array($data) )
{
 echo   "<tr> <td>".$temp['id']." </td> <td> " .$temp['user']."</td> <td>".$temp['description']."</td> </tr> ";

}
echo "</table>";

$p=1;
for ($j = 0 ; $j <= $total_data ; $j+=$step) 
{ 
    echo ' <a href="page.php?pInput='.$j.'">'.$p.'</a> '; 
    $p++;
} 

?>



مهندس ابوالفضل عربی

1397/10/07

ساعت 19:52

موفق و موید باشید


ابوالفضل عربی
شماره تماس : 09380291826

ایمیل دانشگاهی : abolfazl.arabi@iauba.ac.ir
ایمیل  کاری : info@IranDelphi.ir






همچنین به ابوالفضل عربی, آزاد بندرعباس, php, MySQL, گزارش, گزارش چند صفحه ای, آموزش php, وب, برنامه نویسی مبتنی بر وب, انجمن دانشجویان آزاد بندرعباس نیز برچسب خورده است

0 کاربر در حال خواندن این موضوع است

0 کاربر، 0 مهمان و 0 عضو مخفی

صفحه ی اینستاگرام  دانشگاه آزاد اسلامی واحد بندرعباس