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

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 18-02-09, 19:27   # 1
0xfo7d
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 292
שלח הודעה באמצעות ICO אל 0xfo7d

0xfo7d לא מחובר  

PHP | איך לעשות בדיקה אם משתנה שווה למשהו ממערך | כנסו ותבינו

אהלן...

יש לי מערך בגודל X (זה דינאמי...לכן מספר המקומות במערך אינו קבוע).

אני מעוניין ליצור שאילתת שליפה ממסד נתונים...בסגנון הבא:
PHP קוד:
$res3 mysql_query("SELECT * FROM `tablename` WHERE `filed`='".$abc."' AND `filed2`='".$part."' "); 
אני בעצם רוצה לשלוף נתונים מהמסד...רק נתונים שהשדה FILED2 שלהם שווה לאחד מהתאים של המערך...

נניח יש לי 3 תאים במערך...ששוים ל:
3,4,7

אז שישלוף את כל הנתונים מהטבלה שבהם השדה FILED שווה ל 3/4/7 .

תודה מראש,
מתן.
  Reply With Quote
ישן 18-02-09, 20:00   # 2
tbm
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 33
הודעות: 254
שלח הודעה באמצעות ICO אל tbm שלח הודעה באמצעות MSN אל tbm

tbm לא מחובר  

ציטוט:
WHERE `filed`='".$abc."' AND `filed2`='".$part[0]."' or `filed2`='".$part[1]."' or `filed2`='".$part[2]."'
תנסה ככה
  Reply With Quote
ישן 18-02-09, 20:03   # 3
daMn
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
גיל: 33
הודעות: 2,050

daMn לא מחובר  

implode בשביל פירוק המערך לסטרינג בשביל השאילתא.
SQL IN בשביל החיפוש בשאילתא.
__________________
"חינוך למדעי המחשב לא יכול להפוך אף אחד למתכנת מומחה יותר מאשר לימוד על מברשות וצבעים יכול להפוך מישהו לצייר מיומן."
(אריק ס. ריימונד)
  Reply With Quote
ישן 18-02-09, 20:15   # 4
O-B
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: בבית
גיל: 34
הודעות: 1,423
שלח הודעה באמצעות ICO אל O-B

O-B לא מחובר  

לדעתי אתה צריך להכניס את המספרים כך: /1/2/3/ ואז עם like לעשות
PHP קוד:
 $res3 mysql_query("SELECT * FROM `tablename` WHERE `filed` like '\".$abc."  "); 
__________________
בברכה עובד, מפתח אתרים.
  Reply With Quote
ישן 19-02-09, 00:39   # 5
DvirCohen
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Dec 2007
הודעות: 151

DvirCohen לא מחובר  

PHP קוד:
$query mysql_query("SELECT * FROM  `tablename` WHERE `field` = '"$abc ."' AND `field2` IN ("implode(","$part) .")"); 
  Reply With Quote
ישן 19-02-09, 15:58   # 6
intercooler3819
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jul 2008
הודעות: 1,056

intercooler3819 לא מחובר  

ציטוט:
נכתב במקור על ידי O-B צפה בהודעה
לדעתי אתה צריך להכניס את המספרים כך: /1/2/3/ ואז עם like לעשות
PHP קוד:
 $res3 mysql_query("SELECT * FROM `tablename` WHERE `filed` like '\".$abc."  "); 
לא הייתי נותן לך לתכנת את האתר שלי...
שאילתת LIKE זאת השאילתא הכי כבדה שיש (כמובן שאפשר לשרשר אותה ואז להגדיל את היעילות בצורה אקספוננציאלית אבל זה לא הנקודה)

עדיף לעשות מה שאמרו כאן למעלה
implode עם מפריד של פסיקים בשביל לקמבן סטרינג
ואת כל זה לשלב בשאילתת IN
זה הכיוון
__________________
  Reply With Quote
ישן 19-02-09, 16:10   # 7
vadimg88
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Feb 2008
גיל: 36
הודעות: 710

vadimg88 לא מחובר  

זה גם לא נכון להשתמש ב LIKE במקרה הזה.
  Reply With Quote
ישן 20-02-09, 00:09   # 8
sholaman
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
גיל: 33
הודעות: 323

sholaman לא מחובר  

תיצור מחרוזת ואת החלק של הWHERE תיצור עם FOREACH שיעבור על כל ערכי המערך
__________________
  Reply With Quote
ישן 20-02-09, 00:25   # 9
daMn
הוסטסניון
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
גיל: 33
הודעות: 2,050

daMn לא מחובר  

למה אתם מסתבכים סתם, הבאתי פתרון הכי נכון לבעיה.
__________________
"חינוך למדעי המחשב לא יכול להפוך אף אחד למתכנת מומחה יותר מאשר לימוד על מברשות וצבעים יכול להפוך מישהו לצייר מיומן."
(אריק ס. ריימונד)
  Reply With Quote
ישן 20-02-09, 00:27   # 10
Labs
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Nov 2007
גיל: 32
הודעות: 1,500
Send a message via Skype™ to Labs

Labs לא מחובר  

תעשה פשוט
FOREACH
ו JOIN
הפתרון הכי פשוט בישבלך
  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. הזמן כעת הוא 16:54.

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