/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
admin-værktøj til mit code library?
Fra : Niels Andersen


Dato : 09-01-02 16:44

Når der er en opgave der skal løses tit, kan vi vel hurtigt blive enige om,
at det er godt at skrive noget kode til det en gang for alle.
Og hvad PHP angår skal det gerne gøres på en måde, så det ikke diktere
udseende (altså html'en).

Der er dog en situation som jeg sidder i meget tit, og som jeg ikke lige kan
få en ide til at gøre nemmere.

Næsten alle sider jeg laver har en "admin"-del. Og den del består næsten
altid af den samme funktion, gerne i adskillige varianter: Nemlig at
redigere tabeller i databasen.

Det er altid noget med en liste over hvad der i tabellen (som måske kan
sorteres på forskellige måder), hvor man kan redigere, slette eller oprette
en ny.
Når man så redigerer eller opretter en "ting" fra tabellen er det noget med
tekstfelter (både med og uden linjeskift), dropdowns, checkboxe osv. Måske
kommer indholdet i en dropdown (el. lign.) fra en anden tabel, og så vil det
måske være relevant at kunne oprette en ny i stedet for blot at vælge en
eksiterende.

Jeg synes de er blevet udfatteligt kedelige at lave, og det kan desværre
ofte ses på resultatet. Men jeg har ikke den store ide til hvordan jeg kan
skrive noget kode, som kan klare det grundlæggende i systemet.

Hvad gør i andre? Jeg gerne have inspiration til en ny stump i mit code
library, eller måske en henvisning til noget eksisterende, jeg kan kigge i.
:)

--
Mvh.

Niels Andersen



 
 
Mads Lie Jensen (09-01-2002)
Kommentar
Fra : Mads Lie Jensen


Dato : 09-01-02 17:30

On Wed, 9 Jan 2002 16:44:29 +0100, "Niels Andersen"
<niels-usenet@myplace.dk> wrote:

>Næsten alle sider jeg laver har en "admin"-del. Og den del består næsten
>altid af den samme funktion, gerne i adskillige varianter: Nemlig at
>redigere tabeller i databasen.

<klip>

>Hvad gør i andre? Jeg gerne have inspiration til en ny stump i mit code
>library, eller måske en henvisning til noget eksisterende, jeg kan kigge i.
>:)

Jeg startede for længe siden med at bruge phplibs oohforms-klasse, som
gjorde det ret nemt at definere formularfelter og få indtastningerne
valideret.
Det udviklede sig... jeg lavede en klasse som automatisk kunne
udskrive hele formularen udfra de definerede formularfelter.
Det udviklede sig - igen.. jeg byggede en klasse så man ved bare at
føje lidt mere info til sin formulardefinition automatisk får hentet
info ud fra databasen og sat ind i formularen og automatisk smidt ind
igen.
Og den blev igen udbygget til også at have funktioner til at vise en
liste over poster, med mulighed for at redigere, tilføje og slette
dem.

Så jeg er efterhånden nede på at kunne redigere en hel tabel bare med
noget ala følgende:
<?php
//require div. filer (5-6 stykker)

$form = new DBI_form($dbh, $table, $id, "id=\$key", "id",
$table."_seq");
$form->add_element(array(
   "type" => "text",
   "name" => "navn",
   "label" => "Navn",
   "size" => LEKSIKON_INPUT_TXT_SIZE,
   "maxlength" => "50",
   "valid_regex" => "[[:alnum:]]",
   "valid_e" => "<B>Navn:</B> Skal udfyldes<br>",
   "db" => array(
      "db_field" => "navn",
      "db_list" => 1,
      'unique_e' => "<b>Navn:</b> Det angivne findes allerede i
databasen<br>"
   ),
   "value" => $navn));
$form->add_element(array(
   "type" => "hidden",
   "value" => $id,
   "name" => "id"));

$form->add_element(array(
   "type" => "submit",
   "name" => "submit",
   "value" => ($id && $id != DBI_FORM_ADDNEW ? "Opdater" :
"Tilføj")));

$form->add_element(array(
   "type" => "reset",
   "name" => "reset",
   "value" => "Nulstil"));
$form->mode = DBI_FORM_FULL;

$form->handle_form("submit", $returnto, "POST", &$p);
?>

Flere felter i formularen? Så fylder man bare en add_element mere ind
i. Og det hele er pakket pænt ind i sitens layout. Skal der nye
redigeringssider, så er det hurtigt klaret med lidt klippe-klistre og
retten nogle få steder.

Selv er jeg vældigt glad for disse classer...

--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk

Directory Opus - nu også til windows - http://www.gpsoft.com.au

Jacob Bunk Nielsen (09-01-2002)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 09-01-02 18:56

"Niels Andersen" <niels-usenet@myplace.dk> writes:

> Næsten alle sider jeg laver har en "admin"-del. Og den del består næsten
> altid af den samme funktion, gerne i adskillige varianter: Nemlig at
> redigere tabeller i databasen.

Jamen, er det så ikke et (tilstrækkelig avanceret) contentmanagement
system du efterspørger, eller misforstår jeg dit spørgsmål?

--
Jacob - www.bunk.cc
Time flies like an arrow. Fruit flies like a banana.

Niels Andersen (09-01-2002)
Kommentar
Fra : Niels Andersen


Dato : 09-01-02 21:15

"Jacob Bunk Nielsen" <spam@bunk.cc> wrote in message
news:spamdrop+m3zo3nv26g.fsf@paven.bunk.cc...
> "Niels Andersen" <niels-usenet@myplace.dk> writes:
> > Næsten alle sider jeg laver har en "admin"-del. Og den del består næsten
> > altid af den samme funktion, gerne i adskillige varianter: Nemlig at
> > redigere tabeller i databasen.
>
> Jamen, er det så ikke et (tilstrækkelig avanceret) contentmanagement
> system du efterspørger, eller misforstår jeg dit spørgsmål?

Det tror jeg du gør.

Det skal bare være noget standard-kode som gør det nemt at lave et værktøj,
man kan bruge til at redigere indholdet af en tabel.

Mads har givet mig et par ting at tænke over, men jeg er stadig åben for
mere inspiration. :)

--
Mvh.

Niels Andersen



Mads Lie Jensen (10-01-2002)
Kommentar
Fra : Mads Lie Jensen


Dato : 10-01-02 08:41

On Wed, 9 Jan 2002 21:15:02 +0100, "Niels Andersen"
<niels-usenet@myplace.dk> wrote:

>Mads har givet mig et par ting at tænke over, men jeg er stadig åben for
>mere inspiration. :)

Glæder mig - jeg tænker i øvrigt på at frigive mine klasser når jeg
får rydder lidt op i dem og de bliver lidt mere færdige.


--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk

Directory Opus - nu også til windows - http://www.gpsoft.com.au

Jacob Bunk Nielsen (09-01-2002)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 09-01-02 23:57

"Niels Andersen" <niels-usenet@myplace.dk> writes:

>> [ ... ] eller misforstår jeg dit spørgsmål?
>
> Det tror jeg du gør.

Øv

> Det skal bare være noget standard-kode som gør det nemt at lave et værktøj,
> man kan bruge til at redigere indholdet af en tabel.

.... og PHPMyAdmin er for omfattende? Eller er det måske snarere en
wrapper (på et endnu højere abstraktionsniveau) til en databaseklasse
du søger?

.... ja, undskyld jeg spørger så søgende, men jeg synes ikke
umiddelbart at dit første indlæg var helt klart, det virkede lidt som
om du ikke helt selv er klar over hvad du søger ... forstå mig ret,
men det er selvfølgelig nok også derfor du spørger som du gør

> Mads har givet mig et par ting at tænke over, men jeg er stadig åben for
> mere inspiration. :)

På mit tidligere arbejde (hvor vores primære produkt var et content
management system i PHP) pakkede vi ligesom Mads tingene ind i
forskellige wrappere i det omfang det var muligt. Det blev naturligvis
en del lettere ved at produktet der sælges til de forskellige kunder
er relativt ens, og man derfor ikke behøver at rette i sin wrapper for
hver kundes database.

--
Jacob - www.bunk.cc
Where there's a will, there's a relative.

Thomas Jensen - pil.~ (10-01-2002)
Kommentar
Fra : Thomas Jensen - pil.~


Dato : 10-01-02 08:59

On Wed, 09 Jan 2002 23:56:59 +0100, Jacob Bunk Nielsen <spam@bunk.cc>
wrote:

>"Niels Andersen" <niels-usenet@myplace.dk> writes:
>
>>> [ ... ] eller misforstår jeg dit spørgsmål?
>>
>> Det tror jeg du gør.
>
>Øv
>
>> Det skal bare være noget standard-kode som gør det nemt at lave et værktøj,
>> man kan bruge til at redigere indholdet af en tabel.
>
>... og PHPMyAdmin er for omfattende?

som jeg forstår spørgsmålet så ja... eller det vil sige. PHPmyAdmin
matcher ikke målgruppens (slutkundens behov) for at oprette, rette og
slette poster i givne tabeller.

Man ønsker ikke at give den typiske slutkunde direkte adgang til
databasen.

> Eller er det måske snarere en
>wrapper (på et endnu højere abstraktionsniveau) til en databaseklasse
>du søger?

nej, det er nogle klasser/en måde at genbruge kode fra gang til
gang... trivielt gentagene arbejde bør man tænke sig ud af

>... ja, undskyld jeg spørger så søgende, men jeg synes ikke
>umiddelbart at dit første indlæg var helt klart, det virkede lidt som
>om du ikke helt selv er klar over hvad du søger ...

sådan opfattede jeg det nu ikke

>forstå mig ret,
>men det er selvfølgelig nok også derfor du spørger som du gør
>
>> Mads har givet mig et par ting at tænke over, men jeg er stadig åben for
>> mere inspiration. :)
>
>På mit tidligere arbejde (hvor vores primære produkt var et content
>management system i PHP) pakkede vi ligesom Mads tingene ind i
>forskellige wrappere i det omfang det var muligt. Det blev naturligvis
>en del lettere ved at produktet der sælges til de forskellige kunder
>er relativt ens, og man derfor ikke behøver at rette i sin wrapper for
>hver kundes database.

netop

--
vh
Thomas Jensen, pil.dk
Nyt produkt: http://pil.dk/produkter/vserver/

Niels Andersen (10-01-2002)
Kommentar
Fra : Niels Andersen


Dato : 10-01-02 09:07

"Thomas Jensen - pil.dk" <tj@dev.null> wrote in message
news:78iq3uggn0r4rppgd2jkj02io4jp20ied0@4ax.com...
> >... og PHPMyAdmin er for omfattende?
> som jeg forstår spørgsmålet så ja... eller det vil sige. PHPmyAdmin
> matcher ikke målgruppens (slutkundens behov) for at oprette, rette og
> slette poster i givne tabeller.

Du har vist forstået det fuldstændigt! :)

Du har i hvert fald sagt det jeg mente, bare bedre formuleret. Måske skulle
jeg gå i seng og få min nattesøvn, jeg synes i hvert fald selv, at jeg
plejer at være bedre til at formulere mig. :)

--
Mvh.

Niels Andersen



Niels Andersen (10-01-2002)
Kommentar
Fra : Niels Andersen


Dato : 10-01-02 09:04

"Jacob Bunk Nielsen" <spam@bunk.cc> wrote in message
news:spamdrop+m38zb7uo90.fsf@paven.bunk.cc...
> > Det skal bare være noget standard-kode som gør det nemt at lave et
værktøj,
> > man kan bruge til at redigere indholdet af en tabel.
>
> ... og PHPMyAdmin er for omfattende?

phpMyAdmin er noget helt andet. :)

Fx i en tabel med et felt, hvor der står id på noget i en anden tabel, der
vil jeg ikke skulle skrive en id. Jeg vil se en liste over hvad der er i den
anden tabel, og vælge ud fra beskrivelsen.

Desuden er phpMyAdmin jo ikke lige noget man integrerer i sidens layout,
begrænser til de relevante tabel osv.

> ... ja, undskyld jeg spørger så søgende, men jeg synes ikke
> umiddelbart at dit første indlæg var helt klart, det virkede lidt som
> om du ikke helt selv er klar over hvad du søger ... forstå mig ret,
> men det er selvfølgelig nok også derfor du spørger som du gør

Hvis jeg vidste hvad jeg ville have, så ville jeg bare lave det. :)
Spørgsmålet er, hvad det er jeg skal lave. :)

Hver gang jeg løser den opgave er der en hulens masse kedeligt kode jeg
skrive forfra hver gang. Men jeg har ikke lige fået den geniale ide der gør,
at jeg kan separere den trivielle kode fra den unikke kode, så jeg kan
genbruge den trivielle del.

Og det er det, jeg søger. Idéen... :)

> > Mads har givet mig et par ting at tænke over, men jeg er stadig åben for
> > mere inspiration. :)
>
> På mit tidligere arbejde (hvor vores primære produkt var et content
> management system i PHP) pakkede vi ligesom Mads tingene ind i
> forskellige wrappere i det omfang det var muligt. Det blev naturligvis
> en del lettere ved at produktet der sælges til de forskellige kunder
> er relativt ens, og man derfor ikke behøver at rette i sin wrapper for
> hver kundes database.

Det er også lige præcis det jeg gør. Det kunden får, ser helt unikt ud. Men
bag ved ligger der en masse genbrugskode. Det gør det nemmere (og dermed
billigere og sjovere) at lave et godt produkt, og man får bedre mulighed for
at gøre noget ud af detaljerne, som brugerne er rigtigt glade for. :)

Denne gang mangler jeg bare lige ideen til hvordan det skal gribes an.

--
Mvh.

Niels Andersen



Jacob Bunk Nielsen (10-01-2002)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 10-01-02 13:46

Thomas Jensen - pil.dk <tj@dev.null> writes:

>>... og PHPMyAdmin er for omfattende?
>
> [ ... ]
> Man ønsker ikke at give den typiske slutkunde direkte adgang til
> databasen.

OK, så tror jeg at jeg er ved at fatte hvad det er Niels er ude efter


> nej, det er nogle klasser/en måde at genbruge kode fra gang til
> gang... trivielt gentagene arbejde bør man tænke sig ud af

Ja, men problemet er jo netop at det ikke altid er helt trivielt.
Forskellige kunders behov udmønter sig jo ofte i forskelligt
databasedesign og dermed bliver det i bedste fald bare svært at lave
noget der er anvendeligt.

Så spørgmålet handler måske mere om at få opbygget et databaseskelet
med tilhørende PHP-wrappere, som dækker over det meste man kan komme
ud for at skulle putte på et standard website?

--
Jacob - www.bunk.cc
As of next week, passwords will be entered in Morse code.

Niels Andersen (10-01-2002)
Kommentar
Fra : Niels Andersen


Dato : 10-01-02 13:52

"Jacob Bunk Nielsen" <spam@bunk.cc> wrote in message
news:spamdrop+m3y9j6fk7n.fsf@paven.bunk.cc...
> Ja, men problemet er jo netop at det ikke altid er helt trivielt.

Det er også bare det trivielle, jeg vil gøre noget ved.

> Forskellige kunders behov udmønter sig jo ofte i forskelligt
> databasedesign og dermed bliver det i bedste fald bare svært at lave
> noget der er anvendeligt.

Nah. Det bygger tit på det samme.
En tabel med en id, tekst-felter (lige til at redigere), og/eller nogle
felter med id'er der refererer til andre tabeller.
Mange af de ting jeg laver overholder den stuktur.

> Så spørgmålet handler måske mere om at få opbygget et databaseskelet
> med tilhørende PHP-wrappere, som dækker over det meste man kan komme
> ud for at skulle putte på et standard website?

Hmm... Det er vist også det, jeg vil have... :)

--
Mvh.

Niels Andersen



Jacob Bunk Nielsen (10-01-2002)
Kommentar
Fra : Jacob Bunk Nielsen


Dato : 10-01-02 14:21

"Niels Andersen" <niels-usenet@myplace.dk> writes:

>> Så spørgmålet handler måske mere om at få opbygget et databaseskelet
>> med tilhørende PHP-wrappere, som dækker over det meste man kan komme
>> ud for at skulle putte på et standard website?
>
> Hmm... Det er vist også det, jeg vil have... :)

Jeg var på mit tidligere arbejde med til at lave noget baseret på XML
og XSLT, det var ret fikst. På den måde får man delt indhold og
design, så forskellige mennesker kan arbejde med her sin del.

Det giver naturligvis lidt ekstra arbejde til serveren at den skal
konvertere data mellem noget der ligger i en pæn SQL-database, XML og
så til sidst til HTML. Men reelt er det nok ganske få danske websteder
der er store nok til at det er et egentligt problem. Jeg har i hvert
fald kendskab til et stort site der kører med denne teknologi uden
problemer.

Ulempen er naturligvis at man skal bruge lidt tid på at finde ud af
hvad XML og XSLT er for noget, og at det er relativt nye teknologier,
og XSLT-parsere derfor ofte er lidt beta-agtige.

--
Jacob - www.bunk.cc
System going down in 5 minutes.

Søg
Reklame
Statistik
Spørgsmål : 177505
Tips : 31968
Nyheder : 719565
Indlæg : 6408554
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste