جشنواره نوروزی سون لرن

ساخت CMS ساده با PHP - قسمت 10 - نمایش مطالب

دسته بندی: آموزش
زمان مطالعه: 10 دقیقه
۰۶ مرداد ۱۳۹۳

به نام خدا،در این قسمت از ساخت cms ساده با php قراره مطالبی که دیتابیس ثبت شدن رو در صفحه اول وب سایت نمایش بدیم و هم چنین در بخش ساید بار سایت یه قسمتی برای نمایش عناوین آخرین مطالب ایجاد می‌کنیم.

فهرست محتوای این مقاله

ایجاد کدهای صفحه اصلی

اگه فایل index.php رو قبلا ایجاد کردین که هیچی و گرنه این فایل رو در ریشه اصلی پروژه ایجاد کنید،برای این فایل یه منو بوت استرپی قرار میدیم و بعدشم در بخش محتوا لیست مطالب رو ایجاد می‌کنیم.

ساختار اصلی صفحه به شکل زیر میشه.

<?php 
require_once 'init.php';
?>
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Simple CMS</title
    <!-- Bootstrap -->
    <link href="css/bootstrap.css" rel="stylesheet">
     <link href="css/bootstrap-rtl.css" rel="stylesheet">
    <link href="css/bootstrap-theme.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">
  </head>
  <body>
      <div class="container">
          <div class="row">
              <div class="navbar navbar-default navbar-static-top" role="navigation">
                  <ul class="nav navbar-nav">
                      <li><a href="http://localhost:2020/CMS">خانه</a></li>
                  </ul>
              </div>
          </div>
          <div class="row">
              <div class="col-md-8">

              </div>
              <div class="col-md-4">

              </div>
          </div>
      </div>
    <script src="js/jquery-1.10.2.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <script src="js/script.js"></script>
  </body>
</html>

در ابتدا فایل init.php لود شده که تمام کدهای پی اچ پی داخل اون لود شده.برای ایجاد منو از ساختار پیش فرض خود بوت استرپ استفاده کردیم،قرار در این منو لیست برگه‌های سایت رو نمایش بدیم،در بخش محتوای اصلی با استفاده از سیستم گرید بوت استرپ یه بخش برای نمایش لیست مطالب و یه بخش برای ساید بار ایجاد کردیم.

نمایش لیست مطالب

<?php
$posts=get("posts",10);
while ($post=  mysql_fetch_assoc($posts)):
?>
<div class=" panel panel-default">
	  <div class="panel-heading">
		  <h3 class="panel-title"><?php echo $post['post_title']; ?></h3>
		  <span style="margin-top: -15px;" class="pull-left">
			  <?php get_persian_date($post['post_date']); ?>
		  </span>
	  </div>
	  <div class="panel-body">
		  <p><?php echo $post['post_body']; ?></p>
		  <div class="pull-left">
			  <a class="btn btn-primary" href="view.php?p=<?php echo $post['post_ID']; ?>">ادامه مطلب</a>
		  </div>
	  </div>
</div>
<?php endwhile; ?>

مطالب رو با استفاده از تابع get و به تعداد 10 تا دریافت کردیم و در یه حلقه نشون دادیم.

نکته :

در تعریف تابع get بحث مرتب سازی رو رعایت نکردیم این مورد با توجه به انتخاب جدول و هم نوع مرتب سازی به عهده خود خواننده به عنوان یه تمرین واگذار میشه،راهنمایی : در تابع یه پارامتر تعریف می‌کنیم که نحوه مرتب سازی رو مشخص میکنه که حالا بر اساس نام جدول و فیلد تاریخ کوئری رو به کوئری اضافه کنید

نمایش لیست آخرین مطالب

برای نمایش آخرین مطالب هم در بخش ساید بار سایت کدی رو به صورت زیر قرار میدیم.

<div class="panel panel-default">
  <div class="panel-heading">
	  <h3 class="panel-title">اخرین مطالب</h3>
  </div>
  <div class="panel-body">
	  <ul class="posts-list">
	  <?php
	   $latest=get("posts",10);
	  while($post=mysql_fetch_assoc($latest)): ?>
		  <li ><a href="view.php?p=<?php echo $post['post_ID']; ?>"><?php echo $post['post_title']; ?></a></li>
	  <?php endwhile; ?>
	   </ul>
  </div>
</div>

این کد هم شبیه همون کد قبلی هستش فقط عنوان مطالب رو نشون دادیم.

نکته :

اگه خواستین می‌تونید به تابع جدا تعریف کنید که فقط فیلد‌های لازم رو برگردونه.

خوب کدهای کامل صفحه به شکل هستش.

<?php 
require_once 'init.php';
?>
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Simple CMS</title
    <!-- Bootstrap -->
    <link href="css/bootstrap.css" rel="stylesheet">
     <link href="css/bootstrap-rtl.css" rel="stylesheet">
    <link href="css/bootstrap-theme.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">
  </head>
  <body>
      <div class="container">
          <div class="row">
              <div class="navbar navbar-default navbar-static-top" role="navigation">
                  <ul class="nav navbar-nav">
                      <li><a href="http://localhost:2020/CMS">خانه</a></li>
                  </ul>
              </div>
          </div>
          <div class="row">
              <div class="col-md-8">
                  <?php
                  $posts=get("posts",10);
                  while ($post=  mysql_fetch_assoc($posts)):
                  ?>
                  <div class=" panel panel-default">
                          <div class="panel-heading">
                              <h3 class="panel-title"><?php echo $post['post_title']; ?></h3>
                              <span style="margin-top: -15px;" class="pull-left">
                                  <?php get_persian_date($post['post_date']); ?>
                              </span>
                          </div>
                          <div class="panel-body">
                              <p><?php echo $post['post_body']; ?></p>
                              <div class="pull-left">
                                  <a class="btn btn-primary" href="view.php?p=<?php echo $post['post_ID']; ?>">ادامه مطلب</a>
                              </div>
                          </div>
                   </div>
                  <?php endwhile; ?>
              </div>
              <div class="col-md-4">
                  <div class="panel panel-default">
                      <div class="panel-heading">
                          <h3 class="panel-title">اخرین مطالب</h3>
                      </div>
                      <div class="panel-body">
                          <ul class="posts-list">
                          <?php
                           $latest=get("posts",10);
                          while($post=mysql_fetch_assoc($latest)): ?>
                              <li ><a href="view.php?p=<?php echo $post['post_ID']; ?>"><?php echo $post['post_title']; ?></a></li>
                          <?php endwhile; ?>
                           </ul>
                      </div>
                  </div>
              </div>
          </div>
      </div>
    <script src="js/jquery-1.10.2.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <script src="js/script.js"></script>
  </body>
</html>

اینم از صفحه اصلی ما،در قسمت بعدی کدهای صفحه نمایش مطالب رو می‌نویسیم.

موفق و پیروز باشید.

 

 

چه امتیازی به این مقاله می دید؟
نویسنده کیوان علی محمدی
یادگیرنده ی همیشگی،برنامه نویس،نویسنده،عاشق خلق چیزهای عجیب،عاشق تحلیل داده ها، مسئول بخش فنی و هم بنیان گذار در سون لرن.

نظرات کاربران

اولین دیدگاه این پست رو تو بنویس !

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.