كيف يمكنني إنشاء "شجرة" متعددة التسلسل الهرمي؟(إذا كان من الممكن أن يسمى شجرة)
-
22-07-2019 - |
سؤال
لدي قائمة القول courses
و certificates
و fun_days
.هذه كلها تسمى objects
.كل كائن له متطلباته object_requirements
.يمكن أن يكون الشرط أحد الأمرين objects
أو عدة منهم.
يمكنك أن تأخذ أي object
بدون object_requirements
ك starting point
."يسمح للجميع بذلك يملك تلك الكائنات."
لذلك يمكن أن يكون ذلك:
Introduction_course
هي نقطة البداية (لا توجد متطلبات)Introduction_certificate
يمكن الحصول عليها من قبل أولئك الذين لديهمIntroduction_course
(هذاcourse
هو شرط من هذاcertificate
)Funday_swimming
يمكن الحصول عليها من قبل أولئك الذين لديهمIntroduction_certificate
(الشهادة من متطلباتfun_day
).
هل هناك طريقة لإنشاء تمثيل مرئي للتدفق الهرمي أو المنظم إلى حد ما لهذا النظام؟المثال بسيط إلى حد ما، ولكن المتطلبات المتعددة في أي مكان في "الشجرة" يجب أن تكون ممكنة.
هذه هي الطريقة التي أقوم بها بتخزين المتطلبات:
TABLE: OBJECT_REQUIREMENT
OBJECTTYPE (pk)
OBJECTID (pk)
REQUIREMENT_OBJECTTYPE (pk)
REQUIREMENT_OBJECTID (pk)
TABLE: COURSE
OBJECTID (pk)
OBJECTTYPE // value is always [1] for course
TABLE: CERTIFICATE
OBJECTID (pk)
OBJECTTYPE // value is always [2] for certificate
TABLE: FUN_DAY
OBJECTID (pk)
OBJECTTYPE // value is always [3] for fun_day
أوه وأنا أستخدم PHP و MySQL.ولكن أي برنامج يمكنه إنشاء هذه العروض المرئية سيكون موضع ترحيب أيضًا!
المحلول
قد تفكر في شيء مثل الرسم البياني الموجه، والذي قد يكون سؤال SO السابق مفيدًا له:
نصائح أخرى
يمكنك استخدام ال <li>
العلامة، لذلك:
- مقدمة_الدورة
- مقدمة_الشهادة
- funday_swimming
- شهادة أخرى
إذا كنت تحاول إظهاره بتنسيق html.
إذا كنت تريد شيئًا أكثر رسومية، فيمكنك استخدام ملفات svg أو علامات Canvas (في html5) لرسم الرسم البياني، أو استخدم lib_gd فقط لرسم صورة نقطية، وتحويلها إلى خريطة صورة، إذا لزم الأمر.