הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 27-01-12, 13:58   # 11
Itay
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 34
הודעות: 564

Itay לא מחובר  

אין פה שום חישוב של רלוונטיות לביטוי חיפוש במה שנתתי לך, אמרתי שעדיף לא להשתמש בזה..
MATCH AGAINST עושה את החיפוש הזה הרבה יותר טוב, הרבה יותר מהר והרבה יותר פשוט
  Reply With Quote
ישן 27-01-12, 14:45   # 12
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

גם זה לא פתר את הבעיה..חיפוש צולע במיוחד..
משתגע..
נוותר..
תודה.
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote
ישן 27-01-12, 16:53   # 13
Haimz
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Sep 2010
הודעות: 1,221

Haimz לא מחובר  

אולי תנסה לקרוא על זה: http://phpguide.co.il/%D7%97%D7%99%D...7%9C%D7%90.htm
  Reply With Quote
ישן 27-01-12, 17:18   # 14
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

ציטוט:
נכתב במקור על ידי HHaim צפה בהודעה
אולי תנסה לקרוא על זה: http://phpguide.co.il/%D7%97%D7%99%D...7%9C%D7%90.htm
ניסיתי..לא משהו בכלל..
אני מחפש משהו שאם יש לי את המשפט הבא:

ילד חגג יום הולדת

אז אם ירשמו "ילד" יקבלו, אם ירשמו "הולדת" יקבלו..אם ירשמו "ילד הולדת" גם יקבלו..

תודה.
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote
ישן 27-01-12, 20:47   # 15
Haimz
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Sep 2010
הודעות: 1,221

Haimz לא מחובר  

משהו שרשמתי: (אין פה סידור של רלוונטיות)
PHP קוד:
<?php

    $connect 
mysql_connect("localhost","username","pass");
    
$db_select mysql_select_db("db"$connect);
    
    
$query "how to amazing hello man are you"// מילות חיפוש
    
$col "title"// העמודה
    
$density 2// אחד או שתיים - צפיפות המילים
    
    //---------------------------------------
    
    
$where = array();
    
$exploded explode(" "$query); // preg_split("/\s{1}/", $query);
    
$explode = array();
    
    if( 
$density == )
    {
        for( 
$x 0$x count($exploded); ++$x )
        {
            if( 
$x )
            {
                continue;
            }
            
            
$explode[$x] = trim($exploded[$x] . " " $exploded[$x 1]);
        }
    }
    else
    {
        
$explode explode(" "$query);
    }
    
    foreach( 
$explode as $q )
    {
        if( empty(
$q) )
            continue;
        
$where[] = $col" LIKE '%" .$q"%'";
    }
    
    
$whereSyntax implode(" OR "$where);
    
    if( !empty(
$whereSyntax) )
    {
        
$whereSyntax " WHERE " .$whereSyntax;
    }
    
    if( 
strtoupper(trim($whereSyntax)) == "WHERE" )
    {
        
$whereSyntax null;
    }
    
    
//---------------------------------------
    
    
$result mysql_query("SELECT " .$col" FROM tutorials" $whereSyntax);
    
    while( 
$row mysql_fetch_array($resultMYSQL_ASSOC) )
    {
        echo 
$row[$col] . "<br />\n";
    }

?>
אין פה סידור של רלוונטיות, יש לך אפשרות לשחק עם הצפיפות (המשתנה $density ) יכול להיות על אחד או שתיים, אם זה שתיים זה מחלק את המשפט מכל שתי מילים, אם זה על אחד זה מחלק אותו על כל מילה.

אבל כמו שאמרו לך פה, MATCH AGAINST זה הכי נוח לדעתי.
  Reply With Quote
ישן 28-01-12, 03:36   # 16
Itay
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 34
הודעות: 564

Itay לא מחובר  

ציטוט:
נכתב במקור על ידי HHaim צפה בהודעה
משהו שרשמתי: (אין פה סידור של רלוונטיות)
אין פה סידור של רלוונטיות, יש לך אפשרות לשחק עם הצפיפות (המשתנה $density ) יכול להיות על אחד או שתיים, אם זה שתיים זה מחלק את המשפט מכל שתי מילים, אם זה על אחד זה מחלק אותו על כל מילה.

אבל כמו שאמרו לך פה, MATCH AGAINST זה הכי נוח לדעתי.
אתה יודע שבלולאת for אתה קובע בכמה המשתנה עולה/יורד? אתה יכול במקום $x++ לרשום $x+=2 ולחסוך את התנאי שלך..
ד"א - אם הביטוי הוא אי זוגי זה יקצץ מילה בסוף

ועוד ד"א.. מה ההגיון פה?
PHP קוד:
 $whereSyntax implode(" OR "$where);
    
    if( !empty(
$whereSyntax) )
    {
        
$whereSyntax " WHERE " .$whereSyntax;
    }
    
    if( 
strtoupper(trim($whereSyntax)) == "WHERE" )
    {
        
$whereSyntax null;
    } 

Last edited by Itay; 28-01-12 at 03:40..
  Reply With Quote
ישן 28-01-12, 10:08   # 17
Haimz
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Sep 2010
הודעות: 1,221

Haimz לא מחובר  

כנראה שלא פתחתי את הראש עד הסוף, לא נורא זה משהו מהיר שפשוט רשמתי, ברור שהוא לא הולך להעלות אותו ככה וצריך להעביר שינויים
בקשר להגיון, זה משהו שרשמתי לפני שהוספתי את התנאי הראשון, אז שכחתי להסיר את התנאי השני -_-
  Reply With Quote
ישן 28-01-12, 13:09   # 18
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

חיים תודה על הקוד..סביר..הוא מוצא טוב רק בהנחה שאני כותב את המילה הניישה, אחרך הרביעית הוא מוצא..למשל אם יש לי:

ילד הלך לגן ביום ראשון

אם מחפשים ילד הלך זה מוצא
אם מחפשים הלך לגן זה מוצא
אבל אם מחפשים ילד ראשון זה לא מוצא..

אני חייב שהחיפוש יהיה מעולה..אחרת אני אאבד המון גולשים כי רוב הטראפיק בא מהמנוע חיפוש שבאתר.

אשמח לעזרה, תודה!
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote
ישן 28-01-12, 13:30   # 19
Itay
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 34
הודעות: 564

Itay לא מחובר  

אם היית מסתכל על הקוד שלו היית מבין שאין מצב שזה היה מוצא משהו ב-"ילד ראשון" כי זה מחפש את 2 המילים האלו ביחד (כשהצפיפות שם היא על 2)

אבל שוב נגיד לך - MATCH AGAINST
אם אתה רוצה חיפוש שעובד כמו שצריך, לפי רלוונטיות וכו' - זה הפתרון

הנה כמה דוגמאות
http://stackoverflow.com/questions/3...r-by-relevancy
http://stackoverflow.com/questions/7...-stackoverflow
http://stackoverflow.com/questions/7...r-by-relevance
http://www.phpbuilder.com/board/show...59&postcount=4
  Reply With Quote
ישן 28-01-12, 14:43   # 20
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

ניסיתי את כולם שם,
הבעיה היא שיש לי כותרת כזו:

How to plan a trip

אם רושמים trip זה מוצא, אם רושמים plan זה מוצא, אבל אם רושמים how to זה לא מוצא.
אני יודע שיש הגבלה על חיפוש מהסוג הזה אבל בכל זאת, החיפוש הזה במצבו הנוחכי לא טוב לי.
אסור לי שהחיפוש יהיה צולע אחרת כל ההשקעה על האתר לחינם.

עריכה:

קצת מוזר אבל נראה לי שככה זה הכי טוב..השאלה האם תקני לרשום כך..:

PHP קוד:

    $query = strtolower($_GET["q"]); // <?php

include ('config.php');
    
    
$query strtolower($_GET["q"]);
    
$pieces explode(" "$query);
    
$one $pieces[0];
    @
$two $pieces[1];
    
    
$result mysql_query("
    SELECT DISTINCT `title` FROM `tutorials` WHERE title LIKE '%$one%$two%' OR title LIKE '%$two%$one%'
    "
);
    
    while(
$row mysql_fetch_array($result))
    {
        echo 
$row['title'] . "<br />\n";
    }

?>
אפשרי?

כרגע זה די טוב..אני חושב.
תודה.
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743

Last edited by dor77; 28-01-12 at 14:52..
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 05:47.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ