مرحباً أخي haidar
عمل ما تكلمت عنه يعتمد على هيكلة موقعك، فإذا كانت كل محتويات موقعك موجودة بقاعدة بيانات واحدة فكل ما عليك هو إنشاء برنامج يقوم بتوجيه محرك البحث بحسب المطلوب فمثلاً إذا كان لديك قسمين هما (الأخبار، المقالات) وتعتمد على حفظ الأخبار في جدول news والمقالات في جدول articles فإن برنامج سيكون بالشكل التالي:
كود PHP:
<html><body>
البرنامج بشكل مبسط لعرض الفكرة فقط
<form method=post>
البحث في
<select name=table>
<option value='1'>الأخبار</option>
<option value='2'>المقالات</option>
</select>
عن
<input type=text name=keyword> <input type=submit name=submit>
<?php
$con = mysql_connect($host, $user, $pass);
mysql_select_db($dbname);
if (isset($HTTP_POST_VARS['submit'])) {
// تحديد مجال البحث
switch($HTTP_POST_VARS['table']) {
case 1:
$table = 'news';
$field = 'message';
break
case 2;
$table = 'articles';
$field = 'contents';
break;
}
// إجراء عملية البحث
$res = mysql_query("SELECT * FROM $table WHERE $field like '%$keyword%'", $con);
// وهنا تعرض النتائج
}
?>
</body></html>
أما إذا كان لكل قسم من أقسام موقعك برنامج بحث موجود مسبقاً لكنك تريد أن تقوم بعمل توجيه لها من خلال برنامج واحد، فيمكن عمل شيء شبيه بالفكرة التالية:
على افتراض أن طريقة البحث في المجلة هي phpnuke/search.php?keyword وبافتراض أن طريقة البحث في المنتدى هي vb/search.php?keyword
كود PHP:
<html><body>
البرنامج بشكل مبسط لعرض الفكرة فقط
<form method=post>
البحث في
<select name=target>
<option value='1'>المجلة</option>
<option value='2'>المنتدى</option>
</select>
عن
<input type=text name=keyword> <input type=submit name=submit>
<?php
if (isset($HTTP_POST_VARS['submit'])) {
// تحديد مجال البحث
switch($HTTP_POST_VARS['target']) {
case 1:
// للتوجيه البحث إلى برنامج المجلة
$url = "phpnuke/search.php?keyword=$keyword";
header("location: $url");
exit;
break;
case 2:
// للتوجيه البحث إلى برنامج المنتدى
$url = "vb/search.php?keyword=$keyword";
header("location: $url");
exit;
break;
}
}
?>
</body></html>
وبشكل عام يجب أن يكون لديك فهم كامل لطريقة البحث في كل من الأقسام التي تريد ضمها، ويمكنك عندئذ استخدام switch لتوجيه مسار العملية.
كما يمكن استخدام نفس الطريقة لجعل النموذج (form) الواحد يستخدم لعدة عمليات.
مثال :
كود PHP:
<html><body>
البرنامج بشكل مبسط لعرض الفكرة فقط
<form method=get>
اختر العملية
<select name=action>
<option value='1'>العرض</option>
<option value='2'>الحذف</option>
<option value='3'>البحث</option>
</select> <input type=submit name=submit>
<?php
if (isset($HTTP_POST_VARS['submit'])) {
switch($HTTP_POST_VARS['action']) {
case 1:
echo 'لقد اخترت عملية العرض';
break;
case 2:
echo 'لقد اخترت عملية الحذف';
break;
case 3:
echo 'لقد اخترت عملية البحث';
break;
}
}
?>
</body></html>