مشاهدات الان
السلام عليكم ورحمة الله وبركاتة
الدرس حيكون عن كيفية عمل بحث على اى سكربت وسوف نحتاج الى صفحتين
الصفحة الاولى : index.php وهى يوجد فيها الفورم
الدرس حيكون عن كيفية عمل بحث على اى سكربت وسوف نحتاج الى صفحتين
الصفحة الاولى : index.php وهى يوجد فيها الفورم
الصفحة الثانية : search.php وهى الصفحة الذى سظهر فيها نتائج البحث
اولا الصفحة الاولى والذى فيها الفورم :
اولا نعرف الفورم ثم نختاج ال method وهو post والصفحة الذى سيذهب اليها الفورم
ثم عملنا حقل تكتس عادى لكى يكتب فية ما يبحث عنة
وايضا زر الارسال submit لكى يرسل البيانات للصفحة ال search.php
ثم نبدا فى كتابة صفحة استقبال البيانات :
وهذا الكود يتحقق من ان الفورم تم ارسالة بالفعل
وهذا لكى يتاكد من ان الحقل ليس خالى
وبعد كدة نعمل الاستعلام من الجدول ولكن باسخدام الخاصية like والعلامة % وهى تعنى ان كل الكلام الى بعد $search وقبلة كمان
وسنخدم هذة الدالة لعد كل الذى موجود فى قاعدة البيانات
وهذا الكود لعمل فيتش فى حلقة تكرارية لكى يخرج كل الذى فى قاعدة البيانات
وهذا اذا كان الكود خطا يخرج لة رسالة ما
اتمنى ان اكون وفيت فى الشرح واذا كنت غلطت فى شى سامحونى
الكاتب : عمرو
إضافات بسيطه :
ولو كان أحرف الكلمة أكثر من 3 أحرف سيتم اضهار رساله وهذا افضل عشان ما يكون هناك تأثير و ارهاق لقواعد البيانات :
وهذه اضافة أخرى وهي قمنا بتمييز كلمة البحث عنا باقي جملة العنوان عن طريق الداله str_replace
وبالتوفيق للجميع
اولا الصفحة الاولى والذى فيها الفورم :
<form method="post" action="search.php">
<input type="text" value="Search" size="40" name="search">
<input type="submit" value="Search" name="dosearch">
</form>
اولا نعرف الفورم ثم نختاج ال method وهو post والصفحة الذى سيذهب اليها الفورم
ثم عملنا حقل تكتس عادى لكى يكتب فية ما يبحث عنة
وايضا زر الارسال submit لكى يرسل البيانات للصفحة ال search.php
ثم نبدا فى كتابة صفحة استقبال البيانات :
<?
if(isset($_POST['dosearch'])){
?>
وهذا الكود يتحقق من ان الفورم تم ارسالة بالفعل
<?
$search = mysql_real_escape_string($_POST['search']);
if(isset($search)){
?>
وهذا لكى يتاكد من ان الحقل ليس خالى
<?
$sql = mysql_query("SELECT * FROM `blog` WHERE `title` LIKE '%$search%' AND `message` LIKE '%$search%'")or die(mysql_error());
?>
وبعد كدة نعمل الاستعلام من الجدول ولكن باسخدام الخاصية like والعلامة % وهى تعنى ان كل الكلام الى بعد $search وقبلة كمان
<?
$num = mysql_num_rows($sql);
if($num == 0){
print'Your query returned no results.';
}
?>
وسنخدم هذة الدالة لعد كل الذى موجود فى قاعدة البيانات
<?
else{
while($r = mysql_fetch_object($sql)){
print'<a href="blog.php?id='$r->id.'">'.$r->title.'</a><br /><br />';
}
}
?>
وهذا الكود لعمل فيتش فى حلقة تكرارية لكى يخرج كل الذى فى قاعدة البيانات
<?
}else{
print'You did not search anything.';
}
}else{
print'The search form was not submitted.';
}
?>
وهذا اذا كان الكود خطا يخرج لة رسالة ما
اتمنى ان اكون وفيت فى الشرح واذا كنت غلطت فى شى سامحونى
الكاتب : عمرو
إضافات بسيطه :
ولو كان أحرف الكلمة أكثر من 3 أحرف سيتم اضهار رساله وهذا افضل عشان ما يكون هناك تأثير و ارهاق لقواعد البيانات :
<?
$word=$_POST['search'];
if (strlen($word)<= 3)
{
echo "<strong><div align=center>عفوا ً كلمة البحث أقل من ثلاث حروف يرجى كتابة كلمة أكثر من ذلك </div></strong>";
exit;
}
?>
وهذه اضافة أخرى وهي قمنا بتمييز كلمة البحث عنا باقي جملة العنوان عن طريق الداله str_replace
<?
while($r = mysql_fetch_object($sql)){
print'<a href="blog.php?id='$r->id.'">'.STR_REPLACE($search,'<u>'.$search.'</u>',$r->title).'</a><br /><br />';
}
?>
وبالتوفيق للجميع
القسم :
نبذه ومعلومات Useful