הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   עזרה - sql Where (https://hosts.co.il/forums/showthread.php?t=72516)

S-Preso 09-03-09 01:40

עזרה - sql Where
 
היי חברה,

בניתי מערכת חיפוש, עכשיו במסד יצרתי 2 תאים:
1 - first_name
2 - last_name

נניח שהתוכן בתוך first_name הוא "רמי" וב - last_name "שוורץ"
עכשיו אם אני אחפש "רמי" אני אמצא אותו, גם אם אני אחפש "שוורץ" עכשיו הבעיה שאני לא אמצע אותו אם ארשום "רמי שוורץ" ביחד.

מקווה שהבנתם את הבעיה,
אשמח לעזרה|Lol|

SniR-S 09-03-09 07:39

תוסיף פשוט שאילתא כזו:
PHP קוד:

$query mysql_query("SELECT * FROM my_table WHERE first_name = '$first_name' AND last_name = '$last_name' "); 

בעצם היא שולפת גם את השם שהוכנס וגם את השם משפחה..
מקווה שעזרתי:-)

Shay Ben Moshe 09-03-09 23:44

לא נראה לי שזה מה שהוא חיפש.
אתה יכול להפריד את "רמי שוורץ" ל"רמי", "שוורץ" ולהריץ שאילתה שכזו:
PHP קוד:

$query mysql_query("SELECT * FROM my_table WHERE first_name = '$first_word' OR first_name = '$second_word' AND last_name = '$first_word' OR last_name = '$second_word' "); 

יש מצב שגם אפשר במקום לעשות OR פשוט לעשות עם מערך, אף פעם לא בדקתי ככה שאין לי מושג.

S-Preso 10-03-09 05:20

ציטוט:

נכתב במקור על ידי Snir Shamka (פרסם 701959)
תוסיף פשוט שאילתא כזו:
PHP קוד:

$query mysql_query("SELECT * FROM my_table WHERE first_name = '$first_name' AND last_name = '$last_name' "); 

בעצם היא שולפת גם את השם שהוכנס וגם את השם משפחה..
מקווה שעזרתי:-)

הכוונה לא הייתה לזה.
ציטוט:

נכתב במקור על ידי The Chosen Generl (פרסם 702166)
לא נראה לי שזה מה שהוא חיפש.
אתה יכול להפריד את "רמי שוורץ" ל"רמי", "שוורץ" ולהריץ שאילתה שכזו:
PHP קוד:

$query mysql_query("SELECT * FROM my_table WHERE first_name = '$first_word' OR first_name = '$second_word' AND last_name = '$first_word' OR last_name = '$second_word' "); 

יש מצב שגם אפשר במקום לעשות OR פשוט לעשות עם מערך, אף פעם לא בדקתי ככה שאין לי מושג.

השאלה איך אני מפריד את מה שהמשתמש כותב באינפוט....;-0

vadimg88 10-03-09 08:14

PHP קוד:




$name_from_post 
$_POST['name'];

$exploded_name explode(' '$name_from_post);

/*

now $exploded_name[0] is the first name and $exploded_name[1] is the last name so we do:

*/


$query mysql_query("SELECT * FROM my_table WHERE first_name = '{$exploded_name[0]}' AND last_name = '{$exploded_name[1]}' "); 


S-Preso 10-03-09 14:28

ציטוט:

נכתב במקור על ידי vadimg88 (פרסם 702192)
PHP קוד:




$name_from_post 
$_POST['name'];

$exploded_name explode(' '$name_from_post);

/*

now $exploded_name[0] is the first name and $exploded_name[1] is the last name so we do:

*/


$query mysql_query("SELECT * FROM my_table WHERE first_name = '{$exploded_name[0]}' AND last_name = '{$exploded_name[1]}' "); 


תודה רבה עובד:);P

Derey22 10-03-09 16:07

ואם השם הוא "אור בן צבי"?אם אני לא טועה הקוד לא יעבוד.
תתחשב גם בזה.

vadimg88 10-03-09 16:13

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

Amits 10-03-09 16:19

ציטוט:

נכתב במקור על ידי Derey22 (פרסם 702246)
ואם השם הוא "אור בן צבי"?אם אני לא טועה הקוד לא יעבוד.
תתחשב גם בזה.

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

vadimg88 10-03-09 16:29

לא הוא יחפש אחר אור ו בן ללא הצבי. לפי מה שרשמתי למעלה.


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

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