Export to CSV. Maar werkt printf in een array wel?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java Developer / Overheid / Complexiteit

Functieomschrijving Wil jij als Java Developer een bijdrage leveren aan een veiliger Nederland en je als Java Developer bezig houden met zeer complexe bedrijfskritische applicaties? Lees dan snel verder! Doorontwikkelen bedrijfskritische applicaties; Aanpassingen maken in de bestaande applicatie; Vertalen van jouw visie op continuous integration en continuous delivery; Debuggen van de applicatie; In gesprek gaan met eindgebruikers om verbetervoorstellen op te halen. Functie-eisen Minimaal HBO-werk en denkniveau; Minimaal 5 jaar werkervaring als Java Developer; Je bent minimaal OCP-Java SE 6 gercertificeerd; Je hebt kennis van Webservices en Continuous Integration; Je bent analytisch sterk en zowel klant- als resultaatgericht. Bedrijfsomschrijving Binnen

Bekijk vacature »

Senior DevOps-ontwikkelaar eIDAS

Functie­omschrijving Burgers en bedrijven veilig en betrouwbaar digitaal toegang geven tot diensten en producten van het ministerie van Economische Zaken en Klimaat. Als senior DevOps-ontwikkelaar bouw je daar letterlijk aan mee. En dat doe je bij DICTU: een van de grootste en meest vooruitstrevende ICT-dienstverleners van de Rijksoverheid. Jij werkt mee aan de doorontwikkeling van eIDAS, dat staat voor Electronic IDentification Authentication and trust Services. Deze koppeling maakt de grensoverschrijdende authenticatie op overheidswebsites binnen de Europese Unie mogelijk. Het ministerie van Economische Zaken en Klimaat heeft één moderne toegangspoort voor zijn diensten en inspecties. Enkele daarvan zijn dankzij eIDAS inmiddels

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

Front-end Developer Vue.js Meewerkend voorman

Functieomschrijving Ben jij een ervaren Front-end Developer, bedreven in Vue.js en lijkt het jou gaaf om als meewerkend voorman verantwoordelijk te zijn voor de ontwikkeling van drie junior ontwikkelaars? Werk jij graag aan diverse projecten t.b.v. het vergroten van klant- en medewerkerbeleving? Lee dan snel verder! Het onderhouden, ontwikkelen en testen van front-end software van diverse klant- en medewerkersapplicaties; Het ontwikkelen van maatwerk front-end oplossingen in Vue.js en participeren in een scrumteam; Verantwoordelijk voor het begeleiden en coachen van drie junior front-end developers; Verantwoordelijk voor code-reviews en het opstellen van de juiste documentatie zoals userstories en api ontwerp; Participeren in

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »

- DHU -

- DHU -

16/09/2019 19:05:21
Quote Anchor link
Hey guyz,

Hieronder tref je stuk code die data uit een tabel exporteert naar csv bestand. Dit werkt op een kleinigheid na perfect voor mij.... Echter één van de velden bevat een nummer. Dat nummer zou altijd 6 karakters moeten zijn en indien nodig voorafgaan met voorloopnullen. Maar dit is niet zo eenvoudig als het lijkt te zijn.

De code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php

// Database Connection
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "xxxxxxxxxxx";
 
 $conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

 
if(isset($_GET['export'])){
if($_GET['export'] == 'true'){
$query = mysqli_query($conn, 'select * from m2r'); // Get data from Database from demo table
 
 
    $delimiter = ",";
    $filename = "significant_" . date('Ymd') . ".csv"; // Create file name
    
    //create a file pointer

    $f = fopen('php://memory', 'w');
    
    //set column headers
    $fields = array('Pers.nr', 'Rol', 'Mutatie');
    fputcsv($f, $fields, $delimiter);
    
    //output each row of the data, format line as csv and write to file pointer
    while($row = $query->fetch_assoc()){
        
        $lineData = array($row['personeelsnummer'], $row['uniekKenmerkRol'], $row['mutatie']);
        fputcsv($f, $lineData, $delimiter);
    }

    
    //move back to beginning of file
    fseek($f, 0);
    
    //set headers to download file rather than displayed
    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename="' . $filename . '";');
    
    //output all remaining data on a file pointer
    fpassthru($f);
 
 }
}


?>



Nu dacht ik van.. he, dat is simpel op te lossen met printf maar helaas.

ik heb de code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$lineData = array($row['personeelsnummer'], $row['uniekKenmerkRol'], $row['mutatie']);
        fputcsv($f, $lineData, $delimiter);


proberen aan te passen naar:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$lineData = array( printf("%06d", $row['personeelsnummer']), $row['uniekKenmerkRol'], $row['mutatie']);
        fputcsv($f, $lineData, $delimiter);



Maar dit is dus te simpel gedacht..
Klaarblijkelijk werkt dit niet in een array. Maar een andere methode ken ik niet. Dus ik zou het niet weten. Hoe kan ik dit aanpassen? wie weet hierin de oplossing?
 
PHP hulp

PHP hulp

11/08/2020 09:23:38
 
Adoptive Solution

Adoptive Solution

16/09/2019 19:14:20
Quote Anchor link
Als het niet in de array lukt, probeer het dan buiten de array.

Of anders dit :

https://www.php.net/manual/en/function.str-pad.php
 
- DHU -

- DHU -

16/09/2019 19:28:38
Quote Anchor link
Adoptive Solution op 16/09/2019 19:14:20:
Als het niet in de array lukt, probeer het dan buiten de array.

Of anders dit :

https://www.php.net/manual/en/function.str-pad.php



dat str pad is complex gebeuren... kijken of ik het buiten de array kan trekken


Toevoeging op 16/09/2019 20:04:28:

Adoptive Solution thnx voor de tip van str-pad.... is toch niet zo complex als ik in eerste instantie dacht.... ik kende de functie niet maar het is voor mij voor nu wel de oplossing.

de regel ziet er dan als volgt uit voor de geinteresseerden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$lineData = array(str_pad($row['personeelsnummer'], 6, "0", STR_PAD_LEFT), $row['uniekKenmerkRol'], $row['mutatie']);



topic mag gesloten worden....
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.