Bir formda bu görüntülemek için en iyi yolu?

2 Cevap php

Web sitemde, ben bir özet tablo kullanılarak bağlanır iki tablo var. Ne yapmaya çalışıyorum bir kullanıcı iki tablo (pivot tablonun kayıtları ekleme ve çıkarma) arasındaki ilişkileri güncellemek bildirin. PHP bunu yaparken hiçbir sorunum yok, ama ne ben endişe duyuyorum formu kullanıcıların web tarayıcısında görüntülenir yoludur.

Ben şimdi yapıyorum yolu, her onay kutusunu sütun başlığı ve satır başlığı (veritabanı tablolarını temsil eden) arasındaki ilişkiye karşılık gelen onay kutularını dolu bir tablo sahip olmaktır. Kullanıcı bir rekor bu ilişki (denetlenmeyen bir kutu hiçbir ilişki olmadığı anlamına gelir) için mevcut olmalıdır PHP anlatmak için onay kutusunu kontrol edebilirsiniz. Ancak bu yöntem oldukça birkaç sütun ve epeyce satır varsa oldukça çirkin (dış sayfa sınırları uzanan sütunlar) almak ve kullanmak için biraz sıkıcı olabilir.

Ne kullanıcıya bu formu görüntülemek için iyi bir yol olurdu?

2 Cevap

Belki bir veri ızgarası kullanmak? Bunlar oldukça güçlüdür:

O olsa, Ajax ile çalışmak için zaman alıcı bir görev olabilir.

Bu başka bir şey daha uygulamanın UI hakkında daha fazla olduğu gibi olanı bir arada aşağı gelecek gibi, ben / görmek mümkün olmadan zor olan (bir tek doğru cevabı orada olacak sanmıyorum şeyler) ve kişisel tercihleri ​​ile oynayacak.

Ben akacak birkaç ilerlemeler:

  • Visual feedback
    Make you table more interactive by providing visual feedback to the user. At the most basic level, try adding some colour to the cells - a colour for those that are checked. This will allow the user to quickly see which options are "in play". It may be the reverse of this works better (highlighting unchecked cells) - but this all depends what the form is doing / intending to indicate - i.e. if it's more important to make clear that the unchecked state is bad, you may want these to be red.

Bir sonraki seviye yukarı Bazı dinamik vurgulamasını eklemektir. Tablo çok büyük ise, imlecin altındaki hücreyi uygun satır ve sütun başlığı hücreleri vurgulamak isteyebilirsiniz. Ayrıca kullanıcı 'arkadaşı' hücrelerini incelemek için izin tüm satır / sütun (cross-saç stili) vurgulayın düşünebiliriz.

  • Dynamic table
    Slightly more involved would be to add some spice to you table. Instead of showing rows and columns of check-boxes, use graphical icons / images. They are a lot easier on the eye, and will probably allow you to have tighter control on the dimensions of the table. The entire UI could then be done via Javascript and on-click - which is pretty easy these days if you employ something like JQuery.

  • Split the interface
    This is based on the assumption that all combinations of Table A & Table B aren't setup in the pivot table to begin with - only when a user tries to relate A.item with B.item
    Instead of showing all possible combinations, show only those which are active (have an entry in the pivot table). Then provide the user with a second form (probably of two drop-downs) that allows them to relate a record from the first table to the second.

  • Filter the interface
    Provide the user with the ability to filter the interface - to show only the relationships between a single record from one of the tables. This would have the effect of restricting your table to a single column, making it a bit easier to accommodate in the design.

Ancak, ben yine de kullanıcı böyle görünümü gibi, ne yapıyorsun bağlı olarak, tüm kayıtların "büyük görünüm" almak için izin verecek kayıtların hızla çapraz referans sürü için çok yararlı olabilir.