נתונים מעובדים ע"י קוד השרת בשימוש בספריית editor.datatables.net
-
מדובר על PHP.
בתוך מסד הנתונים מופיעים נתונים שונים מהמוצג בטבלה בקליינט (של datatables). לדוגמא בטבלה של datatables כתוב המילים 'כן' או 'לא', בעוד בטבלה האמיתית בשרת זה כתוב 1 ו- 0.
גם כאן ב-תיבה עם הselect, אם בוחרים עדיפות 1 או 5 בטופס, אז בטבלה שבקליינט (datatables) לא מופיע הביטוי 'העדיפות הגבוהה' או 'העדיפות הנמוכה' אלא מופיעים רק הערכים האמיתיים של ה-option's דהיינו הקודים 1 או 5.
האופציה שלי היא להשתמש בקוד צד שרת ולעשות מניפולציות על הערכים שמתקבלים מהקליינט. השאלה איך עושים את זה.
(הכי טוב היה אם היה לי את שם המשתנה (הARRAY) שהנתונים נמצאים שם, ואשנה את זה עוד לפי תחילת הרצת הקוד של העורך).
-
מצאתי ב-Headers את נתוני הטופס שנשלח ע"י הקליינט, ככה:
data[12674][citi_name]: רמת גן
ואם כן הבעיה הראשונה של עצם הגישה לנתונים, נפתרה.
אבל הבעיה כרגע אחרת.
הנתונים הם דינמיים וכמו שרואים בדוגמא הנ"ל הם מתקבלים לפי הID (הרמה הראשונה של המערך DATA, בדוגמא הנוכחית 12674). אבל כיון שהID הוא דינמי, אני צריך לגשת אליהם עם משתנה דינמי שמקבל את הנתונים ברמה שאחרי הID, לפי מיקום האובייקט במערך.
הבעיה בזה, שכשאני עושהecho ( $_REQUEST['data'][0]['citi_name']);
יש שגיאה
Undefined offset: 0 in /home/public_html/staff.php on line 177
-
@chagold אמר בנתונים מעובדים ע"י קוד השרת בשימוש בספריית editor.datatables.net:
הבעיה בזה, שכשאני עושה
echo ( $_REQUEST['data'][0]['citi_name']);יש שגיאה
Undefined offset: 0 in /home/public_html/staff.php on line 177יש דרך 'להמיר' מערך אוסיאציבי למערך רגיל, ע"י יצירת מערך של כל המפתחות במערך הרצוי, ואז גישה לאבר במערך הרצוי דרך הערך המתקבל מהאינדקס במערך החדש, כשהערך במערך החדש הוא המפתח של המערך הרצוי.
אני 'קצת' עייף אז כנראה לא הובנתי, תחפש בגוגל.
-
@chagold אמר בנתונים מעובדים ע"י קוד השרת בשימוש בספריית editor.datatables.net:
echo ( $_REQUEST['data'][0]['citi_name']);
התחביר לא יעבוד כי אתה צריך להשים את המפתח האמיתי, השרת מחפש איבר שהמפתח שלו 0, והוא לא מוצא כי המפתח הוא 12674.
אתה יכול לעשות כך:echo ( $_REQUEST['data'][array_keys($_REQUEST['data'])[0]]['citi_name']);
שזה בעצם מאחזר את המפתחות של האיברים לתוך מערך חדש, ואז אתה ניגש לאיבר הראשון במערך 0 וכך יש לך את המפתח שנוצר.
-
@chagold בדיוק לזה התכוונתי:
@חוקר אמר בנתונים מעובדים ע"י קוד השרת בשימוש בספריית editor.datatables.net:
@chagold אמר בנתונים מעובדים ע"י קוד השרת בשימוש בספריית editor.datatables.net:
echo ( $_REQUEST['data'][0]['citi_name']);
התחביר לא יעבוד כי אתה צריך להשים את המפתח האמיתי, השרת מחפש איבר שהמפתח שלו 0, והוא לא מוצא כי המפתח הוא 12674.
אתה יכול לעשות כך:echo ( $_REQUEST['data'][array_keys($_REQUEST['data'])[0]]['citi_name']);
שזה בעצם מאחזר את המפתחות של האיברים לתוך מערך חדש, ואז אתה ניגש לאיבר הראשון במערך 0 וכך יש לך את המפתח שנוצר.