
10-07-2006, 12:45
|
 |
|
|
חבר מתאריך: 21.06.06
הודעות: 15
|
|
|
שאילתה לפי דרישות חיפוש - בעיה מסובכת!
היי,
אני משתמש בשפת PHP ו-mysql.
נגיד ויש לי דף חיפוש ויש בו כמה selectים, לדוגמא - אזור מגורים, זכר או נקבה, מקצוע.
אז אני מקבל את הנתונים האלה אחרי ה-form, וב-query של ה-mysql אני רושם (בתרגום לעיברית לדוגמא):
תמצא רשומות איפה שהאזור מגורים=10 והמין=1 והמקצוע=7.
(נגיד והמספרים מצייגים את ה-selectים).
אבל יש גם אופציה ב-selecים שהיא נקראת "לא משנה" - שזה בעצם לא משנה מה האיזור מגורים או המין או המקצוע.
אבל אם מישהו יבחר ב-לא משנה, ה-value של זה בינתיים הוא 0, ואז בשאילתה ה-mysql יחפש רשומות איפה שהאיזור מגורים=0 והמין 1 והמקצוע 7, וזה לא מה שאני רוצה שיקרה!
אני רוצה שפשוט לא יעניין אותו מה האיזור מגורים.
הדרך היחידה לעשות את זה היא משפט תנאי, IF, שיבדוק אם ה-איזור מגורים שווה ל-0. אם כן, אז לתת לו שאילתה אחרת שלא יהיה רשום בה את האיזור מגורים.
אבל אם אני יפעל בשיטה הזאת אני אצטרך לכתוב הרבה משפטים!
משפט אחד יהיה אם האיזור מגורים לא משנה, המין לא משנה והמקצוע כן.
משפט שני יהיה אם היאזור מגורים משנה, המין לא משנה והמקצוע כן.
משפט שלישי יהיה אם האיזור מגורים משנה, המין משנה, והמקצוע לא.
וכו' - וכל זה עם משפטי IF מעצבנים.
איך אפשר להסתדר עם הבעיה הזאת, ושיהיה לי רק משפט אחד, ואני לא אצטרך לשבור את הראש?
תודה רבה!
_____________________________________
חתימתכם הוסרה כיוון שלא עמדה בחוקי האתר. לפרטים נוספים לחצו כאן. תוכלו לקבל עזרה להתאמת החתימה לחוקים בפורום חתימות וצלמיות.
|