وباکا

آموزش تخصصی برنامه نویسی وب

جلسه دوازدهم – اولین برنامه بانک اطلاعاتی با پی اچ پی را بنویسید

برنامه های بانک اطلاعاتی به زبان پی اچ پی دارای الگوی مشخصی هستند، کافی است اصول برنامه نویسی بانک اطلاعاتی با PHP را یاد بگیرد تا بتوانید هر برنامه ای بنویسید.

برای برنامه نویسی بانک اطلاعاتی به زبان PHP باید عملیات زیر را انجام دهید:

1- ایجاد بانک اطلاعاتی

زبان پی اچ پی می تواند با بانک های اطلاعاتی مختلفی کار کند. ولی از همه بیشتر با بانک اطلاعاتی MySQL دوست بوده و سازگاری دارد. برای برنامه نویسی باید ابتدا بانک اطلاعاتی دلخواهی در MySQL ایجاد کنید. برای این کار می توانید از نرم افزار phpmyadmin استفاده کنید.

فرض کنید بانک اطلاعاتی amoozesh را ایجاد کرده اید که دارای جدولی بنام studs برای نگهداری مشخصات دانشجویان با ستون های زیر است:

sid –  شماره دانشجویی (کلید اصلی و خودافزایشی)

name – نام دانشجو (رشته ای)

avgr – معدل دانشجو (عددی اعشاری)

fid – کد رشته تحصیلی (عددی صحیح)

2- اتصال به سرویس دهنده بانک اطلاعاتی

روش های مختلفی برای اتصال به بانک اطلاعاتی MySQL وجود دارد که می توانید در نوشته “روش های اتصال پی اچ پی (php) به MySQL ” بخوانید. ما در این قسمت از MySQLi روال گرا برای اتصال به بانک اطلاعاتی و اجرای عملیات روی آن استفاده خواهیم کرد.

پس اسکریپت شما باید ابتدا با دستور زیر به بانک اطلاعاتی MySQL متصل شود:

$conn = mysqli_connect("localhost", "root","");

دستور فوق یک اتصال بنام $conn برای اتصال به سرویس دهنده بانک اطلاعاتی MySQL که روی سروری با نام localhost قرار گرفته ایجاد می کند و برای شناسایی خود از نام کاربری root و کلمه عبور پوچ استفاده میکند. اگر برنامه را بصورت محلی روی سیستم خودتان اجرا می کنید این درست کار خواهد کرد ولی اگر آن را روی سرور میزبانی اجرا کنید باید نام سرور، کاربری و کلمه عبور دیگری استفاده کنید.

3- انتخاب بانک اطلاعاتی

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

mysqli_select_db( $conn , "amoozesh" );

4- اجرای دستورات دلخواه

بعد از ایجاد اتصال به بانک و باز کردن بانک اطلاعاتی، می توانید هر دستوری را البته به زبان SQL روی بانک اطلاعاتی اجرا کنید. می توانید اول دستور زیر را اجرا کنید تا کدگذاری اتصال تعیین شده و اطلاعات متنی فارسی درست خوانده شده یا در بانک نوشته شود.

mysqli_query( $conn , "SET NAMES utf8" );

دستور فوق کدگذاری اتصال را به utf8 تغییر می دهد و بجای utf8  می توان از کلمات دیگری هم استفاده کرد، بسته به اینکه کدگذاری (Collation) بانک اطلاعاتی یا جدول شما چه چیزی تعیین شده باشد.

در ادامه می توانید هر دستور دیگری از SQL را روی بانک اطلاعاتی اجرا کنید. دستوراتی مثل SELECT ، INSERT ، DELETE ، UPDATE و … برای یادگیری شکل اجرای این دستورات می توانید از نوشته “ مروری بر دستورات مهم SQL و روش اجرای آنها در PHP ” استفاده کنید.

5- بستن اتصال بانک اطلاعاتی

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

mysqli_close($conn);

6- پیاده سازی یک نمونه برنامه بانک اطلاعاتی

بعد از اینکه با اصول اتصال به بانک اطلاعاتی و اجرای دستورات SQL آشنا شدید می توانید نمونه برنامه زیر را ببینید که برای خواندن مشخصات دانشجویان از بانک اطلاعاتی و نمایش آنها در یک جدول نوشته شده است:

<html>
<body>
<table border="1" align="center" width="600" >
<tr>
<td>SID</td>
<td>NAME</td>
<td>AVERAGE</td>
<td>FID</td>
</tr>
<?php
$conn = mysqli_connect("localhost","root","");
mysqli_select_db( $conn , "amoozesh");
mysqli_query($conn , "SET NAMES utf8");
$res = mysqli_query( $conn , "SELECT * FROM studs ");
while( $row = mysqli_fetch_assoc($res) ){
?>
<tr>
<td><?php echo $row['sid']; ?></td>
<td><?php echo $row['name']; ?></td>
<td><?php echo $row['avgr']; ?></td>
<td><?php echo $row['fid']; ?></td>
</tr>
<?php } ?>
</table>
</body>
</html>

در این برنامه دستور زیر کل رکوردهای دانشجویان را از بانک اطلاعاتی خوانده و در متغیر $res قرار می دهد:

$res = mysqli_query( $conn , "SELECT * FROM studs ");

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

( $row = mysql_fetch_assoc($res

برای نمایش فیلدهای هر رکورد باید خانه های آرایه انجمنی $row را چاپ کنیم و اندیس هر خانه نام ستون مربوطه می باشد. مثلاً دستور زیر برای نمایش نام دانشجو را چاپ می کند:

<?php echo $row['name']; ?>

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

 

می توانید روش اجرای دستورات دیگر روی بانک اطلاعاتی را دربخش آموزش برنامه نویسی پی اچ پی(php) مطالعه کنید.

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

فهرست مطالب