دوره رایگان دوره رایگان
PHP & MySQL برنامه نویسی وب بک اند (Back End) مقالات مشاوره‌ای/توضیحی

چطور یک فرم جستجو با PHP بسازیم؟ (راهنمای کامل ویدئویی)

فرم جستجو با PHP
نوشته شده توسط مهدی خسروی

بسیاری از کاربرانی که آموزش ساخت فروشگاه اینترنتی حرفه ای با PHP و MySQL را تهیه کرده بودند این سوال برایشان وجود داشت که چطور میتوانند یک فرم جستجو با PHP بسازند. در این آموزش یاد میگیریم که چطور یک فرم جستجو با PHP بسازیم و کاری کنیم که اگر کاربر خواست چیزی را در بین محصولات، کاربران و… جستجو کند، بتواند اینکار را انجام دهد.

دانلود این آموزش با کیفیت بالا و حجم ۲۷ مگ


چطور در دیتابیس جستوجو کنیم؟

مهم ترین چیز در ساخت فرم جستجو با PHP این است که ما بتوانیم یک دستور SQL به دیتابیس بزنیم و بین اطلاعاتی که در دیتابیس وجود دارد جستوجو کنیم. (دیتابیس چیست؟)

فرض کنید که یک فروشگاه اینترنتی داریم که محصولاتی با نام های زیر در آن وجود دارد:

  • آیفون ۷ طوسی
  • دست دوم: ایفون ۷
  • آیفون ۷ رز گلد 
  • آیفون ۷

برای اینکه بتوانیم در دیتابیس جستجو کنیم، میتوانیم از دستور LIKE استفاده کنیم. برای مثال به کد زیر دقت کنید:

این کد در جدول prodcuts و در ستون product_anem دقیقا به دنبال محصولی با نام «آیفون ۷» میگردد. اما اگر اسم محصول «آیفون ۷ طوسی» باشد‌، این دستور نمیتواند آن‌را پیدا کند. پس چیزی که دستور بالا برای ما پیدا میکند، دقیقا همان آیفون ۷ است.

برای اینکه بتوانیم دستوری بنویسیم که نسبت به کاراکترهای قبل و بعد عبارتی که جستجو میکنیم حساس نباشد، باید به این صورت عمل کنیم:

در این دستور قبل و بعد از عبارتی که میخوایم جستجو کنیم یک علامت % (درصد) قرار داده‌ایم. این علامت این پیام را به دیتابیس میدهد: «مهم نیست قبل و بعد از عبارت آیفون ۷ چه چیزی وجود داشت، هرچیزی که بود را برای ما نمایش بده. دستور بالا برای ما تمام موارد زیر را پیدا میکند:

  • آیفون ۷ طوسی
  • دست دوم: ایفون ۷
  • آیفون ۷ رز گلد 
  • آیفون ۷
پیشنهاد یادیفای برای شما
راهنمای جامع و کاربردی کسب درآمد از طریق برنامه نویسی، طراحی وب، گرافیک و...

به این دلیل که قبل و بعد از دستور SQL خود از علامت % استفاده کردیم و این دستور، هر محصولی که عبارت «آیفون ۷» در جایی از نام آن وجود داشته باشد را برای ما نمایش میدهد. با توجه به این نکات، در ادامه میپردازیم به آموزش ساخت فرم جستجو با PHP.

 

آموزش کامل ساخت فرم جستجو با PHP

با مقدمه‌ای که در بالا گفتیم، حالا میخواهیم اقدام به ساخت فرم جستجو با PHP کنیم. برای اینکار یک فایل با نام index.php میسازیم و کدهای زیر را در آن مینویسیم:

در ادامه جاهایی که از این کد نیاز به توضیح دارد را درباره‌ی آن صحبت میکنیم:

خط ۱: اتصال‌مان به دیتابیس را برقرار کرده‌ایم.

خط های ۱۰ تا ۱۳: یک فیلد برای جستوجو و همینطور یک دکمه برای انجام جستوجو ساخته‌ایم و محتویات فرم را با متد post به همین فایل ارسال کرده‌ایم که از انتهای فایل آن‌ها را بررسی کنیم.

پیشنهاد یادیفای برای شما
چگونه وجود یا عدم وجود ایمیل کاربران در دیتابیس را چک کنیم؟

اگر میخواهید درباره‌ی متد post و تفاوت آن با متد get بدانید اینجا کلیک کنید.

همینطور اگر کار با فرم ها در PHP را بلد نیستید، آموزش ۳ قسمتی ساخت سیستم ورود، ثبت نام و پروفایل مخصوص شماست 🙂

خط ۱۹: چک کرده‌ایم که آیا اطلاعات فرم تایید شده است یا نه.

خط ۲۰: مقدار ورودی کاربر را که در فیلد جستجو وارد کرده بود را درون متغیر searchQuery قرار داده‌ایم.

خط ۲۱: یک کوئری به دیتابسی زده‌ایم و به دنبال چیزی گشته‌ایم که کاربر آن‌را وارد کرده‌ بود. (به علامت % قبل و بعد از مقدار ورودی کاربر دقت کنید.)

و نهایتا در خطوط ۲۳ تا ۲۵ اطلاعات دریافتی از پایگاه داده را به یک آرایه تبدیل کرده‌ایم و درون حلقه‌ی while قرار داده ایم و به کاربر نتیجه‌ را نشان داده‌ایم. 

حالا فرض کنید که مقادیر زیر به عنوان نام کاربران در دیتابیس ما وجود دارد:

  • مهدی رضایی
  • حسن محبی
  • حسن رضایی
  • رضا سامانی
  • سامان قدوسی
  • مهدی خسروی
  • خسرو مهدوی

و حالا اگر کاربر در فیلد جستجو مقدار «رضا» را وارد کند، نتایج زیر به او نشان داده میشود:

  • مهدی رضایی
  • حسن رضایی
  • رضا سامانی

پس توانستیم به همین راحتی اقدام به ساخت یک فرم جستجو با PHP و MySQL کنیم و آن‌را به هر سیستمی که دوست داریم اضافه کنیم. اگر دوست دارید که PHP و MySQL را بصورت پروژه محور یاد بگیرید، این آموزش مخصوص شماست:

آموزش ساخت یک فروشگاه اینترنتی حرفه‌ای با PHP و MySQL

 

  • کیفیت مقاله و فایل ویدئویی
۵

درباره نویسنده

مهدی خسروی

۸ سال پیش که یادگیری برنامه نویسی رو آغاز کردم، با یک مشکل بزرگ مواجه شدم: کمبود منابع آموزشی حرفه‌ای و کاربردی به زبان فارسی. به همین دلیل، بعد از چندین سال فعالیت حرفه‌ای در زمینه‌ی برنامه نویسی، تصمیم گرفتم دانسته‌ها و تجربیات خودم را با شما عزیزان به اشتراک بگذارم. پیشنهاد میکنم به آدرس yadify.com/gifts حتما سر بزنید :)

درج دیدگاه

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.