Avatar billede tipsen Nybegynder
29. juni 2003 - 18:16 Der er 11 kommentarer og
1 løsning

Klasse til opdatering af db-tabeller - forslag, ideer og kommenta

Hej eksperter

I forbindelse med at jeg er ved at lave et CMS system er der blandt andet brug for at kunne redigere indhold af db-tabeller og jeg har tænkt mig at lave en klasse der helt generelt kan administrere denne opgave!

Her er de tanker jeg har gjort mig indtil videre:

- Ideen er at kunne generere en html-tabel med "Rediger" knap med mindst mulig information som input men samtidig så generelt at det er muligt at bruge samme interface til flere tabeller
- Klassen skal kunne fungere i et samarbejde mellem HTML_QuickForm og HTML_Table som benyttes til at generere hhv. tabel og formular
- Derudover skal der ved tryk på "Rediger" skiftes til en formular hvor den konkrete post kan redigeres!
- Her er der så en lille faldgrube nemlig, at informationen omkring hvilken type formfelt og evt. også hvilken validering der skal benyttes til de enkelte felter i posten, skal fremgå ved kald af klassen - dvs. det er blandt de options der skal til for at instantiere klassen måske?
- Derudover skal der også fremgå navne på tabelfelterne? (eller bare vælg alle felter med *?)
- Hvad med unikt id-felt - det skal låses, så det ikke kan redigeres i formular-visningen!

Dvs. alt i alt skal jeg lave en klasse som med et minimum af input genererer en html-tabel med indholdet fra en db-tabel og for hver enkel post tilføjer en "rediger" knap som leder videre til en formular hvor felterne er valgt så de matcher de enkelte felter for posten.

Det jeg søger er ikke en løsning fra jer, men snarere gode ideer, forslag og kommentarer inden jeg selv går i gang med at kode - simpelthen for at minimere risikoen for at lave dumme programmeringsfejl som følge af dårligt forarbejde med at tænke problemet ordentligt igennem!

Håber I kan hjælpe mig på vej :-)

Mvh

tipsen
Avatar billede fangel Nybegynder
29. juni 2003 - 19:30 #1
og tipsen svor til aldrig at benytte andet end PEAR (http://pear.php.net -red)... igen!

1) umidbart lydder det som en god ide, men hvad med forskellige databaser? skal det kun være til MySQL eller skal det kunne portes til andre databaser?

2) PEAR anyone?

3) slf

4) umidbart synes jeg ikke der skal være så meget validering, men addslashes / htmlentities skader aldrig... og man skal tage højde for NULL / NOT NULL + type af felt!

5) findes jo mysql funktioner til at finde disse, ved ikke med andre databaser...

6) vil jeg også umidbart sige... alle felter med auto_inc... og unikke felter skal ikke stå i form, men i ren-tekst

sig endeligt til hvis du skal have yderligere tanke, dette er bare lige mine umidbare tanker ved projektet / tankerne om dette... (du har mig på MSN hvis du vil fange mig der)

---

og det er rart at se nogle der laver noget konkret og brugbart istedet for "jeg skal bruge en tagwall!"... kan vi så få højnet standarderne...

Morten
Avatar billede tipsen Nybegynder
29. juni 2003 - 19:37 #2
Det er selvfølgelig et afgrænsning hvor generel jeg ønsker klassen skal være - jo mere generel, desto flere anvendelsesmuligheder, men samtidig også tungere i brug til min nuværende problemstilling. Ellers har jeg følgende returkommentarer.

1) Jeg benytter mig selvfølgelig også af DB-klassen fra PEAR, så det vil umiddelbart kunne bruges i flere forskellige databaser.
4) Den validering jeg her omtaler er den validering der skal foretages af formfelterne og her vil jeg benytte mig af de valideringsmuligheder der foreligger i QuickForm
Avatar billede fangel Nybegynder
29. juni 2003 - 19:40 #3
kender ikke nogle af PEAR klasserne, og ved ikke om det er muligt at få returneret felt-navne i alle databaser... men du kan jo undersøge det...

Morten
Avatar billede tipsen Nybegynder
29. juni 2003 - 19:46 #4
Jeg tror jeg holder mig til at jeg supplerer feltnavnene, da jeg ved samme lejlighed skal fortælle hvilket type formfelt indholdet skal vises i!
Avatar billede avminarm Juniormester
30. juni 2003 - 11:47 #5
tipsen>> kan jeg lige stille et sprg??: - jeg sysler selv med et lille CMS for tiden, men jeg kan ikke finde ud af hvad der er smartest i forbindelse med min opdeling af undermapper - template måske??

altså jeg har naturligvis indexfilen i roden men har så f.eks: en modul mappe med de enkelte moduler i (modul/nyhedsmodul/) - hvad gør du?
Avatar billede tipsen Nybegynder
30. juni 2003 - 11:59 #6
Jeg har et template-bibliotek, hvor alt content er placeret - jeg ville helst have placeret det i en db, men det var ikke understøttet af template-systemet (Xipe)! Dvs. i roden har jeg index.php og i templates har jeg bl.a. index.tpl, content01.tpl, content02.tpl,... hvor index.php så indeholder alt logik og index.tpl indeholder skabelonen til den overordnede side og contentxx.tpl filerne indeholder det indhold som skal indsættes på en plads i index.tpl. Håber det gav mening. Har desuden fundet en fin online-editor som hedder SPAW (http://www.solmetra.com/en/disp.php/en_products/en_spaw/en_spaw_about) - kan varmt anbefales!
Avatar billede avminarm Juniormester
30. juni 2003 - 13:18 #7
jo det gav faktisk mening - tak, men hvordan indrager du dataene fra f.eks undermapper - include??
Avatar billede tipsen Nybegynder
28. juli 2003 - 18:23 #8
Det gør jeg vha. de funktioner der ligger i template-klassen.
Avatar billede tipsen Nybegynder
28. juli 2003 - 18:23 #9
dea: Smid et svar.
Avatar billede fangel Nybegynder
28. juli 2003 - 18:30 #10
altid

Morten
Avatar billede tipsen Nybegynder
28. juli 2003 - 18:39 #11
Og tak for dit feed-back!
Avatar billede fangel Nybegynder
28. juli 2003 - 18:40 #12
så lidt ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester