in mijn cms wil ik dat de gebruikers de data in excel kunnen openen, dus ik exporteer de gegevens naar een .xls bestand
Een gebruiker moet wel zelf de velden kunnen selecteren die hij in zijn excel sheet wil hebben.
Heb dus een form gemaak waarin de velden die je wilt hebben kunt selecteren, deze worden vervolgen in een array gezet.
Hoe kan ik in de query de velden uit de tabel halen die in de array staan?
script
Een gebruiker moet wel zelf de velden kunnen selecteren die hij in zijn excel sheet wil hebben.
Heb dus een form gemaak waarin de velden die je wilt hebben kunt selecteren, deze worden vervolgen in een array gezet.
Hoe kan ik in de query de velden uit de tabel halen die in de array staan?
script
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
| <?php //export naar excel require("config.php"); // Form, laat de vinden zien waaruit gekozen kan worden if ($preveld AND !$veld) { ?> <form name="form1" method="post" action="?veld=1"> <table width="45%" border="0" cellpadding="0" cellspacing="0"> <? $fields = mysql_query('SELECT naam1, naam2, email, nummer, gsm FROM users'); $field_num = mysql_num_fields($fields); $i=0; echo $field_num . " veld(en) gevonden<br>\n"; while ($i < $field_num){ $name = mysql_field_name ($fields, $i); ?> <tr> <td width="31%"><? echo $name; ?></td> <td width="69%"><input name="veldnaam[]" type="checkbox" id="veld" value="<? echo $name; ?>,"></td> </tr> <? $i++; } ?> </table> <p> <input type="submit" name="Submit" value="exporteer naar excel"> </p> </form> <? } // haal de gekozen velden uit database en open excel if ($veld AND !$preveld) { $veldnamen = $_POST['veldnaam']; //---------------------------------------------------------------- $result = mysql_query('SELECT ??????????? FROM users'); $count = mysql_num_fields($result); //----------------------------------------------------------------- for ($i = 0; $i < $count; $i++){ $header .= mysql_field_name($result, $i)."\t"; } while($row = mysql_fetch_row($result)){ $line = ''; foreach($row as $value){ if(!isset($value)){ $line .= " \t"; } elseif ($value != ''){ $line .= $value."\t"; } else{ $line .= " \t"; } } $line = str_replace("\t".'$', '', $line); $data .= trim($line)."\t \n"; } header("Content-Type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename=excelfile.xls"); header("Pragma: no-cache"); header("Expires: 0"); echo $header."\n".$data; } ?> |