|
|
|
|
# 1 |
|
חבר מתקדם
|
BlueNosE - זה בדיוק למה התכוונתי בהתחלה לתחום את זה ב-||, אבל נראה לי שעם OR LIKE זה לא יעבוד, זה פשוט יתן לי כל דבר שאחד מהאיידיים נמצא בהם.
Daniel - הסברתי בעקרון מה אני צריך, זה לא כזה ישנה מה זה ספציפית כי זה רק רעיון לאתר שבתלס במקרה הזה התוכן לא משנה. הרעיון הוא לקבל מהמשתמש רשימה של מרכיבים, המרכיבים עצמם שמורים בתור שם וה-ID שלו בתוך טבלה בבסיס נתונים. אני רוצה מהמרכיבים האלה לשלוף תוצאות שמסודרות בצורה שאמרתי מהבסיס נתונים, כשהתוצאות לא תלויות במה שהמשתמש מכניס (כלומר שהתוצאות שמורות מראש כבר. הרעיוון הוא סוג של חיפוש) - אבל כל התוצאות חייבות להיות רק ממה שהמשתמש הכניס. נגיד שהמשתמש הכניס שיש לו עט, עיפרון, מחק, שולחן. אני רוצה שזה ישלוף לי שורה שהאיידיים שלה מורכבים מ-שולחן, מחק, עיפרון. |
|
|
|
# 2 |
|
חבר וותיק
|
PHP קוד:
זה אמור לבצע את העבודה |
|
|
|
# 3 | |
|
משתמש - היכל התהילה
|
ציטוט:
__________________
בברכה, חגי בלוך גדות. |
|
|
|
|
# 4 |
|
חבר מתקדם
|
ה-implode פה לא משנה - עשיתי בדיקה כשזה בצורה ידנית.. הוא בכל מקרה יתן לי תוצאה של "שולחן, מחק, עיפרון" (במקרה שלך בלי הפסיקים), וכמו שהבאתי דוגמא אני כבר עשיתי את זה קודם.
ה-IN פה לא נראה לי יעזור, לצערי אני מאמין שגם ה-OR LIKE, למרות שעדיין לא בדקתי אבל זה לא אמור לעבוד. ושוב - אם מישהו מכיר דרך לעשות את זה אני אשמח לעזרה. יכול להיות שאפשר עם JOIN - אבל אני ממש לא מבין בחלק הזה של ה-SQL אז אין לי מושג. |
|
|
|
# 5 | |
|
אין כמו ב127.0.0.1
|
ציטוט:
|
|
|
|
|
# 6 |
|
תודה על תרומתך.
|
יש דרך טיפה יותר טובה
אם אתה שומר STRING של ID פשוט תפריד בניהם עם ,(פסיק) ואז בשאילת תחפש WHERE FIND_IN_SET וזה יימצא לך בדיוק מה שאתה מחפש....
__________________
|
|
|
|
# 7 | |
|
חבר מתקדם
|
ציטוט:
קוד:
"SELECT * FROM TST WHERE FIND_IN_SET(ContIds, '1,2,3,4,5,6,7,8,9,10,11,12')" 1. 1,2,4,7,8,3,11, 2. 1,2,3,4,7,5,6,10,8,9,11,12, וזה לא הציג לי כלום, יש מצב שלא עשיתי נכון את השאילתה? ראיתי בתיעוד של mySQL שזה מחפש רק בעמודות מסוג SET אבל אני לא מצליח להחליף את ה-TEXT ל-SET כשהערכים האלה נמצאים שם.. עריכה: גם כשהחלפתי ל-SET בשביל לבדוק קוד:
set('1','2','3','4','5','6','7','8','9','10','11','12','13','14')
1. 1,3,5,7 2. 1,2,3,4,5,6,7,8,9,10,11,12,13,14 זה עדיין לא עובד לי, גם כשאני מציין בדיוק את הערכים של שורה 1 עוד עריכה: אם זה יעזור, אני צריך נגיד דרך להשתמש ב-LIKE אבל הפוך, כלומר משהו כזה: קוד:
WHERE '|1||2||3||4||5||6||7||8||9|' LIKE '%ContIDs%' קוד:
WHERE '|1||2||3||4||5||6||7||8||9|' LIKE '%|1|%' AND LIKE '%|3|%' AND LIKE '%|5|%' Last edited by Itay; 10-12-10 at 17:36.. |
|
|
|
|
# 8 |
|
אין כמו ב127.0.0.1
|
וואו, תסביר מהר, זה ממש מקל על השימוש בתגיות והכל
|
|
|
|
# 9 |
|
משתמש - היכל התהילה
|
אני הייתי משתמש פה בקשר ,many to many
http://www.tonymarston.net/php-mysql/many-to-many.html אבל צריך לעשות בדיקות יעילות, ותלוי בכמה רשומות בכל מסד, כל כמה זמן נכנסת איזו רשומה ואם כדאי להשתמש באינדקסים וכו'
__________________
קו ישר, כי אפשר גם אחרת |
|
|
|
# 10 |
|
חבר וותיק
|
עשיתי טעות קטנה
במקום $this_selected = implode($user_selected); צריך לחליף ב $this_selected = implode(",",$user_selected); וזה בתור מערך לחיפוש תוכל לעשות עם פוסטים ולהפריד אותם עם פסיק והלשתמש בIN |
|
![]() |
| חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
| כלים לאשכול | |
| תצורת הצגה | |
|
|