Gå til innhold

autogenerere html forms basert på mysql tabell kolonner


Anbefalte innlegg

Noen som vet om en hendig php funksjon/klasse som kan autogenerere html form basert på kolonner i en mysql tabell?

 

Altså ikke ute etter å hente ut data, men å generere selve html form'ene basert på hvilke kolonner som finnes i en tabell.

 

Skal generere ca 60 forskjellige html form's og ser for meg at det er lettere om dette gjøres automatisk basert på mitt databasedesign enn å manuellt lage 60 forms (på hver sin unike html side).

 

Om ingen vet om noe så har jeg noen spørsmål som kan hjelpe meg litt på vei.

 

Sidene styles så klart via css og jeg var tenkt å bruke et grid system.

Sidene vil ha en max høyde å forholde seg til og 2-4 "kolonner" i grid systemet.

Ser for meg at plasseringen av hvert form element må inn som metadata til hver tabell?

Eller kan jeg ha et eget felt i hver tabell som sier noe om dette?

 

For sistnevnte ser jeg kanskje for meg at jeg har en tabell med f.eks. 10 datafelt kolonner og en "meta" som forteller meg hvilke felt som skal i hvilken grid, hvordan de skal styles (bredde) og hva de skal hete (for å kunne trigge css'en mot de)

 

Jeg må ha mulighet til å styre html formene maksimalt, ikke bare hive de ut og la det bli en uoversiktlig lang html form.

 

Mulig jeg har tenkt meg inn i et hjørne her - så gode tips mottas.

Lenke til kommentar
Videoannonse
Annonse

Du kan jo ta en titt på hvordan formhelperen til phprammeverket Cake ser ut (www.cakephp.org). Den gjør mye av det samme som det du ønsker og gjøre.

 

Du kan jo ta en titt på hvordan formhelperen til phprammeverket Cake ser ut (www.cakephp.org). Den gjør mye av det samme som det du ønsker og gjøre.

Lenke til kommentar

Jeg kjenner ikke til noen ferdig funksjoner for dette, men det er ikke spesielt vannskelig å lage! Det handler jo egentlig om bare å finne et layout du finner fornuftig. Så mappe opp databasen ved hjelp av DESC i forhold til hvilke input element du ønsker å bruke., for eks: varchar(100) = <input type="text" .. osv. Så på den samme måten genererer du opp insert & update settningene for lagring.

Lenke til kommentar

@gather

Skal se litt på det

 

@JcV

Takker.

Jeg skjønner hvor du vil og ser at dette er noe jeg kan bruke, men har ikke helt taket på syntax'en altså.

Kjenner ikke til DESC fra før, prøvde å se etter i mysql men fant ikke noe på stående fot om syntax'en for dette.

(den vil bare fortelle meg om describe som jo bare viser meg tabell oppsettet)

Har du en link med mer lesestoff for meg så finner jeg nok ut av det.

Lenke til kommentar

Eh, nei jeg trenger jo ikke å få beskrevet for meg selv hvordan sql tabellene ser ut.

For det vet jeg jo, samt at det ikke sier noe om hvordan html form feltene skal se ut.

Hvordan jeg får php til å generere selve html form utifra feltene i en tabell er forsåvidt greit nok.

 

Det jeg spørr etter er hvordan jeg kan/bør lagre "design" biten i sql.

Altså at sql tabellen "test" med sine 10 kolonner med (f.eks.) varchar(100) ikke bare blir dumpet ut som et html form med 10 inputboxer alle 100 i "lengde" men at jeg vet hvilken type form element kolonnen skal representeres med og lengde etc. (se eksempel nedenfor også)

 

JcV er inne på hva jeg er ute etter men venter litt på mer info fra vedkommende først.

 

Jeg spurte, fordi jeg anntok at dette kunne lagres som en slags metadata - og jeg tror JcV startet så vidt på beskrivelsen av hvordan men jeg fant desverre ikke noe mer av det så håper å bli sparket i rett retning :)

Om ikke fortsetter jeg bare på min tankerekke i avsnittet under her.

 

Men jeg tror jeg har en slags løsning.

Sett at jeg har en tabell med 10 kolonner med typen varchar(100).

Men at html form'et skal ha varierende lengde på hver av de 10 input boksene relatert til hver sql tabell kolonne.

For å fortelle php dette tenkte jeg å benytte en egen xml-fil som forteller hvordan den gittte tabellen skal formateres som html form.

Altså at jeg har en xml med en hovednode for hver tabell med subnoder som forteller meg hvilke type, lengde etc, hver kolonne i tabellen skal representeres med.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...