I Love ALLAH. Al-Qran is the complete code of life.

শুক্রবার, ২০ সেপ্টেম্বর, ২০১৩

পিএইচপি মাইএসকিউএল [পর্ব-৩] :: ডাটাবেজ থেকে ডাটা সংগ্রহ করা

ভূমিকাঃ

আস্সলামুয়ালাইকুম। আশা করি আল্লাহ্‌র রহমতে আপনারা সবাই ভাল আছেন। পর সমাচার আমি আবার আপনাদের সাথে কিছু শেয়ার করার জন্য আসলাম।
এই টিউনটি শুরু করার আগে
টিউন দুটি পড়ে নিলে ভাল হয়। না পড়লে আমরা সামনে যেতে পারব না। মনে করি সবার টিউনটি পড়া হয়ে গেছে। তো সামনে চলুন।

এই পর্যন্ত আমরা কি কি শিখলাম?

  • ডাটাবেজ তৈরি করা (গ্রাফিক্যালি)
  • টেবিল তৈরি করা (গ্রাফিক্যালি)
  • এইচটিএমএল ফর্ম ডিজাইন করা
  • পিএইচপি’র দ্বারা মাইএসকিউএল কে কানেক্ট করা
  • ডাটাবেজের টেবিলে ডাটা প্রবেশ করানোর কৌশল

এই টিউনে কি কি থাকবে?

  • ডাটাবেজের টেবিল থেকে ডাটা সংগ্রহ করার কৌশল
  •  প্রয়োজনীয় স্ক্রীনশট
  • কোডিং
  • কোডিং এর ব্যাখ্যা

শুরু করা যাকঃ

পূর্বের টিউনগুলো যদি আমাদের পড়া হয়ে থাকে আর মোটামুটি বুঝে থাকি, তাহলে আমাদের বেশি কষ্ট করতে হবে না। পূর্বের টিউনগুলো অবশ্যই পড়তে হবে কারণ এখানে আমরা ডাটাবেজ তৈরি করা দেখাবো না বরং আমরা ডাটাবেজের টেবিল থেকে ডাটা সংগ্রহ কিভাবে করতে হয় সেটা দেখব।
১. কাজ শুরু আগে কাজের ফলাফল আগে দেখে নিলে ভাল হয়। তাই তাড়াতাড়ি ইনফরমেশন ফাইল লেখাতে ক্লিক করে ফাইলটি ডাউনলোড করে নিলে ভাল হয়। পাসওয়ার্ড ০১৯২১৬৬৯৮৯৮।
২. ফাইলটি ওপেন করলে দুটি ফাইল পাওয়া যাবে
  1. information_page.html
  2. show_information_process.php
যদি পূর্বের টিউনগুলো পড়ে থাকেন এবং প্র্যাকটিস করে থাকেন তাহলে আপনার কম্পিউটারে ওয়াম্প সফটওয়্যার ইন্সটল করা আছে। সাথে সাথে www ফোল্ডারের মধ্যে php project নামে ফোল্ডার আছে। এখানে ফাইল দুটি কপি করুন। অথবা নতুন যেকোন নামে ফোল্ডারের মধ্যে ফাইল দুটি রাখুন। এখন ব্রাউজারে লিখুন localhost এবং এন্টার চাপুন। php project অথবা যে ফোল্ডারে ফাইল দুটি রেখেছেন তাতে ক্লিক করুন। আমরা php project ফোল্ডারে কপি করেছি তাই php project এ ক্লিক করছি।



৩. নীচের মতো ওপেন হবে।

৪. Information_page.html ফাইলে ক্লিক করি। পেজটি ওপেন হবে
৫.  Show All Record in Database লিংকে ক্লিক করি। নীচের মতো ফলাফল দেখা যাবে।

৬. বকবক অনেক করলাম যাই হোক এবার এই কাজটাই আমরা কোড লিখে করব। এই জন্য প্রথমে আমরা একটি এইচটিএমএল ফাইল ওপেন করব

২. নীচের কোড গুলো টাইপ করুন অথবা কপি করুন এবং সেভ করুন information_page.html নামে।
<html>

<head>

<title>Information Page</title>

</head>

<body>

<a href="show_information_process.php">

<h2 align="center">Show All Record in Database</h2>

</a>

</body>

</html>

৩. কোডিং এর ব্যাখ্যাঃ আসলে এখানে তেমন জটিল কোন কোড লেখা হয়নি। শুধু লিংক করার জন্য ছোট্ট একটু কোড লেখা হয়েছে।
  • Show All Record in Database লেখাটিকে হেডিং ট্যাগের মধ্যে লেখা হয়েছে, যেন লেখাটি একটু বড় হয়। H2 ট্যাগ লেখাকে কতটুকু বড় করবে তার ডিফল্ট মান সেট করা আছে। হেডিং ট্যাগের একটি সুবিধা হল যে লেখাকে হেডিং করা হবে সেই লেখাটির পাশে (একই লাইনে) কোন লেখা থাকতে পারবেনা। উধাহরন হিসেবে পত্রিকায় খবরের হেডিং কে উপস্থাপন করা যায়।
  • align=“center” দ্বারা Show All Record in Database লেখাটি পেজের মাঝে অবস্থান করবে বোঝানো হয়েছে। এখানে align কে বলা হচ্ছে H2 এর attribute এবং center হচ্ছে তার ভ্যালু। center এর জায়গায় right ব্যবহার করলে Show All Record in Database লেখাটি পেজের ডান দিকে দেখা যাবে।
  • <a href="show_information_process.php"> কোড দ্বারা show_information_process.php ফাইলের সাথে লিংক করা হয়েছে।
  • <a> </a> কে অ্যাংকর ট্যাগ বলে। যার দ্বারা কোন পেজকে আমরা লিংক করতে পারি। href = “যে পেজকে লিংক করতে হবে তার নাম দিতে হবে।”
  • আমাদের মূল কাজ show_information_process.php ফাইল নিয়ে। এই ফাইলেই ডাটাবেজের টেবিল থেকে ডাটা সংগ্রহ করার প্রয়োজনীয় কোড লেখা হয়েছে। আমাদের এই ফাইলটিকে রান করানোর জন্য মূলত এইচটিএমএল এ কোড লিখতে হল। যদি কেও information_page.html ফাইলটি তৈরি না করতে চায় তাহলে show_information_process.php নামটি কপি বা ব্রাউজারে টাইপ করে এন্টার চাপলেই পেজটি রান হবে এবং আমরা ফলাফল দেখতে পাব।
৪. আশা করি মন ভাল আছে। এবার মূল ফাইল show_information_process.php তৈরি করব। নীচের কোড গুলো টাইপ করুন অথবা কপি করুন এবং সেভ করুন show_information_process.php নামে।
<?php

mysql_connect("localhost","root","") or die("Could not Connect Mysql.");

mysql_select_db("friends_form") or die("Could not Select Database.");

?>

<html>

<head>

<title>Show Information</title>

</head>

<body>

<table width="700" border="0" align="center">

<tr>

<td colspan="6" align="center">My friends Information</td>

</tr>

<tr>

<td width="52">Serial</td>

<td width="147">Name</td>

<td width="147">Address</td>

<td width="68">Sex</td>

<td width="174">Email</td>

<td width="86">Mobile</td>

</tr>

<?php

$sql= "SELECT * FROM `add_information` ";

$result=mysql_query($sql);

while($rows=mysql_fetch_array($result)){?>

<tr>

<td><?php echo $rows['id']; ?></td>

<td><?php echo $rows['name']; ?></td>

<td><?php echo $rows['address']; ?></td>

<td><?php echo $rows['sex']; ?></td>

<td><?php echo $rows['email']; ?></td>

<td><?php echo $rows['mobile']; ?></td>

</tr>

<?php

}

?>

</table>

<p align="center"><a href="information_page.html">Back to Information Page</a></p>

</body>

</html>

৫. কোডিং এর ব্যাখ্যাঃ
  • প্রথমেই দেখুন  আমাদের পরিচিত কোড
<?php

mysql_connect("localhost","root","") or die("Could not Connect Mysql.");

mysql_select_db("friends_form") or die("Could not Select Database.");

?>
কোডটুকু দ্বারা মাইএসকিউএল এর সাথে কানেক্ট এবং ডাটাবেজ সিলেক্ট করা হয়েছে।   বিস্তারিত ব্যাখ্যা টিউন-২ এ পূর্বেই করা হয়েছে।
  • এরপর $sql= "SELECT * FROM `add_information` " কোডটুকু লক্ষ্য করি, এখানে $sql নামে একটি ভ্যারিয়েবল ব্যবহার করা হয়েছে।  SELECT দ্বারা add_information টেবিলের ডাটা সিলেক্ট করতে বলা হচ্ছে। আর (*) দ্বারা টেবিলের সমস্ত ডাটা সিলেক্ট করতে বলছে। অর্থাৎ এই কোডটুকু দ্বারা আমরা add_information টেবিলের সমস্ত ডাটা সিলেক্ট করে তা $sql নামের ভ্যারিয়েবল এর মধ্যে রাখছি।
  • $result=mysql_query($sql); এখানে mysql_query( ) ফাংশন দ্বারা টেবিলের সমস্ত ডাটা (ক্যুয়েরি করার মাধ্যমে) $result ভ্যারিয়েবল এর মধ্যে স্টোর বা জমা করার কথা বলছে।
  • while($rows=mysql_fetch_array($result)) এখানে mysql_fetch_array( ) ফাংশন ব্যবহার করা হয়েছে। এই ফাংশনের কাজ হল টেবিলের ১ম রো তে (Row) যে ডাটা পাবে তা রিটার্ন করবে অর্থাৎ টেবিলের ১ম রো’র ডাটা সংগ্রহ করার জন্য আমরা mysql_fetch_array( ) ফাংশনটি ব্যবহার করেছি। পরের রো’র ডাটা পাওয়ার জন্য আমাদের আবার এই ফাংশনটি ব্যবহার করতে হবে। যদি ডাটা’র সংখ্যা অনেক বেশি হয় তাহলে বারবার আমাদের এই ফাংশন ব্যবহার করা কষ্টের সাথে সাথে বিষয়টি জটিল করে ফেলে এজন্য একই কাজ বারবার করার জন্য আমরা লুপ ব্যবহার করব। লুপ ব্যবহার করার ফলে একই কাজ নির্দিষ্ট শর্ত পূরণ না হওয়া পর্যন্ত করতেই থাকবে। আমরা এখানে while লুপ ব্যবহার করেছি, while লুপ লেখার নিয়ম হলঃ
while (শর্ত) {
শর্ত পূরণ হলে যে কাজ করবে;
}
এখানে শর্ত দেওয়া হয়েছে তাহলো, “যতক্ষণ পর্যন্ত mysql_fetch_array( ) ফাংশন ব্যবহার করে টেবিলে ডাটা পাবে তা $rowsভ্যারিয়েবল এর মধ্যে স্টোর করবে”। যদি এই শর্ত পূরণ হয় তাহলে $rowsমধ্যে স্টোরকৃত ডাটাগুলো প্রিন্ট করতে থাকবে।

এখানে লক্ষণীয় বিষয় হল, ডাটাবেজের টেবিলের কলামে ফিল্ডে যে নাম গুলো ব্যবহার করা হয়েছে সেই নাম গুলোই এখানে ব্যবহার করতে হবে।
  • শেষে Back to Information Page লেখাকে information_page.html ফাইলের সাথে লিংক করা হয়েছে। Back to Information Page লেখাতে ক্লিক করলে information_page.html পেজটি ওপেন হবে।
ডাটাবেজ থেকে ডাটা সংগ্রহ করার কাজ মোটামুটি এখানেই শেষ। বাকি থাকল আপনারা কাজ শেখার জন্য কততুকু সময় দিলেন।
সমালোচনাঃ এখানে কতগুলো বিষয় লক্ষণীয়
  • এইচটিএমএল কোডিং ব্যাখ্যা করা হয়েছে।
  • show_information_process.php ফাইলে এইচটিএমএল এর কিছু কোড লিখা হয়েছে, বাস্ততার কারনে ব্যাখ্যা করা সম্ভব হয়নি।

বিশেষ দ্রষ্টাব্যঃ

১. যে কেউ লেখা শেয়ার করতে পারবেন তবে নিজের নাম বলে চালিয়ে দিবেন না। যদি কোন বিষয় বুঝতে সমস্যা হয় তাহলে কমেন্ট বক্সে লিখুন।
২.যদি আমার লেখা বুঝতে সমস্যা হয় তবে জানালে খুশি হব।
৩. আপনাদের ভাল লাগলে পরবর্তী টিউন হবে...

পরবর্তী টিউনঃ পিএইচপি মাইএসকিউএল [পর্ব-৪] :: ডাটাবেজের ডাটা খুঁজে বের করা

লেখকঃ এ.এম. রবিউল ইসলাম

0 মন্তব্য(গুলি)

একটি মন্তব্য পোস্ট করুন