PHP ve MySQL ile kullanıcı yapılandırılabilir formlar

2 Cevap php

Biz (php ve mysql) bina bir online uygulama veri yakalama için kendi formlarını oluşturmak ve mevcut ORM en saygı, bir veritabanında bu verileri kaydetmek edebilmek için kullanıcılar gerektirir.

"Sabit kodlanmış" formları daha sonra biz sadece bizim kullanıcılara formlarda bulunan form alanlarını tanımlamak gibi ancak normalleştirilmiş verileri kendimizi saklamak için db tabloları kurmak istiyorsanız, biz uygulamak için devam etmek için en iyi yolu nedir emin değiliz Bu işlevsellik.

Biz meta veri veya bizim DB için veri soyutlama katmanı çeşit düşünmek gerekiyor? Google biz bu konuda gitmek gerekir ne hakkında emin değilseniz çok fazla yardımcı olmamıştır.

Doğru yönde herhangi bir işaretçiler minnettar olurum!

2 Cevap

Birçok içerik yönetim sistemleri, farklı şekillerde bu sorunu çözmek.

Örneğin, Drupal, kullanıcılar CCK module ile (özel formlar ile) kendi özel içerik oluşturabilirsiniz. Modülü kullanıcı oluşturabileceğiniz alan farklı tanımlar, ardından veri depolamak için belirli veri türleri ile tabloları oluşturur.

Bazı ipuçları:

  1. Define your field types - kullanıcılara farklı alan türlerini (örneğin, seçin kutusunda, dize, radyo) bir seçim vererek düşünün.

  2. Create tables for user defined fields - Her alan tipi, belirli bir SQL veri türü olacak. Bu veri türlerini kullanarak bir tablo tanımlayın. Örneğin, bir seçim kutusu bir enum eşleştirilmiş olabilir ve bir giriş metin öğesi bir varchar sütunu eşleştirilir olabilir.

  3. Add data to the new tables - biraz normalleştirilmiş bir şekilde veri depolamak için yeni tabloları kullanın.

Açıkçası orada çok farklı yaklaşımlar vardır, ancak bu sadece bir kaç öneri.

Benim sorun için bir çözüm buldum, öylesine benzer bir sorun birlikte gelen tüm bu insanlar şu artcles bir göz var -

http://www.adaniels.nl/articles/an-alternative-way-of-eav-modeling/

http://weblogs.sqlteam.com/davidm/articles/12117.aspx

Umarım bu yardımcı olur.