![]() |
חיפוש בבסיס נתונים: Like מורחב?
שלום.
נגיד ויש לי משפט: I want to work. נניח ואדם חיפוש I want אז הכל בסדר, במידה והוא מחפש I work הוא לא מקבל כלום, למה? אני רוצה שהחיפוש יהיה מאוד רחב. חשבתי לקחת את המשפט, לפרק אותו למילים עם explode ואז להריץ LIKE על כל אחד אבל איך עושים זאת? איך מריצים את ה LIKE על כל אחד? תודה! |
תקרא על MATCH AGAINST.
|
בקושי יש על זה מידע..
עשיתי כך: HTML קוד:
$query = "SELECT * FROM `blabla` WHERE MATCH(`bla`) AGAINST('" . $search . "')"; בטוח שאין שיטה יותר נוחה? תודה. |
הגדרת את השדה בתור full text field (או משהו בסגנון, לא זוכר בדיוק)?
ויש עוד כל מיני מנועי חיפוש אבל זה הכי פשוט לשימוש שמגיע עם mysql |
http://phpguide.co.il/%D7%97%D7%99%D...7%9C%D7%90.htm
יש פה הסבר די טוב על זה זה הרבה יותר יעיל ומדוייק מלהשתמש בלייק, אבל בכל מקרה - את מה שאמרת עושים ככה: PHP קוד:
|
ציטוט:
תודה אבל החיפוש ממש גרוע! זה הקוד: $args = array('title'); // PHP קוד:
How to plan amazing trip ואני מחפש: how to amazing זה לא מוצא..למה? תודה. |
תריץ את השאילתא הזאת בדאטהבייס שלך (דרך ה-phpMyAdmin) ותגיד אם זה מחזיר משהו:
קוד:
SELECT title FROM tutorials WHERE 1 OR (title LIKE '%how%' OR title LIKE '%to%' OR title LIKE '%amazing%') |
כן מחזיר..
|
אז תשנה את זה:
PHP קוד:
PHP קוד:
|
החיפוש יותר נחמד אבל עדיין גרוע בכללי..
למשל יש לי: How to plan amazing trip אם אני רושם trip זה מוצא, אם אני רושם plan זה מוצא..אם אני רושם how to plan אז הוא מוצא אותו ממש ממש ממש למטה..כאילו הוא לא הכי רלוונטי כרגע..יש מעליו עשרות שיש בהם רק את המילה how למשל.. לא מבין את זה! בבקשה עזרה, תודה! :) |
כל הזמנים הם GMT +2. הזמן כעת הוא 07:12. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ