آموزش برنامه نویسی در مشهد

پیاده سازی CRUD در PHP (قسمت ۱)

پیاده سازی CRUD در PHP قسمت ۱  ( نمایش اطلاعات به صورت جدول در PHP )

سایر پست های مربوط به این آموزش :    

یکی از کارهای متداول برنامه نویسان وب ایجاد Grid برای پیاده سازی عملیات CRUD است    ( CRUD مخفف Delete , Update , Read ,Create ) است. این فرآیند در سیستم های مدیریت محتوا ، سیستم هایی که در آن فهرستی از داده ها مدیریت می شود و یا نرم افزار های حسابداری کاربرد دارد.در صورتیکه شما تازه شروع به برنامه نویسی وب کرده اید در آینده به احتمال زیاد به این نیاز پیدا خواهید کرد.

grid CRUD  این امکان را به کاربر می دهد که داده ها را ایجاد(Create) ،حذف (Delete) ، ویرایش (Update) ویا بخواند(Read). به طور معمول ما داده ها را در پایگاه داده MySQL ذخیره می کنیم . PHP یک زبان سمت سروری است که این امکان را به کاربران سایت می دهد که جدول های پایگاه داده MySQL را با استفاده از عملیات CRUD  تغییر دهند.

در این سری آموزشی به مراحل ساختن یک گرید CRUD در PHP خواهیم پرداخت  و نشان می دهیم که چگونه PHP که یک زبان سمت سروری است با پایگاه داده MySQL  ارتباط برقرار می کند و داده ها را در قالب HTML برای کاربران سایت ارسال می کند.

۱٫ایجاد پایگاه داده نمونه 

در این آموزش ما با یک جدول پایگاه داده که دستورات sql آن در پایین قرار دارد  کار خواهیم . بعد از آموزش باید با توجه به نیاز جدول های پایگاه داده خود را طراحی کنید.

جدول زیر را به پایگا ه داده خود ایجاد کنید .

CREATE TABLE `customers` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR( 100 ) NOT NULL ,
`email` VARCHAR( 100 ) NOT NULL ,
`mobile` VARCHAR( 100 ) NOT NULL
) ENGINE = INNODB;

همانطور که می بینید این یک جدول ساده برای نگهداری اطلاعات مشتریان (نام ، نام خانوادگی و..)است. و دارای یک کلید اصلی است که به صورت auto incremental تعریف شده.

۲٫ ارتباط با پایگاه داده  برای نمایش اطلاعات به صورت جدول در php

یک فایل PHP با نام database.php ایجاد کنید و یک کلاس PHP با نام ِDatabase  در فایل تعریف کنید. در این برنامه کلاس Database وظیفه ارتباط و قطع ارتباط با پایگاه داده را برعهده دارد.

<?php
class Database 
{
	private static $dbName = 'crud_tutorial' ; 
	private static $dbHost = 'localhost' ;
	private static $dbUsername = 'root';
	private static $dbUserPassword = 'root';
	
	private static $cont  = null;
	
	public function __construct() {
		exit('Init function is not allowed');
	}
	
	public static function connect()
	{
	   // One connection through whole application
       if ( null == self::$cont )
       {      
        try 
        {
          self::$cont =  new PDO( "mysql:host=".self::$dbHost.";"."dbname=".self::$dbName, self::$dbUsername, self::$dbUserPassword);  
        }
        catch(PDOException $e) 
        {
          die($e->getMessage());  
        }
       } 
       return self::$cont;
	}
	
	public static function disconnect()
	{
		self::$cont = null;
	}
}
?>

همانطور که می بینید از PDO برای دسترسی به دیتابیس استفاده می کنیم .  استفاده از PDO مزایای زیادی  دارد که مهترین آن روشی یکسان برای دسترسی به چند دیتابیس فراهم می کند .

برای استفاده از این کلاس شما نیاز دارید این مقادیر را به درستی وارد کنید $dbName, $dbHost, $dbUsername, $dbUserPassword. خوب با هم نگاهی به توابع این کلاس می کنیم:

نمایش اطلاعات به صورت جدول در PHP

۳٫ ایجاد گرید با استفاده از Twitter Bootstrap

برای پیاده سازی عملیات CRUD ما نیاز به یک grid داریم بنابراین ابتدا یک grid می سازیم  و سپس صفحات مربوط به ایجاد (Create) ، خواندن (Read) , به روز رسانی (Update) و در نهایت حذف (Delete) را می سازیم. برای دانلود بوت استرپ از این لینک استفاده می کنیم دانلود بوت استرپ ورژنی که در این آموزش استفاده شده است 2.3.2 است . سپس یک فایل PHP با نام index.php بسازید. در صورتیکه مراحل به درستی انجام دهید باید ساختاری مشابه شکل زیر ایجاد شده باشد. حال فایل index.php را باز کرده و کدهای زیر را درآن کپی کنید.
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <link   href="css/bootstrap.min.css" rel="stylesheet">
    <script src="js/bootstrap.min.js"></script>
</head>

<body>
    <div class="container">
    		<div class="row">
    			<h3>PHP CRUD Grid</h3>
    		</div>
			<div class="row">
				
				
				<table class="table table-striped table-bordered">
		              <thead>
		                <tr>
		                  <th>Name</th>
		                  <th>Email Address</th>
		                  <th>Mobile Number</th>
		                 
		                </tr>
		              </thead>
		              <tbody>
		              <?php 
					   include 'database.php';
					   $pdo = Database::connect();
					   $sql = 'SELECT * FROM customers ORDER BY id DESC';
	 				   foreach ($pdo->query($sql) as $row) {
						   		echo '<tr>';
							   	echo '<td>'. $row['name'] . '</td>';
							   	echo '<td>'. $row['email'] . '</td>';
							   	echo '<td>'. $row['mobile'] . '</td>';
							   	echo '</tr>';
					   }
					   Database::disconnect();
					  ?>
				      </tbody>
	            </table>
    	</div>
    </div> <!-- /container -->
  </body>
</html>
بررسی کدها :
<thead>
		                <tr>
		                  <th>Name</th>
		                  <th>Email Address</th>
		                  <th>Mobile Number</th>
		                 
		                </tr>
		              </thead>

سپس database.php را  include کرده و یک کانکشن PDO به دیتابیش ایجاد می کنیم و با استفاده از دستور SELECT داده ها را بازیابی می کنیم. در پایان با استفاده از یک حلقه همه محتویات را نمایش می دهیم . همچنین همانگونه که در ابتدا گفته شد حتما کانکشن باید بسته شود.

 <?php 
					   include 'database.php';
					   $pdo = Database::connect();
					   $sql = 'SELECT * FROM customers ORDER BY id DESC';
	 				   foreach ($pdo->query($sql) as $row) {
						   		echo '<tr>';
							   	echo '<td>'. $row['name'] . '</td>';
							   	echo '<td>'. $row['email'] . '</td>';
							   	echo '<td>'. $row['mobile'] . '</td>';
							   	echo '</tr>';
					   }
					   Database::disconnect();
					  ?>
در صورتیکه مراحل به درستی انجام شده باشد شما باید یک گرید خالی مانند شکل زیر بعد از فراخوانی صفحه index.php داشته باشید. همانطور که می بینید گرید خالی است چون داده ای در داخل جدول مشتریان وجود ندارد برای امتحان به صورت دستی در جدول مشتریان داده ای وارد کنید تا در گرید نمایش داده شود. ۴٫ ادامه دارد  به دلیل طولانی شدن مقاله ادامه آن در پست بعدی خواهد بود که در آن نشان خواهیم داد که چگونه صفحات مربوط به ایجاد (Create)  ، خواندن (Read) مربوط به عملیات CRUD در PHP یا همان نمایش اطلاعات به صورت جدول در php را بسازیم. امیدارم این مقاله برای شما مفید باشد لطفا  این مقاله را در با استفاده از دکمه های پایین در صفحات اجتماعی  به اشتراک بگذارید . برای ادامه کار ما نیاز به حمایت شما داریم . در صورت هر گونه سوال و یا خطا  در مورد مقاله نمایش اطلاعات به صورت جدول در php می توانید  آن را در پایین ویا انجمن سایت مطرح کنید.    
خروج از نسخه موبایل