Avatar billede mrmox2 Nybegynder
20. november 2014 - 18:19 Der er 3 kommentarer og
1 løsning

2D array (fra SQL query) til CSV

Jeg må kaste håndklædet i ringen og stille et meget åbent spørgsmål.

Min opgave er at:

- Lave en query til MySQL (forbindelsen er mysqli objektorienteret)
- evt. gemme resultatet i et 2D array
- exportere til CSV (gerne med fputcsv)

Jeg kan godt skrive en CSV fil med fputcsv hvis data ligger i et array (mex ex herfra http://www.w3schools.com/php/func_filesystem_fputcsv.asp).

Det har jeg forsøgt at kombinere med http://stackoverflow.com/questions/8849201/how-to-load-mysqli-result-set-into-two-dimensional-array men uanset hvordan jeg drejer der så kan jeg ikek få det til.

mit query er alle data "SELECT * FROM poll"

er der nogen der kan gennemskue det for mig?

Mvh Thomas
Avatar billede michael_stim Ekspert
20. november 2014 - 18:32 #1
Det bliver lidt svært at gennemskue uden kode.
Avatar billede mrmox2 Nybegynder
20. november 2014 - 22:42 #2
Jamen jeg har ikke noget kode der virker bare nogenlunde :)

Min fil er herunder.

Koden består af fire dele.

1+2 er begge to eksempler - den ene er udkommenteret nu men de giver begge samme resultat - uanset hvilken af dem der er udkommenteret: en tom CSV fil

3 er en fungerende måde at lave et array på. Hvis 1+2 er udkommenteret og 3 aktiv så kommer der indhold i filen.

4 er ftp delen som åbenbart virker

må min udfordring er ad denne vej - eller en helt anden - at få data ind på en måde så de kan sendes videre til en CSV fil. Giver det mening?

---------------

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-15">
<title>Statistik klar</title>
<link href="css/indhold.css" rel="stylesheet" type="text/css">
</head>
<body>
array

<?php

include 'includes/connect.php';

// 1 - Dette er koden fra ex på stackowerflow
//$result = $link->query("SELECT * FROM poll");
//$messages = array();
//while($message = $result->fetch_assoc()){
//  $messages[] = $message;
//}

// 2 - Dette er også kode fra ex på stackowerflow
$result = $link->query("SELECT * FROM poll");
$array = array();
while ($array[] = mysql_fetch_assoc($result)) {}

//3 - Med denne kode virker det efter hensigten - det er ex fra w3schools
//$messages = array
//(
//"Peter,Griffin,Oslo,Norway",
//"Glenn,Quagmire,Oslo,Norway",
//);

// 4- FTP

$file = fopen("contacts.csv","w");

foreach ($messages as $line)
  {
  fputcsv($file,explode(',',$line));
  }

fclose($file); ?>
</body>
</html>

----------------
Avatar billede mrmox2 Nybegynder
21. november 2014 - 08:15 #3
Lukker og opretter nyt spørgsmål. Kan se at det hele koncentrerer sig om at få hele SQL resultatet ind i et array.
Avatar billede mrmox2 Nybegynder
21. november 2014 - 09:09 #4
finder lige ud af allerførst hvor det er helt præcist min kæde hopper af
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