PHP kullanarak genişletilebilir bir formu işlemek için olası yolları nelerdir?

2 Cevap php

Ben geri birinci yabancı anahtarını içeren bir tanesi iki tablo vardır bir veritabanı var. Buna benzer:

Table1
    id
    description
    some
    other
    information

Table2
    table1ID
    Some
    other
    information

Her tablo1 için tablo2 girişlerin herhangi bir sayı olabilir. Kullanıcıların tablo 1 ve 2'ye yeni öğeler eklemek sağlayan bir form oluşturmak gerekiyor. Ben projelerin bir dizi bu konuda çalıştırmak. Birinde, oyun istatistikleri oynuyor rolünü kurtarıyor. Tablo1 araçlar tablo ve Table2 aracın silahların her biri hakkında bilgi tutar.

Ben bu işlemek için iki yoldan düşünebilirsiniz. Tek bir form tüm bilgileri gösterir, ve onlara ihtiyaç olarak kullanıcılar her silah için yeni alt-formlar eklemek için izin için Javascript kullanmaktır. Sonra tek seferde işlemek. Ancak, bu biraz çirkin ve açıkçası, javascript dayanır. Yani javascript kapalı olanlara samimi değil.

Aklıma başka bir yol, birden fazla sayfa var olacaktır. İlk sayfa sonra silah veri girmek için yanında vurabilecek, kullanıcının genel veri girmek için izin verecek. Onlar sonraki vurdu Her zaman, onlar yeni bir silah girebilir. Sonunda tamamen girilen araç onlara görüntülenir olacağını ve onlar bu yüzden teslim, onlar hazır olduğunda, seçim ve bunun gibi her bölümünü geri gitmek ve düzenlemek mümkün olacaktır.

Bir yandan, bu şekilde birinci daha çok işlem gerektirmektedir. Bu çok daha karmaşıktır. Bu kullanıcı üzerinde çalışırken aracın yaratılış her adımı geçici depolama için veritabanına eklenecek gerektirecektir. Bu eksik olarak işaretlenmiş olması gerekir. Ben tüm tamamlanmamış araçlar temizlemek için cron çeşit oluşturmak gerekir.

Diğer yandan hiçbir javascript kullanır.

Bu gibi kullanım durumları başka yolları var mı? Eğer değilse, bu iki yöntemlerden hangisinin daha iyi uygulama olarak kabul edilir? Geçici olarak db ekleme ile ikinci yöntem form sayfaları arasında veri asmak için bir yolu var mı?

Ben bana uygun araçlar PHP, javascript, html / css (tabii ki), ve bir linux işletim sistemi, bir MySQL veritabanı vardır.

2 Cevap

Ne yapardın javascript kullanmaktır. Benim bakış itibaren, birçok insan günümüzde javascript kapattınız.

Eğer javascript kullanmamayı tercih Ama, eğer ekstra yükü önlemek için başka bir yolu yoktur.

You could try to store the second table resultset in a session or cookie.

En gerçekler edelim, HTTP büyük veri sebat yetenekleri yoktur.

İyi şanslar!

Ben sadece JavaScript kullanabilirsiniz. Sadece derlenmiş uygulamaları gibi, bu kullanıcının sistem gerekirse, bu vb JavaScript, Flash, içerir, minimum gereksinimleri karşılayan gerektirir tamamen pratiktir.

İşte o zaman bir alternatif düşünmelisiniz, sen pazar iseniz büyük ölçüde paranoyak ve Lynx kullanıcıları olduğunu söyledi.

Geçici verileri saklamak gerekiyorsa, ben veritabanında koymak olmaz. Bunun yerine, bu oturumları kullanmak için harika bir yerdir. Tek seçenek (oturumları bazı ortamlarda kullanılamaz) bir veritabanı tablosuna geçici verileri saklamak için ise, o zaman ben senin gerçek veriler ayrı bir tabloda tüm bu geçici veri depolama ve MySQL memory kullanmanızı öneririm Bu geçici tablo için tablo motor.