22-08-2007, 12:47
|
|
|
|
חבר מתאריך: 12.04.06
הודעות: 2,021
|
|
Xpein וElad-A תודה על הניסיון לעזור, אבל זה לא מה שהתכוונתי.
אולי אם אני אסביר מה אני מנסה לעשות יהיה קל יותר.
אני יוצר פונקצייה שמבצעת שאילתת SELECT לפי נתונים שהיא מקבלת.
עשיתי כבר אפשרות לכל דבר שאפשר לעשות עם SELECT (אם זה לבחור את כל העמודות, לסדר לפי ASC או DESC וכו'..)
עכשיו נישאר לי רק לעשות את התנאים של WHERE.
הבעיה היא, שבWHERE אפשר להשתמש ביותר מאופרטור אחד (=, LIKE, <, >) וכו'.
אז אני רוצה ליצור מערך שיכיל 3 חלקים.
"colume","operator","value"
ואז באמצעות foreach אני יכול לבצע פעולות לפי מה שניבחר.
אם נניח נבחר LIKE, אז אני יכול להוסיף לvalue % בהתחלה ובסוף,
אם נניח בvalue רשמו רק מספר, אז אני מבטל את הגרשיים ( '000' )
וכו' וכו' וכו'..
אז,
מה שאני רוצה זה למצוא דרך לקבל במערך 3 נתונים בבת אחת.
כי אם אני אעשה
קוד PHP:
array("colume" => "operator", "value" => "***")
אז, א. לא יהיה לי מה לכתוב במקום ה***.
ו-ב. הלולאה (foreach), תמשיך ותחשיב את זה כ-חדש.
לכן רשמתי בהודעה הראשונה,
אם יש דרך לעשות משהו כזה:
קוד PHP:
array("colume" => "operator" => "value")
בצורה דומה/אחרת, כי בצורה הזאת אני יודע שזה לא עובד.
וגם ביקשתי משהו פשוט,
כדי שיהיה אפשר להזין את הנתונים בצורה פשוטה, הרי כל המטרה זה שהפונקצייה תעשה הכל לבד, ולא שאני אתחיל להזין לה בדיוק מה שצריך להיות (שזה אומר ליצור משתנים חדשים לכל שורה ודברים כאלה..).
אם יש הצעות,
אני אשמח לשמוע
עכשיו,
tnadav1 הציע טבלה דו מימדית, אבל יחסית זה גם נחשב מסובך (כי כמו שאמרתי, זה ליצור משתנים ידנית..)
נניח
קוד PHP:
$data['0']['0']='colume'; $data['0']['1'] = 'operator'; $data['0']['2'] = 'value'; $data['1']['0'] = 'colume1'; ... ... ...
שזה אחלה,
אבל אני רוצה שמה שזה עושה - יבוצע אוטומטית, ולא יצטרכו להזין את המספרים למערכים וגם שיהיה אפשר לעשות אח"כ foreach או משהו אחר, שיבדוק.
_____________________________________
|