Archief - CVS file uploaden & in database zetten.

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Deadangel

Legacy Member
Bon, schoolopdracht;
Een soort van programma maken voor het magazijn, met php.
Nu moet ik ervoor zorgen dat ge via de site zelf backups kunt nemen, zonder ge aan de mysql komt.

Nu wil ik dus een knop hebben, die zegt "upload" & als ge daarop klikt selecteert ge uw .CVS bestandje, upload ge da naar de site, en vult deze de database aan, voor als die nog ni bestaat..

Nu moet ik ook een knop "download" hebben, die alle gegevens in een .CVS file zet.

Nu, euhm, het moet geen .CVS file zijn, maar dat werd er mij aangeraden, 't mag evengoed excel ofzo zijn.

Ik heb géén idee hoe ik hieraan begin, want ik vind enkel dingen die ge direct in mysql moet ingeven, zodus, iemand die mij kan helpen ?

Cycloon

Legacy Member
Exact dezelfde vraag is hier een paar weken geleden gesteld geweest. Zoek en gij zult wijzer worden.

Deadangel

Legacy Member
Als ik zoek onder "CVS" in deze categorie, dan vind ik niets..

Deadangel

Legacy Member
Tyfius zei:
Create a CSV file from MySQL with PHP

Uploaden = uitlezen, dat heb ik zelf beschreven in die vorige thread.
Downloaden = die file aanmaken en naar de client sturen.

Code:
<?php 
include ('mysql.php');
$filename = "Materiaal.cvs";
$fp = fopen($filename, "w");

$res = mysql_query("SELECT * FROM materiaal");

// fetch a row and write the column names out to the file
$row = mysql_fetch_assoc($res);
$line = "";
$comma = "";
foreach($row as $name => $value) {
    $line .= $comma . '"' . str_replace('"', '""', $name) . '"';
    $comma = ",";
}
$line .= "\n";
fputs($fp, $line);

// remove the result pointer back to the start
mysql_data_seek($res, 0);

// and loop through the actual data
while($row = mysql_fetch_assoc($res)) {
   
    $line = "";
    $comma = "";
    foreach($row as $value) {
        $line .= $comma . '"' . str_replace('"', '""', $value) . '"';
        $comma = ",";
    }
    $line .= "\n";
    fputs($fp, $line);
   
}
readfile($filename);
fclose($fp);
?>

Wit scherm, en 't blijft maar laden .. ?

Deadangel

Legacy Member
Dus, even mijn probleem uitleggen;

Dat is een schoollijst.
4-06-200915-13-59.png


Dus, zoals in de foto staat, moet het eerste cijfertje in "NR" staan, de "3BM" moet worden opgesplitst;
3 moet naar het "jaar", de "BM" moet naar de klas. de naam & de achternaam moeten weer worden gesplitst. de geboortedatum skippen we, en dat laatste getal moet onder "kaart"
NR, Klas, Achternaam, Voornaam, jaar, Kaart

Materiaallijst
4-06-200915-18-32.png


De lijst: a moet naar rubriek, b moet naar Omschrijving

Dus, iemand die weet hoe ik dit fix ?

Deadangel

Legacy Member
Code:
<?php $row = 1;
$fp = fopen ("leerlingenlijst.CSV","r");
while ($data = fgetcsv ($fp, ",")) {
    $num = count ($data);
    print "<p> $num velden in regel $row: <br>";
    $row++;
    for ($c=0; $c < $num; $c++) {
        print $data[$c] . "<br>";
    }
}
fclose ($fp);
?>

Nu heb 'k het volgende probleem:
http://magazijn.dbhaacht.be/testje.php

Mijn klassen:
4 velden in regel 1: 3BM
moeten er worden uitgefilterd.
De andere moeten in de databse worden gestoken.

5 velden in regel 2:
1
3BM
De Co***ck M**e
4/05/1993
7578
1 moet in "NR",
3BM moet worden gesplitst, 3 moet in "jaar", BM moet in "Klas",
De Co***ck M**e moet worden gesplitst: "De Co***ck" in achternaam, "M**e"in voornaam.
De datum skippen we, en 7578 moet in "Kaart".

Geen idee hoe ik dit fix =')

dJeez

Legacy Member
Dat is dan uw probleem. Dit is hier nog altijd geen huiswerkforum.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan