Avatar billede jasperDK Nybegynder
04. august 2013 - 13:38 Der er 4 kommentarer og
1 løsning

Eksport SQL tabel til csv fil via webrequest

Hej,

Jeg benytter projektstyringsværktøjet qdPM (http://qdpm-ex.com), som et projektstyringsværktøj.

"qdPM is a PHP5 tool relying on the symfony framework version 1.4."

Programmet er bygget op om en SQL database som nedenstående:
- Users (rettigheder)
--- Projects
----- Tasks
------- Taskscomments


Programmet giver mulighed for, at eksportere tasks til en csv fil. Mit problem ligger i, at jeg også vil have eksporteret taskscomments. Jeg har prøvet at ændre koden til at pege på taskscomments tabellen fremfor task tabellen - men uden held. Udskifter jeg blot tabellens navn i koden, så ryger encodingen. Softwaren er placeret på en server, som jeg ikke kan koble direkte op på, så jeg skal på en eller anden måde koble op alá programmet.
Mine evner indenfor PHP er yderst begrænsede, så jeg er ikke sikker på, om jeg er på den rette vej. Skal jeg gå til med en anden approach, er jeg åben for ideer.


Billede af tasks tabel: http://s2.postimg.org/3sf75m055/web16_meebox_net_db16_meebox_net_commissi_qd.png

Billede af taskscomments tabel: http://s11.postimg.org/lfrtdnw9v/web16_meebox_net_db16_meebox_net_commissi_qd.png

Pastebin af action.class.php for tasks "public function executeExport(sfWebRequest $request)":
http://pastebin.com/uWqfd4WC


Er der behov for mere af koden, så poster jeg det gerne.

Tak,
Mvh.
Avatar billede Slettet bruger
04. august 2013 - 14:42 #1
Jeg forstår ikke helt? Er dette en guide? Har du brug for hjælp eller noget helt tredje? :)
Avatar billede jasperDK Nybegynder
04. august 2013 - 15:32 #2
:)

Jeg har brug for hjælp !

Programmet giver mig på nuværende tidspunkt mulighed for at eksportere tabellen tasks til en csv fil - jeg kan bare ikke nøjes med den tabel, jeg vil også have tabellen taskscomments.
Avatar billede jasperDK Nybegynder
06. september 2013 - 12:26 #3
Nå, jeg har skam ikke glemt mit problem, og jeg arbejder aktivt videre med det.

I bund og grund skal jeg benytte følgende SQl-query:

SELECT `tasks`.`description`, `tasks_comments`.`description`, `users`.`name`
FROM tasks, tasks_comments
inner join users on `tasks_comments`.`created_by` = `users`.`id`
Avatar billede jasperDK Nybegynder
10. september 2013 - 07:33 #4
Det er lavet i symfony med doctrine, så min næste test bliver, at ovenstående query skal tilpasses til:

$q = Doctrine_Core::getTable('Tasks')->createQuery('t')
          ->leftJoin('t.TasksPriority tp')
          ->leftJoin('t.TasksStatus ts')
          ->leftJoin('t.TasksLabels tl')
          ->leftJoin('t.TasksTypes tt')
          ->leftJoin('t.TasksGroups tg')
          ->leftJoin('t.ProjectsPhases pp')
          ->leftJoin('t.Versions v')
          ->leftJoin('t.Projects p')
          ->leftJoin('t.Users')   
          )                         
          ->whereIn('t.id',explode(',',$request->getParameter('selected_items')));
Avatar billede jasperDK Nybegynder
03. oktober 2013 - 17:13 #5
Okay, jeg tilgik det med en anden approach.

Jeg fandt ud af, hvordan programmet koblede op til serveren i config filen. Herefter lavede jeg en php fil (connect.php) med forbindelses informationer. Så lavede jeg en php side med en combobox som hev data fra en kolonne. Og en sidste php side som exporterede en query til en csv med en where statement fra comboboxen.
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

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