Új hozzászólás Aktív témák

  • pvt.peter

    őstag

    Sziasztok!

    Igazából nem tudom, hogy melyik témába illik legjobban a kérdésem, PHP+MySql keveréke. Lássuk:

    Adott egy esetlegesen dinamikusan bővülő html form. Ez alatt azt értem, hogy az űrlap alapjáraton tartalmaz mondjuk 2 db textfield meg egy checkboxot. És mindegyik előtt van label.
    Elküldéskor létrehoz az adatbázisban egy táblát melynek neve a form neve, illetve az oszlopok nevei pedig a labelek.
    A sor értéke pedig a megfelelő textfield illetve checkbox értéke.
    A dinamikusan bővülő alatt pedig azt értem, hogy mindig csak hozzáadhatunk pl. textfieldeket.

    Ha az adatbázisban nincs még létrehozva az adott tábla mely a form neve alapján kerül ellenőrzésre, akkor első alkalomnál létrehozzuk a táblát és be is szúrjuk az adatokat.

    Amennyiben van ilyen tábla akkor csak az adatokat szúrjuk be, amennyiben nem adtunk hozzá új beviteli mezőket, tehát emiatt az oszlopok is ua maradtak.

    Amennyiben hozzáadtunk új beviteli mezőket akkor bizony az oszlopok nem fognak megegyezni. Tehát vmilyen módon bővíteni kellene a meglevő struktúrát

    És itt jönne a kérdés: milyen módszer lenne erre a legmegfelelőbb?

    Én arra gondoltam, hogy inicializáláskor, tehát amikor még nem létezik az adott űrlapnévvel táblázat, akkor mindig [beviteli mezők száma]+1 darabszámú oszlopot hoznék létre.
    Ha új mező adódik hozzá, akkor pedig használjuk azt a +1 oszlopot szúrjunk be vmi azonosítót, majd hozzunk létre egy új táblát melynek oszlopainak száma megfog egyezni a következővel:
    1. oszlop: kulcs, mely az előző tábla azonosító értékét tartalmazza
    2.tól (N+1) oszlopig: az újonnan hozzáadott beviteli mezők, mert nem feltétlenül csak 1 -el növelhetjük a beviteli mezők számát
    N+2. oszlop pedig szintén egy üres oszlop, a következő bővítésekre gondolva.

    És innentől kezdve a folyamat ismétlődik, már csak azt kellene kitalálni, hogy az adatok hogyan szúródjanak be a táblákba. Viszont ez így eléggé bonyolult és összetett lenne.

    Van-e esetleg erre vmi hatásosabb módszer? Ki mit ajánlana?

    [ Szerkesztve ]

    Ez egy .50-es rombolópuska, elég szép visszarúgással.

Új hozzászólás Aktív témák