সার্চিং এবং সর্টিং প্রোগ্রামিংয়ের ভাষায় খুব কাছাকাছি অর্থবোধক। এদের ব্যবহারও বেশ কাছাকাছি। বেশিরভাগ ক্ষেত্রে দুটি একই সাথে ব্যবহার করা হয়। স্ক্রিপ্টিং ল্যাঙ্গুয়েজে সার্চিংয়ের কিছু বিশেষ ব্যবহার লক্ষ করা যায়। এর একটি হচ্ছে সার্চ ইঞ্জিনের ব্যবহার।
সার্চ ইঞ্জিনের ব্যবহার বলতেই প্রথমেই চোখের সামনে ভেসে ওঠে গুগলের কথা। বিশ্বের সবচেয়ে জনপ্রিয় সার্চ ইঞ্জিন হিসেবে গুগল এখন বিখ্যাত। পাঠশালা বিভাগে ধারাবাহিকের গত সংখ্যায় আমরা দেখেছিলাম কিভাবে পিএইচপি’র সাথে মাইএসকিউএলের ডাটাবেজ কানেকশন নিয়ে কাজ করা যায়। কিন্তু অনেক সময় স্ক্রিপ্টে একই সাথে একাধিক এবং আলাদা আলাদা ডাটাবেজে কাজ করার প্রয়োজন হতে পারে। এজন্য মাল্টিপল ডাটাবেজের সাথে পিএইচপির কানেকশন কিভাবে করতে হয়, তা দেখানো হয়েছে। এই সংখ্যায় দেখানো হয়েছে সার্চ এবং সর্টিং-এর নানারকম ব্যবহার।
সার্চ ইঞ্জিন বলতে কী বুঝায়, তা আর নতুন করে বলার কিছু নেই। ওয়েবে তথ্য খুঁজে বের করার জন্য সার্চ ইঞ্জিনের ব্যাপক ব্যবহার লক্ষ করা যায়। এখনকার সার্চ ইঞ্জিনগুলো যুগের সাথে তাল মিলিয়ে ইন্টারনেট ব্যবহারকারীদের চাহিদা পূরণ করে চলেছে। এরকম একটি সার্চ ইঞ্জিন তৈরি করার জন্য নিচের কোড অনুসরণ করা যেতে পারে :
$form =
“
“;
// If the form has not been displayed, show it.
if ($seenform != “y”) :
print $form;
else :
// connect to MySQL server and select database
@mysql_connect(“localhost”, “web”, “ffttss”)
or die(“Could not connect to MySQL server!”);
@mysql_select_db(“company”) or die(“Could not select company database!”);
// form and execute query statement
$query = “SELECT cust_id, cust_name, cust_email
FROM customers WHERE $category = ‘$keyword’”;
$result = mysql_query($query);
// If no matches found, display message and redisplay form
if (mysql_num_rows($result) == 0) :
print “Sorry, but no matches were found. Please try your search again:”;
print $form;
// matches found, therefore format and display results
else :
// format and display returned row values.
list($id, $name, $email) = mysql_fetch_row ($result);
print “
Customer Information:
”;
print “
Name: $name
”;
print “
Identification #: $id
”;
print “
Email: $email ”;
print “
Order History:
”;// form and execute ‘orders’ query
$query = “SELECT order_id, prod_id, quantity
FROM orders WHERE cust_id = ‘$id’
ORDER BY quantity DESC”;
$result = mysql_query($query);
print “
”;
print “Order ID | Product ID | Quantity |
”;
// format and display returned row values.
while (list($order_id,$prod_id,$quantity) = mysql_fetch_row($result)):
print “”;
print “$order_id | $prod_id | $quantity | ”;
print “
”;
endwhile;
print “
”;
endif;
endif;
?>
এই কোড অনুসরণ করার সময় মনে রাখতে হবে, এখানকার ভেরিয়েবল এবং ডাটা টাইপ প্রয়োজন অনুসারে পরিবর্তন করা যাবে। তবে যারা অধিকমাত্রায় গুগলের ভক্ত, তাদের কাছে এরকম একটি সাদামাঠা সার্চ ইঞ্জিন পছন্দ নাও হতে পারে। তাই নিজেদের স্ক্রিপ্টে যারা গুগলের বার যুক্ত করতে চান তাদের জন্য নিচের কোডটি দেয়া হলো :
!->!->
এই কোডের সেগমেন্ট যেকোনো স্ক্রিপ্টিং ল্যাঙ্গুয়েজে ওয়েব পেজের যেকোনো অংশে ব্যবহার করা যাবে। সেই সাথে এটি সবার জন্য উন্মুক্ত। তাই একে ইচ্ছেমতো ব্যবহার করা সম্ভব।
সার্চ করলেই কিন্তু কাজ শেষ হয় না। সার্চ করার পর ফলাফল দেখানো হয় সাধারণত সর্টিং অবস্থায় (সাজানো)। তাই ফলাফল সাজানোর জন্য নিচের দেয়া কোড অনুসরণ করা যাবে। এখানে মাইএসকিউএলের ডাটাবেজ সর্টিং দেখানো হয়েছে। ইচ্ছেমতো অন্য ডাটাবেজে রাখা ফলাফল সহজেই সর্ট করা সম্ভব।
// connect to MySQL server and select database
@mysql_connect(“localhost”, “web”, “ffttss”)
or die(“Could not connect to MySQL server!”);
@mysql_select_db(“company”) or die(“Could not select company database!”);
// If the $key variable is not set, default to ‘quantity’
if (! isset($key)) :
$key = “quantity”;
endif;
// create and execute query. Any retrieved data is sorted in descending order
$query = “SELECT order_id, cust_id, prod_id, quantity
FROM orders ORDER BY $key DESC”;
$result = mysql_query($query);
// create table header
print “
”;
print “
Order ID |
Customer ID |
Product ID |
Quantity |
”;
// format and display each row value
while (list($order_id, $cust_id, $prod_id, $quantity) =
mysql_fetch_row($result)) :
print “”;
print “$order_id | $cust_id |
$prod_id | $quantity | ”;print “
”;
endwhile;
// close table
print “
”;
?>
যারা স্ক্রিপ্টে সার্চ করে বুকমার্ক রাখতে চান, তাদের আর ব্রাউজারের ওপর নির্ভর না করে এখন নিজেই ওয়েব পেজে এমন বুকমার্কের ব্যবস্থা রাখতে পারবেন। স্ক্রিপ্টে বুকমার্কের ব্যবস্থা রাখার জন্য নিচের কোড ব্যবহার করা যাবে :
INCLUDE(“init.inc”);
?>
=$title;?>
তবে এই বুকমার্ক কোড ব্যবহার করতে চাইলে ওয়েব পেজকে এইচটিএমএল হিসেবে সেভ করে চালাতে হবে। এইচটিএমএল হলেও এতে পিএইচপি বিল্টইন অবস্থায় আছে।