ভূমিকাঃ
আস্সলামুয়ালাইকুম। আশা করি আল্লাহ্র রহমতে আপনারা সবাই ভাল আছেন। পর সমাচার আমি আবার আপনাদের সাথে কিছু শেয়ার করার জন্য আসলাম।এই টিউনটি শুরু করার আগে
- পিএইচপি মাইএসকিউএল [পর্ব-১] :: ডাটাবেজে যেভাবে ডাটা জমা করব(গ্রাফিক্যালি)
- পিএইচপি মাইএসকিউএল [পর্ব-২] :: এইচটিএমএল এ ফর্ম তৈরি, ডাটাবেজ ও টেবিল তৈরির কৌশল
এই পর্যন্ত আমরা কি কি শিখলাম?
- ডাটাবেজ তৈরি করা (গ্রাফিক্যালি)
- টেবিল তৈরি করা (গ্রাফিক্যালি)
- এইচটিএমএল ফর্ম ডিজাইন করা
- পিএইচপি’র দ্বারা মাইএসকিউএল কে কানেক্ট করা
- ডাটাবেজের টেবিলে ডাটা প্রবেশ করানোর কৌশল
এই টিউনে কি কি থাকবে?
- ডাটাবেজের টেবিল থেকে ডাটা সংগ্রহ করার কৌশল
- প্রয়োজনীয় স্ক্রীনশট
- কোডিং
- কোডিং এর ব্যাখ্যা
শুরু করা যাকঃ
পূর্বের টিউনগুলো যদি আমাদের পড়া হয়ে থাকে আর মোটামুটি বুঝে থাকি, তাহলে আমাদের বেশি কষ্ট করতে হবে না। পূর্বের টিউনগুলো অবশ্যই পড়তে হবে কারণ এখানে আমরা ডাটাবেজ তৈরি করা দেখাবো না বরং আমরা ডাটাবেজের টেবিল থেকে ডাটা সংগ্রহ কিভাবে করতে হয় সেটা দেখব।১. কাজ শুরু আগে কাজের ফলাফল আগে দেখে নিলে ভাল হয়। তাই তাড়াতাড়ি ইনফরমেশন ফাইল লেখাতে ক্লিক করে ফাইলটি ডাউনলোড করে নিলে ভাল হয়। পাসওয়ার্ড ০১৯২১৬৬৯৮৯৮।
২. ফাইলটি ওপেন করলে দুটি ফাইল পাওয়া যাবে
- information_page.html
- show_information_process.php
৩. নীচের মতো ওপেন হবে।
৪. 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 নামটি কপি বা ব্রাউজারে টাইপ করে এন্টার চাপলেই পেজটি রান হবে এবং আমরা ফলাফল দেখতে পাব।
<?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 লুপ লেখার নিয়ম হলঃ
শর্ত পূরণ হলে যে কাজ করবে;
}
এখানে শর্ত দেওয়া হয়েছে তাহলো, “যতক্ষণ পর্যন্ত mysql_fetch_array( ) ফাংশন ব্যবহার করে টেবিলে ডাটা পাবে তা $rowsভ্যারিয়েবল এর মধ্যে স্টোর করবে”। যদি এই শর্ত পূরণ হয় তাহলে $rowsমধ্যে স্টোরকৃত ডাটাগুলো প্রিন্ট করতে থাকবে।
এখানে লক্ষণীয় বিষয় হল, ডাটাবেজের টেবিলের কলামে ফিল্ডে যে নাম গুলো ব্যবহার করা হয়েছে সেই নাম গুলোই এখানে ব্যবহার করতে হবে।
- শেষে Back to Information Page লেখাকে information_page.html ফাইলের সাথে লিংক করা হয়েছে। Back to Information Page লেখাতে ক্লিক করলে information_page.html পেজটি ওপেন হবে।
সমালোচনাঃ এখানে কতগুলো বিষয় লক্ষণীয়
- এইচটিএমএল কোডিং ব্যাখ্যা করা হয়েছে।
- show_information_process.php ফাইলে এইচটিএমএল এর কিছু কোড লিখা হয়েছে, বাস্ততার কারনে ব্যাখ্যা করা সম্ভব হয়নি।
বিশেষ দ্রষ্টাব্যঃ
১. যে কেউ লেখা শেয়ার করতে পারবেন তবে নিজের নাম বলে চালিয়ে দিবেন না। যদি কোন বিষয় বুঝতে সমস্যা হয় তাহলে কমেন্ট বক্সে লিখুন।২.যদি আমার লেখা বুঝতে সমস্যা হয় তবে জানালে খুশি হব।
৩. আপনাদের ভাল লাগলে পরবর্তী টিউন হবে...
পরবর্তী টিউনঃ পিএইচপি মাইএসকিউএল [পর্ব-৪] :: ডাটাবেজের ডাটা খুঁজে বের করা
লেখকঃ এ.এম. রবিউল ইসলাম
0 মন্তব্য(গুলি)
একটি মন্তব্য পোস্ট করুন