21. august 2006 - 11:54Der er
7 kommentarer og 1 løsning
Find tabel-navn på sidste forespørgsel
Hej, hvis jeg vil finde tabelnavnet på det sidste returnerede resultat af en forespørgsel, findes der så en funktion til det i PHP? Synes at have kigget igennem php manualen uden at finde en funktion der kunne?
Kommunerne har digitaliseret indgangen for borgerne. Men bag skærmen håndteres mange arbejdsgange stadig manuelt mellem systemer, mails og organisatoriske siloer.
Slettet bruger
21. august 2006 - 12:07#1
Det kan ikke lade sig gøre direkte. Det letteste er at sætte en variabel samtidig med at du laver en query, så den altid indeholder den oplysning.
Hvis det er for at finde ud af hvilken af flere queries i en UNION, der gav et resultat, kan man bruge noget i denne stil:
SELECT 'tabel1' AS tabelnavn, felt2, felt3 FROM tabel1 UNION SELECT 'tabel2' AS tabelnavn, felt2, felt3 FROM tabel2
Så kan jeg fange resultatet med mysql_fetch_array f.eks. i $res og så trække tabelnavnet ud som $res['tabelnavn']?
Synes godt om
Slettet bruger
21. august 2006 - 12:37#4
(SELECT 'behandlinger_info' AS tabelnavn, * FROM behandlinger_info) UNION ALL (SELECT 'spec_behandlinger_info' AS tabelnavn, * FROM spec_behandlinger_info) ORDER BY create_date DESC LIMIT 1
Og ja, så kommer navnet i resultat-arrayet nøjagtig som ethvert andet felt i databasen.
Det var forresten ikke så pudsigt endda, at jeg tænkte på union, for det er den eneste situation, hvor man i selve PHP-delen ikke kan vide, hvor resultatet kommer fra. (Ikke helt korrekt, for med stored procedures og lignende avancerede emner kan man også lave sjove ting, men hvis man er kommet så langt, vil man normalt også kende til den løsning, jeg kom med, og den kan også bruges der.)
Okay, nu er jeg stødt på udtrykket Stored Procedures et par gange, kan du forklare hvad det går ud på?
Synes godt om
Slettet bruger
21. august 2006 - 21:53#8
Det er en slags programstump skrevet i SQL, som man kan kalde i stedet for at køre en normal query. Den kan så lave flere forskellige ting efter hinanden eventuelt med betingelser og løkker.
Stored Procedures er i MySQL først understøttet i de nyere versioner, og det kan derfor ikke benyttes på de fleste webhoteller endnu.
Fordelene ved at bruge dem er, at - databaseserveren normalt vil compile dem, når de bliver lavet, og de kører derfor en smule hurtigere en en normal SQL-streng. - man kan samle logikken i databaseserveren, så man ikke behøver skrive samme kode til flere forskellige brugergrænseflader.
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.