Aangegeven rijen/kolommen niet importeren uit CSV bestand

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior PHP Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte website die in eigen beheer zijn. In onze vestiging in Nederweert zitten onze development afdelingen en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé PHP/Back-end developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het bedenken van nieuwe functionaliteiten Het verbeteren van het

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Leidinggevend Full Stack Developer

Hé jij, nieuwe Pinkcuber! Ga aan de slag bij Pinkcube, online leverancier van promotieartikelen! Een innovatieve organisatie waar extra stappen zetten voor klanten de normaalste zaak van de wereld is. Ambitieus zijn we ook. ‘Naoberschap’ staat bij Pinkcube hoog in het vaandel; we helpen elkaar en iedereen is welkom. Pinkcube is Great Place to Work Certified, erkend leerbedrijf, maatschappelijk betrokken partner van stichting Present en partner van CliniClowns. En misschien wel jouw nieuwe werkgever. Wij zoeken namelijk een enthousiaste: Leidinggevend Full Stack Developer (40 uur, medior/senior) Ben jij klaar om baanbrekende ideeën tot leven te brengen en deel uit te

Bekijk vacature »

Front-end Developer - React - Data Driven

Bedrijfsomschrijving Onze klant is een snelgroeiende organisatie die een data-driven inspectieapp op de markt hebben gebracht die nu al een aantal jaar door verschillende organisaties wereldwijd gebruikt wordt. Er zijn zo'n 6 mensen werkzaam bij dit bedrijf en ze zijn nu vooral op zoek naar een sterke front-end developer die wil gaan werken aan nieuwbouw applicaties en de uitbouw van de huidige applicaties. De reden dat ze zoeken is omdat er veel werk op komst is en ze hier de juiste capaciteit voor willen hebben. Er heerst hier een hele prettige sfeer waarin respect en eerlijke communicatie belangrijk is. Ook

Bekijk vacature »

Senior Lead Front End Developer

Functieomschrijving Voor Stichting Waternet zijn wij op zoek naar een senior Lead Front End Developer. Binnen het DevOps team Online zijn we op zoek naar een Senior Lead Front End developer met kennis van toegankelijkheid. Deze developer zal zich bezighouden met development van webpaginas die in verbinding staan met systemen uit het back office. Taken Ontwerpen, ontwikkelen, implementeren, documenteren en beheren van webapplicaties in een Azure-omgeving Debuggen, analyseren en oplossen van problemen in de OTAPomgevingen Je participeert in het DevOpsTeam Online voor het verder uitwerken en implementeren van gebruikerswensen Je bent betrokken bij toegankelijkheid audits en het implementeren van WCAG

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Gouda zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Onderdelen van jouw functie: Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Front-end PHP Developer

Dit ga je doen Bouwen van de frontend van een nieuwe applicaties; Verbeteren van de user experience; Opstellen van een style guide; Schakelen met collega developers over de te bouwen oplossing; Je speelt een belangrijke rol in het neerzetten van het nieuwe systeem; Werken met o.a. Symfony 6, API Platform, Twig, Javascript, Redis Automatiseren van processen; Koppelen van verschillende functionaliteiten; Unit tests, integration tests, end-to-end tests; In de toekomst ga je nog werken aan andere projecten. Hier ga je werken Voor onze vaste opdrachtgever in de regio Breda zijn wij op zoek naar een Frontend Developer. Het betreft een organisatie

Bekijk vacature »

SAP Integratie Ontwikkelaar

Ben jij ambitieus in de verdere ontwikkeling van SAP binnen HANOS, en heb je kennis van SAP PI, CPI (SAP integration suite) en of andere middleware tooling? Dan ben jij mogelijk onze nieuwe SAP Integratie (middleware) Ontwikkelaar! Lees snel verder en solliciteer! Wat ga je doen? Als SAP Financieel Consultant ben je, als deel van een gedreven team van interne SAP consultants, de schakel tussen de gebruikersorganisatie en ICT. Je draagt proactief bij aan een optimale aansluiting van de SAP-functionaliteit (een applicatielandschap met o.a. Suite on HANA, Fiori, Hybris, C4C en BO), op de bedrijfsprocessen. Verder ondersteun je de HANOS

Bekijk vacature »

Senior Front-end Developer

Dit ga je doen Met behulp van diverse programmeertalen ontwikkelen van Front-end software; Het begeleiden van het front-end team; Het oplossen van incidenten; Het bijhouden van een backlog; Je hebt een actieve bijdrage in de wekelijkse overleggen met de omliggende teams; Je houdt trends bij en adviseert het management hierover waar nodig; Helder communiceren met de stakeholders om hen zo mee te nemen in projecten en laten inzien wat de duur en toegevoegde waarde van bepaalde projecten is. Hier ga je werken Deze organisatie heeft circa 40 miljoen bezoekers per maand en heeft innovatie hoog in het vaandel staan. Het

Bekijk vacature »

TypeScript developer (tot € 6.000, - bruto pe

Functie Om bovenstaande ambities waar te kunnen maken zijn ze op zoek naar een ervaren Typecript developer die niet alleen zichzelf verder ontwikkelt, maar het ook leuk vinden om op termijn meer junior collega’s op pad te helpen. Je zult aan de slag gaan met het migreren van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde aan User Experience en kiezen ze duidelijk voor kwaliteit i.p.v. snelheid. Je krijgt dus de ruimte om vanuit gedegen onderzoek te werk te gaan en het borgen van kwaliteit staat hoog in het vaandel.

Bekijk vacature »

Software ontwikkelaar ASP .Net / C#

Functie omschrijving Gezocht! Software ontwikkelaar. Ben jij bekend met termen als ASP .Net, C# en SQL? Ben jij op zoek naar een afwisselende en uitdagende IT-functie binnen de agrarische sector? En omschrijf jij jezelf als zelfstandig, enthousiast en proactief? Dan hebben wij de perfecte functie voor jou! Als Software ontwikkelaar binnen deze organisatie ben je samen met één andere collega verantwoordelijk voor de ontwikkeling en modificatie van het support en controle programma dat binnen dit bedrijf gebruikt wordt. Je gaat hierbij bijdragen aan de vertaling van klantwensen naar effectieve softwareoplossingen. Verder bestaan je werkzaamheden uit: Technische uitwerking van de business

Bekijk vacature »

Senior Front end developer Angular

Functie Er zijn momenteel 5 SCRUM-teams waarvan drie gefocust zijn op DevOps en de huidige projecten en twee op innovatie van de platformen. Jij zal onderdeel worden van het innovatie Scrum team. De 2 multidisciplinaire innovatie teams bestaan momenteel uit 14 werknemers. Jij als senior Front end developer wordt onderdeel van onze innovatieteams. De innovatieteams houden zich bezig met het door ontwikkelen van de huidige producten en denken na over nieuwe functionaliteiten. Binnen de rol van Front end developer krijg je veel vrijheid en kan je je dag zelf indelen. Dingen waar jij je dagelijks mee bezig zult houden is

Bekijk vacature »

Front-end Developer

Front-end Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

Medior/senior front end developer

Functie Vanwege de groei binnen het bedrijf zijn ze op zoek naar een Technische front end developer. Momenteel hun front end back end team gescheiden aan het werk. Hier willen ze verandering in krijgen. Omdat ook veel interne applicaties ontwikkeld worden zoeken ze iemand die hen kan helpen om de interne applicaties te voorzien van de juiste Vue.js componenten. Zodoende willen ze de interactie tussen front end en back end versoepelen en de volgende stap binnen het platform gaan zetten. Deze componenten die jij ontwikkeld zullen in elk project gebruikt worden. Het back end team bestaat momenteel uit 8 ontwikkelaars

Bekijk vacature »
Max -

Max -

08/01/2013 14:04:25
Quote Anchor link
Beste PHPers,

Ik ben een .CSV importeer script aan het aanpassen, waarin ik straks wil kunnen aangeven welke rijen & kolommen hij mag overslaan. Dit heb ik nodig omdat de CSV bestanden die ik probeer te importeren, veel onnodige informatie bevatten.

Het importeer script dat ik gebruik is 'Simplecsvimport' en ziet er momenteel bij mij zo uit:

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
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
<?php
$databasehost
= "localhost";
$databasename = "test";
$databasetable = "test";
$databaseusername ="root";
$databasepassword = "test";
$fieldseparator = ",";
$lineseparator = "\n";
$csvfile = $_POST['naamcsv'];

//Primary key 1ste row van de tabel? dan deze op 1 laten staan.
$addauto = 1;

if(!file_exists($csvfile)) {
    echo "File not found. Make sure you specified the correct path.\n";
    exit;
}


$file = fopen($csvfile,"r");

if(!$file) {
    echo "Error opening data file.\n";
    exit;
}


$size = filesize($csvfile);

if(!$size) {
    echo "File is empty.\n";
    exit;
}


$csvcontent = fread($file,$size);

fclose($file);

$con = @mysql_connect($databasehost,$databaseusername,$databasepassword) or die(mysql_error());
@
mysql_select_db($databasename) or die(mysql_error());

$lines = 0;
$queries = "";
$linearray = array();
$rowimport1 = $_POST['horizontaal1'] -1;
$rowimport2 = $_POST['horizontaal2'] +1;
$rowimport3 = $_POST['horizontaal3'] -1;
$rowimport4 = $_POST['horizontaal4'] +1;

foreach(split($lineseparator,$csvcontent) as $line) {

    $lines++;
        
        if($lines > $rowimport1 & $lines < $rowimport2 && $lines > $rowimport3 & $lines < $rowimport4){
                
    $line = trim($line," \t");
    
    $line = str_replace("\r","",$line);
        
    $line = str_replace("'","\'",$line);
                $line = str_replace('"','',$line);
    
    $linearray = explode($fieldseparator,$line);
    
    $linemysql = implode("','",$linearray);
                
                
    if($addauto){
        $query = "insert into $databasetable values('',Projectnr= " .$_POST['projectnr']. " ,'','','','','$linemysql');";
                }
else
        $query = "insert into $databasetable values('$linemysql');";
    
    $queries .= $query . "\n";

    @
mysql_query($query);
                }
}

@
mysql_close($con);
?>


Zoals je kan zien geef ik bij de lijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if($lines > 3 & $lines < 20){ //Only import rows >"?" to <"?" ?>


aan dat hij alleen de 'rows' 3 tot 20 moet importeren

en bij:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $query = "insert into $databasetable values('','','','','','$linemysql');"; ?>

dat hij kolommen 1 tot 5 moet leeglaten.

Verder heb ik een formulier:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php <table>
            <
form action="csvimport.php" method="post">
            <
tr><center><td><center><p>Overslaan horizontaal</p></center></td><td>&nbsp;</td></center></tr>
            <
tr><td><input type="text" name="horizontaal1"/></td><td><input type="text" name="horizontaal2"/></td></tr>
            <
tr><td><input type="text" name="horizontaal3"/></td><td><input type="text" name="horizontaal4"/></td></tr>
            <
tr><center><td><center><p>Overslaan verticaal</p></center></td><td>&nbsp;</td></center></tr>
            <
tr><td><input type="text" name="verticaal1"/></td><td><input type="text" name="verticaal2"/></td></tr>
            <
tr><td><input type="text" name="verticaal3"/></td><td><input type="text" name="verticaal4"/></td></tr>
            <
tr><td><label><center><p>Naam CSV bestand:</p></center></label><input type="text" name="naamcsv" placeholder="Ex: 'csvimport.csv'" /></td><td><center><button class="submit" type="submit">SUBMIT</button></center></td></tr>
            <
/form>
        <
/table> ?>


In dit formulier moet een gebruiker de rijen en kolommen invullen die niet geimporteerd moeten worden.


Mijn vraag is nu:

Hoe kan ik dit het beste aanpakken? Bijvoorbeeld van die 3 & 20 een variabele maken die zijn gegevens haalt uit de input fields van het formulier, of kan dit makkelijker op een andere manier?

En hoe kan ik het probleem met de kolommen oplossen? want nu laat hij alleen 5 kolommen open voordat hij het CSV bestand importeerd, maar ik moet een aantal kolommen uit het CSV bestand niet importeren.


Alvast bedankt voor de hulp,

-Max
Gewijzigd op 09/01/2013 09:54:12 door Max -
 
PHP hulp

PHP hulp

27/04/2024 16:23:51
 
No One

No One

08/01/2013 14:21:25
Quote Anchor link
dat "simpele" is best nog wel ingewikkeld....en helemaal verkeerd. PHP heeft al parsefuncties daarvoor:

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
<?php
$row
= 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        echo "<p> $num fields in line $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
        }
    }

    fclose($handle);
}

?>


is al een stuk minder ingewikkeld (en rechtsstreeks van http://php.net/manual/en/function.fgetcsv.php)

als je de eerste regel kolomnamen opgeeft in je CSV...en die de eerste keer alleen die regel inleest, weet je de kolomnamen, dan kun je in de volgende stap aangeven welke kolommen je mee wil nemen.....
 



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.