نمایش نتایج 1 تا 4 از 4

نام تاپیک: پیدا نشدن جواب در کوئری جستجو

  1. #1

    پیدا نشدن جواب در کوئری جستجو

    سلام
    من برای سرچ داخل سایت از
    % %LIKE
    استفاده میکنم ولی اگر داخل دیتا بیس فرضا کلمه دکتر فریبا فخار باشه بعد سرچ کلمه دکتر فخار نتیجه 0 برمیگردونه
    توی php myadmin هم امتحان کردم ولی نتیجه باز خالی برمیگرده
    ولی اگر بجای دکتر فخار یا فخار کل عبارت و سرچ کنم یعنی دکتر فریبا فخار نتیجه رو از دیتابیس میخونه و برمیگردونه
    کوئری سرچم رو به چه شکلی بنویسم که نتیجه مطلوب داشته باشه؟

  2. #2
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    دی 1388
    محل زندگی
    روبروی مانیتور
    پست
    320

    نقل قول: پیدا نشدن جواب در کوئری جستجو

    قبل از اینکه کوئری رو ارسال کنی با تابع str_replace به جای فاصله ها در جمله % قرار بده.تا نتیجه مطلوب تو رو بده.
    آخرین ویرایش به وسیله yones_safari : چهارشنبه 19 بهمن 1390 در 16:15 عصر

  3. #3
    کاربر دائمی آواتار MSN_Issue
    تاریخ عضویت
    آبان 1388
    محل زندگی
    مشهدالرضا
    پست
    586

    نقل قول: پیدا نشدن جواب در کوئری جستجو

    میتونی برای سرچ کلمات درخواست شد رو از هم جدا کنی و تکی تکی سرچشون کنی !
    مثلا برای "دکتر فخار" میتونی نتیجه ی جستجوی "دکتر" + نتیجه ی جستجوی "فخار" رو با هم نشون بدی.

    موفق باشید

  4. #4

    نقل قول: پیدا نشدن جواب در کوئری جستجو

    دوست عزیز نباید هم چیزی نشون داده بشه چون LIKE %...% رکوردهایی رو بر میگردونه که عبارت ذکر شده، دقیقاً به همون شکل توش اومده باشه و قبل یا بعدش هر چیزی میتونه باشه اما این کاری که شما میخواین، عکس اینه یعنی اینکه ممکنه یک کلمه بین اون چیزی که شما وارد کردین اومده باشه. میتونید از این حالت استفاده کنید:

    $words = explode(' ', $_POST['words']);
    $sql = 'SELECT * FROM `table` WHERE (`name` LIKE \'%';
    foreach($words as $word) {
    $sql .= $word.'%';
    }
    $sql .= '\')');

    خروجی کد فوق، اگه در کادر متن فرضاً «دکتر فخار» نوشته بشه، این Query خواهد بود:
    SELECT * FROM `table` WHERE (`name` LIKE '%فخار%دکتر%')

    که میشه همون چیزی که شما میخواین یعنی رکوردهایی که توی نام اونها اول کلمه دکتر، بینشون هر عبارت دلخواه و بعد، کلمه فخار اومده باشه و قبل از کلمه دکتر و بعد از کلمه فخار هم مهم نیست چی باشه.
    موفق باشید.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •