জেকুয়্যেরি(jQuery) মোবাইল গ্রিড (jQuery Mobile Grids)

জেকুয়্যেরি(jQuery) মোবাইল গ্রিড (jQuery Mobile Grids)
মো: আসাদুজ্জামান (Md. Asaduzzaman)
ফ্রিল্যান্সার (ওয়েব ডিজাইনার এবং ডেভেলপার।)

জেকুয়্যেরি(jQuery) মোবাইল গ্রিডের বিন্যাস

jQuery মোবাইল সিএসএস ভিত্তিক একটি সেট কলামের বিন্যাস প্রদান করে। তবে, কলামের বিন্যাস সাধারণত মোবাইল এর জন্য নির্ধারিত নয়, এটি মোবাইল স্ক্রিন এর প্রস্থ এর উপর নির্ভর করে।
কিন্তু এখানে আরও উপায় আছে যদি আপনি ছোট এলিমেন্ট পোজিশন করতে চান, যেমন বাটন অথবা নেভিগেশন ট্যাব, পাশাপাশি যদি এটি টেবিল এর মধ্যে থাকে।তখন, কলাম সঠিক হবে।

একটি গ্রিড এর মধ্যে কলাম এর প্রস্থের সমান (এবং ১০০% প্রস্থ সর্বমোট), কোন বর্ডার, ব্যাকগ্রাউন্ড, মার্জিন অথবা প্যাডিং ছাড়া।
পাঁচটি গ্রিডের বিন্যাস আছে যা ব্যবহার করা যেতে পারে:

Grid Class Columns Column Widths Corresponds To Example
ui-grid-solo 1 100% ui-block-a Try it

ui-grid-a 2 50% / 50% ui-block-a|b Try it

ui-grid-b 3 33% / 33% / 33% ui-block-a|b|c Try it

ui-grid-c 4 25% / 25% / 25% / 25% ui-block-a|b|c|d Try it

ui-grid-d 5 20% / 20% / 20% / 20% / 20% ui-block-a|b|c|d|e Try it

কলাম কন্টেইনারের ভেতরে, চাইল্ড এলিমেন্ট এ ui-block-a|b|c|d|e ক্লাসগুলো থাকতে পারে, এটি নির্ভর করে কলামের সংখ্যার উপর। কলামগুলো পাশাপাশি অবস্থান করবে।

উদাহরণ ১: ui-grid-a ক্লাসের জন্য (যেটি দুই কলামের লেআউট), আপনাকে অবশ্যই দুটি চাইল্ড এলিমেন্ট উল্লেখ করতে হবে ui-block-a এবং ui-block-b ।

উদাহরণ 2: ui-grid-b ক্লাসের জন্য (তিন কলামের লেআউট), তিনটি চাইল্ড এলিমেন্ট উল্লেখ করতে হবে ui-block-a, ui-block-b এবং ui-block-c।

গ্রিডের কাস্টমাইজ করুন (Customize Grids)

আপনি সিএসএস (CSS) ব্যবহার করে আপনার কলাম ব্লক কাস্টমাইজ করতে পারেন:

উদাহরণ:
<style>
.ui-block-a, .ui-block-b, .ui-block-c {
background-color: lightgray;
border: 1px solid black;
height: 100px;
font-weight: bold;
text-align: center;
padding: 30px;
}
</style>

এটা নিজে চেষ্টা করে দেখুন

আপনি ইনলাইন স্টাইল ব্যবহার করে আপনার ব্লক কাস্টমাইজ করতে পারেন:
1px solid black;”>Text..

একাধিক সারি (Multiple Rows)

এটির মাধ্যমে আপনার কলাম ভিতরে একাধিক সারি করা সম্ভব.

দ্রষ্টব্য: ui-block-a ক্লাস সবসময় একটি নতুন লাইন তৈরী করবে।

উদাহরণ:
<div class=”ui-grid-b”>
<div class=”ui-block-a”><span>Some Text</span></div>
<div class=”ui-block-b”><span>Some Text</span></div>
<div class=”ui-block-c”><span>Some Text</span></div>
<div class=”ui-block-a”><span>Some Text</span></div>
<div class=”ui-block-b”><span>Some Text</span></div>
<div class=”ui-block-a”><span>Some Text</span></div>
</div>
এটা নিজে চেষ্টা করে দেখুন

রেসপনসিভ গ্রিডস্ (Responsive Grids)

ছোট স্ক্রিন এ, একটি সারিতে পাশাপাশি টেক্সট সহ অনেক বাটন না দেওয়াতে উদ্বুদ্ধ করা হয়, এতে টেক্সট সর্টেনড (shortened) হয়ে যায়।

রেসপনসিভ গ্রিডের জন্য, ui-responsive ক্লাস কন্টেইনার এ যোগ করুন:

Example
<div class=”ui-grid-b ui-responsive”>

এটা নিজে চেষ্টা করে দেখুন

জাভাস্ক্রিপ্ট অপারেটরস (JavaScript Operators)

জাভাস্ক্রিপ্ট অপারেটরস (JavaScript Operators)

উদাহরণ
দুটি ভ্যালুকে variable হিসেবে ঘোষণা করে তাদের যোগ করা হয়েছে
var x = 5; // এইখানে ৫ কে x ঘোষণা করা হয়েছে
var y = 2; // এইখানে ২ কে y ঘোষণা করা হয়েছে
var z = x + y; // ফলাফল ৭ কে z = x + y এর মাধ্যমে ঘোষণা করা হয়েছে

 

JavaScript Arithmetic Operators

+ যোগ
– বিয়োগ
* গুন
/ ভাগ
% Modulus
++ Increment (বাড়া)
— Decrement (কমা)

Addition অপারেটর(+) ভ্যালু যোগ করে
যোগ

var x = 5;
var y = 2;
var z = x + y;

subtract অপারেটর (-) বিয়োগ করে

subtracting

var x = 5;
var y = 2;
var z = x – y;

multiplication অপারেটর (*) ভ্যালু গুন করে

Multiplying

var x = 5;
var y = 2;
var z = x * y;

division অপারেটর (/) ভ্যালু ভাগ করে

dividing

var x = 5;
var y = 2;
var z = x / y;

modulus অপারেটর (%) ভাগের পর ভাগশেষ ডিসপ্লে করে

Modulus

var x = 5;
var y = 2;
var z = x % y;

increment (++) অপারেটর ভ্যালু বাড়ায়

Incrementing

var x = 5;
x++;
var z = x;

Decrement (–) অপারেটর ভ্যালু কমায়

decrementing

var x = 5;
x–;
var z = x;

 

javascript Assignment অপারেটর

অপারেটর এর উদাহরণ একইরকম

= x = y x = y
+= x += y x = x + y
-= x -= y x = x – y
*= x *= y x = x * y
/= x /= y x = x / y
%= x %= y x = x % y

(=) assignment অপারেটর একটি ভ্যালুকে variable এ ঘোষণা করে

var x = 10;

(+=)assignment অপারেটর variable এর ভ্যালুকে যোগ করে

var x = 10;
x += 5;

(-=)assignment অপারেটর variable এর ভ্যালুকে বিয়োগ করে

var x = 10;
x -= 5;

(*=)assignment অপারেটর variable কে গুন করে

var x = 10;
x *= 5;

(/=)assignment অপারেটর variable কে ভাগ করে

var x = 10;
x /= 5;

(%=)assignment অপারেটর ভাগ করার পর ভাগশেষ বের করে

var x = 10;
x %= 5;

javascript strings অপারেটর

স্ট্রিং কে যোগ করতে + অপারেটর ব্যবহার করা হয়। এটিকে concatenation অপারেটর বলা হয়
উদাহরণ
একসাথে অনেকগুলো স্ট্রিং যোগ করার ক্ষেত্রে এই অপারেটর ব্যবহার করা হয়

txt1 = “What a very”;
txt2 = “nice day”;
txt3 = txt1 + txt2;

ফলাফল

What a verynice day

স্পেস যোগ করার জন্য প্রথম স্ট্রিং এ ফাকা বা স্পেস দিতে হবে
উদাহরণ

txt1 = “What a very “;
txt2 = “nice day”;
txt3 = txt1 + txt2;

ফলাফল

What a very nice day

অথবা একটি স্পেস expression হিসেবে দিতে হবে
উদাহরণ

txt1 = “What a very”;
txt2 = “nice day”;
txt3 = txt1 + ” ” + txt2;

ফলাফল

What a very nice day

+= অপারেটর দিয়েও concatenation স্ট্রিং এর কাজ করা যায়
উদাহরণ

txt1 = “What a very “;
txt1 += “nice day”;

ফলাফল

What a very nice day

 

স্ট্রিং এবং নাম্বার যোগ করা

দুইটি নাম্বার যোগ করলে যোগফল পাওয়া যাবে কিন্তু নাম্বার এবং স্ট্রিং যোগ করলে একটি স্ট্রিং পাওয়া যাবে
উদাহরণ

x = 5 + 5;
y = “5” + 5;
z= “Hello” + 5;

x,y,z এর ফলাফল হবে

10
55
Hello5

জাভাস্ক্রিপ্ট কমেন্ট (JavaScript Comments)

জাভাস্ক্রিপ্ট মন্তব্য (কমেন্ট) (JavaScript Comments)

জাভাস্ক্রিপ্ট comments জাভাস্ক্রিপ্ট কোড ব্যাখ্যা করতে, এবং এটি আরো পাঠযোগ্য করতে ব্যবহার করা হয়।
জাভাস্ক্রিপ্ট comment , execution দূর করে যখন বিকল্প কোড পরীক্ষা করা হয় ।

Single Line Comments

Single line comments // দিয়ে শুরু হয় ।

কোনো টেক্সট // এবং একটি লাইন শেষ হয়ে যাবে তার মধ্যে জাভাস্ক্রিপ্ট দ্বারা উপেক্ষা করা হবে
(will not be executed)

কোড ব্যাখ্যা করতে এই উদাহরনে প্রত্যেক লাইনের এর পূর্বে single line comment ব্যবহার করা হয়

উদাহরনঃ


// Change heading:
document.getElementById(“myH”).innerHTML = “My First Page”;
// Change paragraph:
document.getElementById(“myP”).innerHTML = “My first paragraph.”;


 

 

কোড ব্যাখ্যা করতে এই উদাহরনে প্রত্যেক লাইনের এর শেষে single line comment ব্যবহার করা হয়

উদাহরনঃ


var x = 5;        // Declare x, give it the value of 5
var y = x + 2;    // Declare y, give it the value of x + 2

এখানে x , ৫ এর মান নির্দেশ করে

এবং Y , x + 2 এর মান নির্দেশ করে

 

Multi-line Comments

Multi-line comments /* দিয়ে শুরু হয় এবং */ দিয়ে শেষ হয় ।

কোনো টেক্সট এর মধ্যে / * এবং * / জাভাস্ক্রিপ্ট দ্বারা উপেক্ষা করা হবে ।

কোড ব্যাখ্যা করতে , এই উদাহরনে a multi-line comment ব্যবহার করা হয়েছে

উদাহরনঃ


/*
The code below will change
the heading with id = “myH”
and the paragraph with id = “myP”
in my web page:
*/
document.getElementById(“myH”).innerHTML = “My First Page”;
document.getElementById(“myP”).innerHTML = “My first paragraph.”;


 

 

কোড কার্যকর করা প্রতিরোধ করতে মন্তব্য (কমেন্ট) এর ব্যবহার

কোড কার্যকর করা প্রতিরোধ করতে মন্তব্য (কমেন্ট) ব্যবহার করা যায়, এটি কোড পরীক্ষার সময় ব্যবহার করা যেতে পারে।

একটি কোড লাইন সামনে // যোগ করলে, কোড লাইন এক্সিকিউটেবল লাইন থেকে  comment এ পরিবর্তন হয়ে যায়।

এই উদাহরষণ কোড এর একটি লাইন কার্যকর হওয়া প্রতিরোধ করার জন্য  // ব্যবহার করা হয়েছে।

উদাহরনঃ


//document.getElementById(“myH”).innerHTML = “My First Page”;
document.getElementById(“myP”).innerHTML = “My first paragraph.”;


 

 

এই উদাহরণ Comment Block এর মাধ্যমে একাধিক লাইন কার্যকারিতা প্রতিরোধ করে।

উদাহরনঃ


/*
document.getElementById(“myH”).innerHTML = “My First Page”;
document.getElementById(“myP”).innerHTML = “My first paragraph.”;
*/


 

 

ধন্যবাদ, আশা করি বিষয়টি সকলেই বুঝতে পেরেছেন 🙂

জাভাস্ক্রিপ্ট কোথায় কিভাবে লিখবেন (JavaScript Where To)

জাভাস্ক্রিপ্ট কোথায় কিভাবে লিখবেন (JavaScript Where To)

এইচটিএমএল পেজ এর মধ্যে javascript কে হেড এবং বডি সেকশন এ রাখতে হয়।

<script> ট্যাগ

এইচটিএমএল এ javascript কোড অবশ্যই <script> এবং </script> ট্যাগ এর মধ্যে লিখতে হয়।

উদাহরণ


<script>
document.getElementById(“demo”).innerHTML = “My First JavaScript”;
</script>


পুরাতন উদাহরণ গুলোতে টাইপ attribute পাওয়া যেতে পারে:  <script type=”text/javascript”>
কিন্তু নতুনগুলোতে এইচটিএমএল এর মধ্যে javascript ডিফল্ট language হিসেবে থাকে।

Javascript ফাংশন এবং ইভেন্ট

Javascript ফাংশন হল একটি javascript এর ব্লক কোড। যখন তাকে চাওয়া হবে তখন সে কাজ করবে উদাহরণস্বরূপ যখন একটি ইভেন্ট এর সময় আসবে তখন সে কাজ করবে যেমন কোন ইউজার কোন নির্দিষ্ট বাটন ক্লিক করার পর কাজ হবে।

Jvascript <heat> বা <body> এর মধ্যে থাকবে

html ডকুমেন্ট এ যেকোন সংখ্যক বার script রাখা যাবে। script <body> বা <hect> বা উভয় স্থানেই রাখতে পারেন।

তবে সবথেকে ভাল হল সকল কোড এক জায়গায় রাখা

Javascript <heat> সেকশন এ রাখা

এই উদাহরণ এ javascript কে head সেকশন এ রাখা হয়েছে। এটি একটি বাটন এ ক্লিক করার পর কাজ করবে।
উদাহরণ


<!DOCTYPE html>
<html>
<head>
 <script>
 function myFunction() {
     document.getElementById("demo").innerHTML = "Paragraph changed.";
 }
 </script>
 </head>
<body>
<h1>My Web Page</h1>
<p id="demo">A Paragraph</p>
<button type="button" onclick="myFunction()">Try it</button>
</body>
 </html>

ফলাফল


JavaScript in Body

A Paragraph.


 

Javascript <body> সেকশন এ রাখা

এই উদাহরণ এ javascript কে body সেকশন এ রাখা হয়েছে। একটি বাটন এ ক্লিক করার পর কাজ হবে
উদাহরণ


 

<!DOCTYPE html>
 <html>
 <body> 

<h1>My Web Page</h1>
 
<p id="demo">A Paragraph</p>
 
<button type="button" onclick="myFunction()">Try it</button>
 
<script>
 function myFunction() {
    document.getElementById("demo").innerHTML = "Paragraph changed.";
 }
 </script>
 
</body>
 </html>

 

ফলাফল


My Web Page

A Paragraph


সবথেকে ভাল উপায় হল body এলিমেন্ট এর নিচের দিকে javascript কোড কে রাখা। এতে পেজ ভালভাবে লোড হবে, কেননা ‍HTML লোড হওয়া script ত্রুটির কারণে বন্ধ হবে না।

External javascript

External ফাইল এর মধ্যে script কে রাখতে হয়। এই ফাইল এর এক্সটেনশন হল .js. external script ব্যবহার করতে চাইলে এই script ফাইল এর নাম
tag এর মধ্যে source attribute (src) দিয়ে লিখতে হয়।
উদাহরণ


 

<!DOCTYPE html>
<html>
 <body>
 <script src="myScript.js"></script>
 </body>
 </html>

External script আপনি বডি বা হেড যেকোনো জায়গায় রাখতে পারেন। যদি সঠিক পাথ অনুযায়ী এই ফাইল থাকে তাহলেই এটি কাজ করবে। এক্সটারনাল script এর মধ্যে কোন
ট্যাগ থাকে না।

এক্সটারনাল javascript এর সুবিধা

ইহা এইচটিএমএল এবং কোড কে আলাদা রাখে, এইচটিএমএল এবং javascript কে পরতে এবং রক্ষণাবেক্ষণ করতে আরও সহজ হয়। Cached javascript ফাইল পেজ কে দ্রুত লোড করতে সাহায্য করে।

 

মাইএসকিউএল এ পিএইচপি সংযোগ (PHP Connect to MySQL)

মাইএসকিউএল এ পিএইচপি সংযোগ

নয়ন চন্দ্র দত্ত

কি খবর সবার? সবাই ভালতো । আজ আমি অনেক গুরুত্বপুর্ণ একটা বিষয় মাইএসকিউএল এ পিএইচপি সংযোগ নিয়ে বিস্তারিত আলোচনা করবো । মাইএসকিউএল এ কীভাবে পিএইচপি সংযোগ করতে হয় তা আজ আমরা দেখব। তাহলে চলুন শুরু করা যাক …।

পিএইচপি 5 এবং পরে্র একটি মাইএসকিউএল ডাটাবেস ব্যবহার করে কাজ করতে পারেন। যেমন-

  • MySQLi extension (“i” দিয়ে উন্নততর বোঝায়)
  • PDO (পিএইচপি ডাটা অবজেক্টস)

পিএইচপি এর আগের ভার্সনে মাইএসকিউএল এক্সটেনশন ব্যবহার করা হত। যাইহোক, এই এক্সটেনশন 2012 সালে অবাঞ্চিত হয়েছে ।

এখন প্রশ্ন হচ্ছে, আমি কী MySQLi বা PDO ব্যবহার করতে পারব?

যদি আপনার একটি সংক্ষিপ্ত উত্তর প্রয়োজন হয়, তাহলে এটি হতে পারে “আপনি কি পছন্দ করেন” ।

MySQLi এবং PDO তাদের উভয়েরই সুবিধা আছে।

PDO 12টি বিভিন্ন ডাটাবেস সিস্টেম কাজ করে এবং MySQLi শুধুমাত্র মাইএসকিউএল উপাত্ত সঙ্গে কাজ করে।

যদি আপনি অন্য ডাটাবেস ব্যবহার করার জন্য আপনার প্রকল্প switch করতে চান তাহলে PDO প্রক্রিয়াটি সহজ করে তোলে। আপনার শুধুমাত্র সংযোগ স্ট্রিং এবং কয়েকটি queries পরিবর্তন করতে হবে। MySQLi দিয়ে আপনি সম্পূর্ণ কোড পুনর্লিখন করতে হবে – প্রশ্ন অন্তর্ভুক্ত হয়েছে।

উভয় বস্তু ভিত্তিক হয়, কিন্তু MySQLi একটি পদ্ধতিগত API- অফার করে।

প্রস্তুত বিবৃতি এসকিউএল ইনজেকশন থেকে রক্ষা করে এবং তা ওয়েব অ্যাপ্লিকেশন নিরাপত্তার জন্য খুবই গুরুত্বপূর্ণ ।

MySQLi এবং PDO সিনট্যাক্স উভয় মাইএসকিউএল এর উদাহরণ

নিম্নলিখিত অধ্যায়গুলির মধ্যে আমরা পিএইচপি এবং মাইএসকিউএল দিয়ে কাজ করার তিনটি উপায় দেখাবঃ

  • MySQLi (অবজেক্ট ওরিয়েন্টেড)
  • MySQLi (পদ্ধতিগত)
  • PDO

MySQLi ইনস্টলেশন

লিনাক্স এবং উইন্ডোজ জন্য: PHP5 মাইএসকিউএল প্যাকেজ ইনস্টল করা থাকলে অধিকাংশ ক্ষেত্রে MySQLi এক্সটেনশন স্বয়ংক্রিয়ভাবে ইনস্টল হয়ে যায়।

ইনস্টলেশন সংক্রান্ত বিস্তারিত বিবরণ এর জন্য ভিজিট করতে পারেন http://php.net/manual/en/mysqli.installation.php

PDO ইনস্টলেশন

ইনস্টলেশন সংক্রান্ত বিস্তারিত বিবরণ এর জন্য ভিজিট করতে পারেন http://php.net/manual/en/pdo.installation.php

মাইএসকিউএল এ একটি সংযোগ খুলুন

MySQL ডাটাবেসের মধ্যে তথ্য অ্যাক্সেস করার পূর্বে আমাদের সার্ভারের সাথে সংযোগ করতে হবে।

উদাহরণ ( MySQLi অবজেক্ট ওরিয়েন্টেড):


<?php
 $servername = "localhost";
 $username = "username";
 $password = "password";
 
 // Create connection
 $conn = new mysqli($servername, $username, $password);
 
 // Check connection
 if ($conn->connect_error) {
     die("Connection failed: " . $conn->connect_error);
 } 
 echo "Connected successfully";
 ?>

 

*** উপরে অবজেক্ট ওরিয়েন্টেড উদাহরণ দ্রষ্টব্য: $ connect_error পিএইচপি 5.2.9 এবং 5.3.0 পর্যন্ত Broken ছিল.
আপনার পূর্বের 5.2.9 এবং 5.3.0 পিএইচপি সংস্করণের সাথে সামঞ্জস্য নিশ্চিত করা প্রয়োজন হলে, পরিবর্তে নিম্নলিখিত কোড ব্যবহার করুন:


<?php
 $servername = "localhost";
 $username = "username";
 $password = "password";
 
 // Create connection
 $conn = new mysqli($servername, $username, $password);
 
 // Check connection
 if ($conn->connect_error) {
     die("Connection failed: " . $conn->connect_error);
 } 
 echo "Connected successfully";
 ?>

 

উদাহরণ (প্রথাগত MySQLi )


<?php
 $servername = "localhost";
 $username = "username";
 $password = "password";
 
 // Create connection
 $conn = mysqli_connect($servername, $username, $password);
 
 // Check connection
 if (!$conn) {
     die("Connection failed: " . mysqli_connect_error());
 }
 echo "Connected successfully";
 ?>

 

উদাহরণ ( PDO )


<?php
 $servername = "localhost";
 $username = "username";
 $password = "password";
 
 try {
     $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
     // set the PDO error mode to exception
     $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     echo "Connected successfully"; 
     }
 catch(PDOException $e)
     {
     echo "Connection failed: " . $e->getMessage();
     }
 ?>

 

***উপরের PDO উদাহরণে লক্ষ্য করুন আমরা একটি ডাটাবেস নির্দিষ্ট করেছি ( myDB ) । PDO সংযোগ স্থাপনের জন্য একটি কার্যকর ডাটাবেস প্রয়োজন হয়। যদি কোন ডাটাবেস উল্লেখিত না থাকে তবে একটি ব্যতিক্রম নিক্ষিপ্ত হয়।

সংযোগ বন্ধ করুন

সংযোগ স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যাবে যখন স্ক্রিপ্ট শেষ হবে। সংযোগ বন্ধ করার পূর্বে নিম্নলিখিত কাজগুলো অণুসরণ করুনঃ

উদাহরণ (MySQLi অবজেক্ট ওরিয়েন্টেড)


$conn->close();

 

উদাহরণ (প্রথাগত MySQLi)


mysqli_close($conn);

 

উদাহরণ (PDO)


$conn = null;

 

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

 

MongoDB Projection

MongoDB প্রজেকশন
নয়ন চন্দ্র দত্ত

MongoDB প্রজেকশন
MongoDB প্রজেকশনের অর্থ হচ্ছে একটি ডকুমেন্টের সকল তথ্য নির্বাচন না করে বরং শুধুমাত্র প্রয়োজনীয় তথ্য নির্বাচন করা। যদি একটি ডকুমেন্টের ৫টি ক্ষেত্র থাকে এবং আপনার ৩টি দেখানোর প্রয়োজন হয় তাহলে এদের মধ্য
থেকে শুধু ৩টি সিলেক্ট করুন।

find() পদ্ধতি
MongoDB এর find() পদ্ধতি নিয়ে আগের টিউটোরিয়ালে আলোচনা (দ্বিতীয় অপশনাল প্যারামিটার বাদে) করা হয়েছে। আপনি যখন MongoDB তে find() পদ্ধতি সম্পাদন করেন তখন একটি ডকুমেন্টের সব ক্ষেত্র প্রদর্শন করে।
এটিকে সীমাবদ্ধ করার জন্য আপনার মান 1 বা 0 ক্ষেত্র-তালিকা সেট করার প্রয়োজন হবে। ১ ক্ষেত্র প্রদর্দন করার জন্য এবং ০ ক্ষেত্র আড়াল করতে ব্যবহার করা হয়।

সিনট্যাক্স:
প্রজেকশন দিয়ে বেসিক সিনট্যাক্স বা বাক্য গঠন () পদ্ধতি নিম্নরূপঃ

>db.COLLECTION_NAME.find({},{KEY:1})

উদাহরণ
নিম্নলিখিত কালেকশন myycol তথ্য পর্যালোচনা করুনঃ

{ “_id” : ObjectId(5983548781331adf45ec5), “title”:”MongoDB Overview”}
{ “_id” : ObjectId(5983548781331adf45ec6), “title”:”NoSQL Overview”}
{ “_id” : ObjectId(5983548781331adf45ec7), “title”:”Tutorials Point Overview”}

ডকুমেন্ট quering এর সময় নিম্নলিখিত উদাহরণে ডকুমেন্টের টাইটেল প্রদর্শন করবেঃ

>db.mycol.find({},{“title”:1,_id:0})
{“title”:”MongoDB Overview”}
{“title”:”NoSQL Overview”}
{“title”:”Tutorials Point Overview”}
>

দয়া করে নোট করে রাখুন- find() পদ্ধতি নির্বাহের সময় _id field সবসময় প্রদর্শন করে। যদি আপনি এই ক্ষেত্রটি না চান তাহলে আপনাকে এটি 0 সেট করতে হবে।

MongoDB Overview. MongoDB এর সংক্ষিপ্ত বিবরণ

MongoDB এর সংক্ষিপ্ত বিবরণ
নয়ন চন্দ্র দত্ত

MongoDB একটি ক্রস প্ল্যাটফর্ম এবং ডকুমেন্ট ভিত্তিক ডেটাবেস যা উচ্চ কার্যকারিতা, উচ্চ প্রাপ্যতা এবং সহজ কর্মপরিধি বৃদ্ধির উদ্দেশ্য উপলব্ধি করায়। MongoDB সংগ্রহ এবং ডকুমেন্টবিষয়ক ধারণায় কাজ করে।

ডেটাবেস
ডেটাবেস কালেকশনের জন্য একটি শারীরিক ধারক। ফাইল সিস্টেমে প্রতিটি ডেটাবেস ফাইলের নিজস্ব সেট পায়। একটি একক MongoDB সার্ভারের সাধারণত একাধিক ডেটাবেস থাকে।

কালেকশন
কালেকশন হচ্ছে MongoDB ডকুমেন্টের একটি গ্রুপ। এটি একটি RDBMS টেবিলের সমতুল্য। একটা কালেকশন একটি একক ডেটাবেসের মধ্যে বিদ্যমান থাকে। কালেকশন কখনও কোন স্কিমা বা পরিকল্পনা জোরদার করে না।
একটি কালেকশনের মধ্যে ডকুমে্সন্টের বিভিন্ন ক্ষেত্র থাকতে পারে। সাধারণত, একটি কালেকশনের সব ডকুমেন্ট অনুরূপ বা সংশ্লিষ্ট উদ্দেশ্যবিশিষ্ট হয়ে থাকে।

ডকুমেন্ট
ডকুমেন্ট হচ্ছে কী-মান জোড়ার একটি সেট। ডকুমেন্টের গতিশীল স্কিমা আছে। গতিশীল স্কিমা বলতে একই কালেকশনের মধ্যের সব ডকুমেন্টের একই ক্ষেত্র বা কাঠামো জোড়ার প্রয়োজন নেই।
কালেকশন ডকুমেন্টের মধ্যে একটি সাধারণ ক্ষেত্র বিভিন্ন ধরনের তথ্য জমা রাখতে পারে।
নিচে MongoDB এর সাথে RDBMS টেকনোলজির সম্পর্ক দেখানো হলঃ

RDBMS: ডেটাবেস
RDBMS: ডেটাবেস

RDBMS: টেবিল
RDBMS: কালেকশন

RDBMS: Tuple / সারি
RDBMS: ডকুমেন্ট

RDBMS: কলাম
RDBMS: ক্ষেত্র

RDBMS: টেবিল জয়েন
RDBMS: এমবেডেড ডকুমেন্টস

RDBMS: প্রাথমিক কী
RDBMS: প্রাথমিক কী ( ডিফল্ট কি _id যা MongoDB দ্বারা যোগান হয় )

ডাটাবেস সার্ভার ও ক্লায়েন্ট

RDBMS: Mysqld / ওরাকল
RDBMS: mongod

RDBMS: মাইএসকিউএল / sqlplus
RDBMS: mongo

নমুনা ডকুমেন্ট
উল্লিখিত নীচের উদাহরণে একটি ব্লগ সাইটের ডকুমেন্টের গঠন দেখানো হয়েছে যেখানে কেবলমাত্র একটি কমা দিয়ে কী-মান জোড়াকে পৃথক করা হয়েছেঃ

{
_id: ObjectId(7df78ad8902c)
title: ‘MongoDB Overview’,
description: ‘MongoDB is no sql database’,
by: ‘tutorials point’,
url: ‘http://www.tutorialspoint.com’,
tags: [‘mongodb’, ‘database’, ‘NoSQL’],
likes: 100,
comments: [
{
user:’user1′,
message: ‘My first comment’,
dateCreated: new Date(2011,1,20,2,15),
like: 0
},
{
user:’user2′,
message: ‘My second comments’,
dateCreated: new Date(2011,1,25,7,45),
like: 5
}
]
}

_id একটি 12 বাইটের হেক্সাডেসিমেল সংখ্যা যা প্রতিটি ডকুমেন্টের স্বতন্ত্রতা বজায় রাখে। ডকুমেন্ট ডুকানোর সময় _id দিতে পারেন। যদি আপনি দিতে না চান তবে MongoDB প্রতিটি ডকুমেন্টের জন্য একটি ইউনিক আইডি প্রদান করবে।
এই 12 বাইট প্রথম 4 বাইট বর্তমান টাইমস্ট্যাম্প এর জন্য, পরবর্তী 3 বাইট মেশিন আইডির জন্য, পরবর্তী 2 বাইট MongoDB সার্ভারের প্রক্রিয়াকরণ ID এর জন্য এবং বাকী ৩ বাইট হচ্ছে সহজ ক্রমবর্ধমান মান।

এইচটি এম এল এর উপাদান সমূহ (HTML Elements)

এইচটি এম এল এর উপাদান সমূহ (HTML Elements)

Md. Atik Hasan

Webpage Design & Developer

 

এইচটিএমএএল এলিমেন্ট (HTML Element):

এইচটিএমএএল এলিমেন্ট (Element) দ্বারাই HTML Document বর্ণনা করা হয়। একটি HTML Document – এর চারটি মৌলিক Element থাকে। যথাঃ html, head, title, body।

এছাড়াও আরও অনেক Element রয়েছে।

HTML Element শুরু হয় Opening tag (<html>) দিয়ে এবং শেষ হয় closing tag (</html>) দিয়ে।

Opening tag এবং closing tag এর মাঝখানে যা থাকে তাই হচ্ছে Element।

যেমনঃ

 


<p>This is Element</p>

<h1>This is also an Element<h1>

<title>This is an element too</title>


 

 ফলাফল


This is Element

This is also an Element

This is an element too


 

Nested HTML Element:

Nested HTML Element হল একটি এলিমেন্ট এর আন্ডারে আরও এলিমেন্ট থাকা।

যথাঃ


<html>

<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>

</html>


 

 

ফলাফল


My First Heading

My first paragraph.


 

এই উদাহরণে দেখা যাচ্ছে যে html এলিমেন্টের মাঝে body এলেমেন্ট রয়েছে।

<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>

এবং body এলিমেন্টের এর মাঝে আরও দুইটি এলেমেন্ট p এবং h1 রয়েছে।

<h1>My First Heading</h1>
<p>My first paragraph.</p>

 

Empty HTML Element:

যে সকল এলেমেন্টের কোন কন্টেন্ট থাকে না তাদেরকে Empty element বলা হয়।

<br> হচ্ছে একটি empty element যার কোন closing tag নাই।

 

HTML Element- এর বৈশিষ্ট্যঃ

  • Start/Opening tag দিয়ে শুরু হয়।
  • End/Closing tag দিয়ে শেষ হয়।
  • Start tag এবং End tag এর মাঝে Element থাকে।
  • কিছু ক্ষেত্রে Element Content নাও থাকতে পারে।
  • কিছু Element এর End/closing ট্যাগ নাও থাকতে পারে।
  • Empty Element start ট্যাগের মাঝে শেষ করা হয়।

 

পিএইচপি ৫ গ্লোবাল ভেরিয়েবলস (PHP 5 Global Variables – Superglobals)

Superglobals যা কিনা সবসময় অ্যাক্সেস করা যায়। যেকোনো ক্লাস, ফাইল, অথবা ফাংশন এ এই superglobals অ্যাক্সেস করা যায় কোন কিছুর সাহায্য ছারাই।

এই variable গুলো হল

  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

 

$GLOBALS

$GLOBALS একটি পিএইচপি এর গ্লোবাল variable যা পিএইচপি script এর যেকোনো জায়গায় গ্লোবাল variables গুলোকে অ্যাক্সেস করতে সাহায্য করে। পিএইচপি সমস্ত গ্লোবাল variable গুলোকে একটি array এর মধ্যে জমা করে $GLOBALS[index]। থার্ড বন্ধনীর মধ্যে লেখা index হল variable এর একটি নাম।

$GLOBALS ব্যবহার করে একটি উদাহরণ


<?php 
 $x = 75; 
 $y = 25;
  
 function addition() { 
     $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; 
 }
  
 addition(); 
 echo $z; 
 ?>

যার ফলাফল হবে ১০০। global array এর মধ্যে একটি variable যা কিনা ফাংশন এর বাইরেও অ্যাক্সেস করা যায়।

 

PHP S_SERVER

$_SERVER পিএইচপি এর একটি সুপার গ্লোবাল variable যা script এর অবস্থান, headers, paths এই বিষয়গুল ধারণ করে।

একটি উদাহরণ যদি লক্ষ্য করি


<?php 
 echo $_SERVER['PHP_SELF'];
 echo "<br>";
 echo $_SERVER['SERVER_NAME'];
 echo "<br>";
 echo $_SERVER['HTTP_HOST'];
 echo "<br>";
 echo $_SERVER['HTTP_REFERER'];
 echo "<br>";
 echo $_SERVER['HTTP_USER_AGENT'];
 echo "<br>";
 echo $_SERVER['SCRIPT_NAME'];
 ?>

 

$_SERVER এর কিছু গুরুত্বপূর্ণ elements

$_SERVER[‘PHP_SELF’] বর্তমানে গণনাকৃত script এর নামটি পেতে এই element ব্যবহার করা হয়।
$_SERVER[‘GATEWAY_INTERFACE’] কমন গেটওয়ে ইন্টারফেস এর version পাওয়ার জন্য ব্যবহার করা হয়
$_SERVER[‘SERVER_ADDR’] host সার্ভার এর IP এড্রেস পাওয়ার জন্য
$_SERVER[‘SERVER_NAME’] host সার্ভার এর নাম পাওয়ার জন্য যেমন www.w3schools.com
$_SERVER[‘SERVER_SOFTWARE’] সার্ভার এর পরিচিতি পাওয়ার জন্য যেমন Apache/2.2.24
$_SERVER[‘SERVER_PROTOCOL’] Information protocol এর নাম পাওয়ার জন্য যেমন HTTP/1.1
$_SERVER[‘REQUEST_METHOD’] এই মেথড পেজ কে অ্যাক্সেস করার জন্য ব্যবহার করা হয়। যেমন post
$_SERVER[‘REQUEST_TIME’] request এর শুরু থেকে timestamp জানার জন্য।
$_SERVER[‘QUERY_STRING’] যদি কোন পেজ query string দ্বারা অ্যাক্সেস হয়ে থাকে তবে তা পাওয়ার জন্য
$_SERVER[‘HTTP_ACCEPT’] বর্তমান request হইতে header কে অনুমোদন করার জন্য
$_SERVER[‘HTTP_ACCEPT_CHARSET’] বর্তমান request হইতে Accept_Charset header পাওয়ার জন্য যেমন utf-8,ISO-8859-1
$_SERVER[‘HTTP_HOST’] বর্তমান request হতে header host পাওয়ার জন্য
$_SERVER[‘HTTP_REFERER’] বর্তমান পেজ এর পুরো url পাওয়ার জন্য
$_SERVER[‘HTTPS’] নিরাপদ HTTP Protocol এর মধ্য দিয়ে কোন script query করার জন্য।
$_SERVER[‘REMOTE_ADDR’] ইউজার এর IP এড্রেস পাওয়ার জন্য
$_SERVER[‘REMOTE_HOST’] ইউজার এর host নাম পাওয়ার জন্য
$_SERVER[‘REMOTE_PORT’] ইউজার এর machine এর পোর্ট নাম্বার পাওয়ার জন্য যা দিয়ে সে ওয়েবসারভার এর সাথে যোগাযোগ করতেছে
$_SERVER[‘SCRIPT_FILENAME’] রানিং script এর সঠিক পাথ নাম পাওয়ার জন্য
$_SERVER[‘SERVER_PORT’] সার্ভার machine এর পোর্ট নাম্বার পাওয়ার জন্য যা ওয়েব সার্ভার এর যোগাযোগ এর ক্ষেত্রে ব্যবহার করা হয়। যেমন ৮০
$_SERVER[‘SERVER_SIGNATURE’] সার্ভার ভারসন এবং virtual hostname পাওয়ার জন্য
$_SERVER[‘PATH_TRANSLATED’] বর্তমান script এর ফাইল সিস্টেম এর পাথ পাওয়ার জন্য
$_SERVER[‘SCRIPT_NAME’] বর্তমান script এর পাথ পাওয়ার জন্য
$_SERVER[‘SCRIPT_URI’] বর্তমান পেজ এর URL পাওয়ার জন্য

PHP $_REQUEST

এইচটিএমএল এর ফর্ম সাবমিট করার পর ডাটা কালেক্ট করার জন্য এই মেথড ব্যবহার করা হয়


<html>
 <body>
 
 <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
   Name: <input type="text" name="fname">
   <input type="submit">
 </form>
 
 <?php
 if ($_SERVER["REQUEST_METHOD"] == "POST") {
     // collect value of input field
     $name = $_REQUEST['fname'];
     if (empty($name)) {
         echo "Name is empty";
     } else {
         echo $name;
     }
 }
 ?>
 
 </body>
 </html>

একটি সাবমিট বাঁটন ও একটি ইনপুট ফিল্ড নিয়ে এই script টি তৈরি করা হয়েছে যখন ইউজার ইনপুট ফিল্ড এ কোন কিছু টাইপ করে সাবমিট করবে সাবমিট করার পর তার টাইপ করা ওয়ার্ড টি সে দেখতে পাবে। আমরা সুপার গ্লোবাল variable হিসেবে $_REQUEST ব্যবহার করতে পারি ইনপুট ফিল্ড থেকে ডাটা কালেক্ট করার জন্য

PHP $_POST

এই মেথড ব্যবহার করা হয় ফর্ম এর ডাটা কালেক্ট করার জন্য। বিশদভাবে variable পাস করার জন্য এই মেথড ব্যবহার করা হয়


<html>
<body>

<form method=”post” action=”<?php echo $_SERVER[‘PHP_SELF’];?>”>
Name: <input type=”text” name=”fname”>
<input type=”submit”>
</form>

<?php
if ($_SERVER[“REQUEST_METHOD”] == “POST”) {
// collect value of input field
$name = $_POST[‘fname’];
if (empty($name)) {
echo “Name is empty”;
} else {
echo $name;
}
}
?>

</body>
</html>


একটি সাবমিট বাঁটন ও একটি ইনপুট ফিল্ড নিয়ে এই script টি তৈরি করা হয়েছে যখন ইউজার ইনপুট ফিল্ড এ কোন কিছু টাইপ করে সাবমিট করবে সাবমিট করার পর তার টাইপ করা ওয়ার্ড টি সে দেখতে পাবে। আমরা সুপার গ্লোবাল variable হিসেবে $_POST ব্যবহার করতে পারি ইনপুট ফিল্ড থেকে ডাটা কালেক্ট করার জন্য

PHP $_GET

এই মেথড ব্যবহার করা হয় ফর্ম সাবমিট করার পর ডাটা কালেক্ট করার জন্য এই মেথড ব্যবহার করে Url এর মাধ্যমেও ডাটা কালেক্ট করা যায়। মনে করি আমাদের একটি পেজ আছে যেখানে hyperlink দেওয়া আছে সেই লিঙ্ক থেকে অন্য পেজ এ যাওয়ার মাধ্যমে আমরা url থেকে ডাটা কালেক্ট করব।


<html>
 <body>
 
 <a href="test_get.php?subject=PHP&web=W3schools.com">Test $GET</a>
 
 </body>
 </html>

 

যখন ইউজার লিঙ্ক এ ক্লিক করবে তখন এই পেজ test_get.php এ সে যাবে। তখন ইউজার value অ্যাক্সেস করতে পারবে

উদাহরণ :


 <html>
 <body>
 
 <?php 
 echo "Study " . $_GET['subject'] . " at " . $_GET['web'];
 ?>
 
 </body>
 </html>

 

 

এইচটিএমএল এর মৌলিক বিষয় (HTML Basic Example)

এইচ টি এম এল এর সাধারন বিষয়াবলী

স্বর্ণা আখতার

 

(টিউটোরিয়াল টি পড়ার আগে অবশ্যই আপনাকে এইচ টি এম এল ট্যাগ এর ব্যবহার সম্পর্কে জানতে হবে। পরবর্তী অধ্যায় এ ট্যাগ সম্পর্কে আলোচনা করা হয়েছে।)

 

এইচ টি এম এল ডকুমেন্ট

সকল এইচ টি এম এল ডকুমেন্ট অবশ্যই ডকুমেন্ট এর টাইপ ঘোষণা এর মাধ্যমে শুরু করতে হয়। যেমন, <DOCTYPE html>

এইচ টি এম এল এর শুরু হয় <html> ট্যাগ দিয়ে এবং শেষ হয় </html> এর মাধ্যমে।

<body> এবং </body> এর মধ্যে প্রদর্শিত টেক্সট এইচ টি এম এল ডকুমেন্ট এর বিষয়বস্তু হিসাবে গণ্য হয়।

উদাহরনের সাহায্যে নিচে দেখানো হল


<!DOCTYPE html>
<html>
<body>

<h1>My First Heading</h1>

<p>My first paragraph.</p>

</body>
</html>


 

 

ফলাফল


My First Heading

My first paragraph.


 

 

এইচ টি এম এল এর শিরোনাম

এইচ টি এম এল এর শিরোনাম গুলো <h1> এবং <h6> ট্যাগ দ্বারা নির্ধারণ করা হয়।

যেমন,


<h1>This is a heading</h1>
<h2>This is a heading</h2>
<h3>This is a heading</h3>


 

 

ফলাফল


This is a heading

This is a heading

This is a heading


 

এইচ টি এম এল প্যারাগ্রাফ

এইচ টি এম এল প্যারাগ্রাফগুলোকে <p> ট্যাগে দ্বারা নির্ধারণ করা হয়।

যেমন,


<p>This is a paragraph.</p>
<p>This is another paragraph.</p>


 

 

ফলাফল


This is a paragraph.

This is another paragraph.


 

এইচ টি এম এল লিঙ্ক

এইচ টি এম এল এর লিঙ্কগুলো <a> ট্যাগের মাধ্যমে লিখা হয়।

যেমন,


<a href=”http://bangla.salearningschool.com”>This is a link</a>


 

 

ফলাফল


This is a link


 

এখানে, লিঙ্ক এড্রেস গুলো কি রকম হবে তা নির্ভর করে “href” attribute এর উপর। আর অ্যাট্রিবিউট গুলো এইচ টি এম এল এর উপাদানগুলো সম্পর্কে বিস্তারিত বিবরণ প্রদান করে।

এইচ টি এম এল ইমেজ

এইচ টি এম এল ইমেজগুলোকে <img> ট্যাগের মাধ্যমে লিখা হয়। আর এখানে src, alt, height এবং width গুলো অ্যাট্রিবিউট হিসাবে ব্যবহার করা হয়।

উদাহরনের মাধ্যমে দেখানো হল,


<img src=”http://bangla.salearningschool.com/wp-content/uploads/2015/04/bangla.salearning.png” alt=”http://bangla.salearningschool.com” width=”660″ height=”150″>


 

 

ফলাফল


http://bangla.salearningschool.com