02. september 2008 - 17:51Der er
12 kommentarer og 1 løsning
Prefix på returnerede rækker.
Hej Eksperter,
Jeg leder efter en metode, hvormed jeg kan hente forskellige tabeller ud i samme forespørgsel, med hvert deres prefix.
En måde at gøre det på, er ved at give hver række et nyt navn, som her: SELECT table1.id as tbl1_id, table1.title as tbl1_title, table1.ip as tbl1_ip, table2.id as tbl2_id, table2.name as tbl2_name FROM table1 JOIN table2 ON table2.id = table1.row
Men det kan hurtigt gå hen og blive noget rod, når tabellerne har mere end et par rækker.
arne_v -> "De fleste henter kolonne paa index fremfor navn eller bruger kolonnenavne som ikke konflikter." - Jeg er ikke med?
"Det bedste du kan goere er nok at skrive en lille funktion som modificerer dine SQL queries inden de udfoeres." - Det tror jeg bliver noget rod, medmindre du har noget specielt i tankerne?
arne_v -> "eller bruger kolonnenavne som ikke konflikter." - Det er svært når kolonnerne har det samme formål. Eksempelvis går "id" igen, i de fleste tabeller. "title", "desc", "otype", "oid", "date", er også brugt ofte.
"DESC og DATE er meget dårlige feltnavne, da de er reserverede ord." - Det har du også ret i, dem får jeg lige ændret.
"For at undgå den her slags problemer vælger man netop nogle ikke at bruge ffeltnavne som id men i.s.f. fooid og barid." - Det går bare ikke her, da nogle kolonner har det samme formål, og det ville blive noget rod med forskellige navne.
"Jeg tænker på en lille funktion som kan bruges som:" - Hvad med noget ala. dette:
# tbl1.id as obj_id, tbl1.title as obj_title, tbl1.text as obj_text, tbl1.date_submit as obj_date_submit
Så kan jeg evt. lave en seperat fil med disse "kolonne-arrays", så jeg bare kalder "sqlcPrefix( $sqlc_tbl1['all'], 'tbl1', 'obj' );", for at få mine prefixed kolonner.
Er det noget som vil virke i længden? Er der noget jeg har overset?
"Mere noget a la:" - Ja, det ville virke, men sådan som min side er bygget op, passer den anden løsning bedre ind og er lettere at arbejde med.
Tak for hjælpen!
Synes godt om
Ny brugerNybegynder
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.