Hey

ik heb in Phpmyadmin een tabel staan 'users' met de namen en klassen van leerlingen. Het is de bedoeling dat deze gegevens in een csv komen te staan. Uiteraard kan ikd it via phpmyadmin maar dit is niet de bedoeling anders moet ik veschillende mensen toegang geven tot de phpmyadmin en dat wil ik niet.

ik had tot nu toe gedaan:


<?
// Connect database
$database="*****";
$table="users";
mysql_connect("localhost","*****","*******");
mysql_select_db("*******");

$result=mysql_query("select * from $table");

$out = '';

// Get all fields names in table "name_list" in database "tutorial".
$fields = mysql_list_fields("*********",$table);

// Count the table fields and put the value into $columns.
$columns = mysql_num_fields($fields);


// Put the name of all fields to $out.
for ($i = 0; $i < $columns; $i++) {
$l=mysql_field_name($fields, $i);
$out .= '"'.$l.'",';
}
$out .="\n";


// Add all values in the table to $out.
while ($l = mysql_fetch_array($result)) {
for ($i = 0; $i < $columns; $i++) {
$out .='"'.$l["$i"].'",';
}
$out .="\n";
}


header('Content-type: application/csv');
header('Content-Disposition: attachment; filename="export.csv"');

// Open file export.csv.
$f = fopen ('export.csv','w');

// Put all values from $out to export.csv.
fputs($f, $out);
fclose($f);



readfile('export.csv');


?>

ik krijg nu gewoon alle waarden geprint op het scherm maar ik wil echt zo een csv bestand zodat ik kan zeggen opslaan als. iemand een suggestie??
ja maar php is nie >=5.1

dus da zal nie werken he !
kijk even tussen de reacties op php.net

daar staat namelijk ook gewoon de code om de functie te gebruiken zonder php 5.1

edit:
de code
<?php
function fputcsv($filePointer,$dataArray,$delimiter,$enclosure)
{
// Write a line to a file
// $filePointer = the file resource to write to
// $dataArray = the data to write out
// $delimeter = the field separator

// Build the string
$string = "";

// No leading delimiter
$writeDelimiter = FALSE;
foreach($dataArray as $dataElement)
{
// Replaces a double quote with two double quotes
$dataElement=str_replace("\"", "\"\"", $dataElement);

// Adds a delimiter before each field (except the first)
if($writeDelimiter) $string .= $delimiter;

// Encloses each field with $enclosure and adds it to the string
$string .= $enclosure . $dataElement . $enclosure;

// Delimiters are used every time except the first.
$writeDelimiter = TRUE;
} // end foreach($dataArray as $dataElement)

// Append new line
$string .= "\n";

// Write the string to the file
fwrite($filePointer,$string);
}
?>
ik weet al wat mijn fout was ! ik had mijn map geen schrijfrechten gegeven om het bestand .csv aan te maken. Maar nu heb ik nog 2 vraagjes

* de velden worden gescheiden door een komma, hoe kan ik ervoor zorgen dat ze gescheiden worden door een tab ?

* als ik niet alle velden wil, hoef ik toch * te vervangen door bv achternaam, voornaam he? maar dat doet hij niet :s

alvast bedankt voor de andere nuttige tips
alle problemen opgelost.

Ik heb scriptje aangepast zodat ik wel kan kiezen wa ik nodig heb

om te scheiden in verschillende kolommen met je enkel ; gebruiken en niet , hehe

greetz

------------------------TOPIC GESLOTEN---------------

Reageren