array wegschrijven naar mysql
wie kan me helpen, de onderstaande code tot zover levert een array, hoe krijg ik al deze info netjes in een mysql database?
bovenstaande code levert het volgende resultaat:
[405] => Array
(
[0] => BH
)
[406] => Array
(
[0] => 1-11-2008
[1] => 7:39
)
[407] => Array
(
[0] => GPS
[1] => 1
[2] => 00:00:00
[3] => X:0
[4] => Y:0
)
[408] => Array
(
[0] => 0
)
[409] => Array
(
[0] => 0.00
)
[410] => Array
(
[0] => 0.00
)
[411] => Array
(
[0] => 30
)
[412] => Array
(
[0] => 0
[1] => 0
[2] => "NL
[3] => KPN"
)
[413] => Array
(
[0] => 0.05909
)
[414] => Array
(
[0] => BH
)
[415] => Array
enz.enz
Code (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
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
<?php
if(!isset($_POST['option']))
{
echo $page;
}
elseif($_POST['option'] == "yes")
{
$sql = 'TRUNCATE TABLE `veolia`';
$resultaat = mysql_query($sql);
$uploaddir = './uploads/';
$uploadfile = $uploaddir . $_FILES['csvfile']['name'];
if (move_uploaded_file($_FILES['csvfile']['tmp_name'], $uploadfile))
{
print "<font face='arial'>Succesvol geupload. ";
$notice = 1;
chmod($uploadfile, 0777);
}
else
{
print "<font face='arial'>ERROR: Upload Fout. ";
$notice = 0;
}
$strdata = array();
$notice = 1;
if($notice == 1)
{
echo "\n sending Data...";
flush();
echo "</font>";
if (file_exists($uploadfile))
{
$fp = fopen($uploadfile, 'r') or die (" Cannot open the file");
$row = 1;
$handle = $fp;
while (($data = fgetcsv($handle, 10240, ";")) !== FALSE)
{
$num = count($data);
echo "<p> ".$num." fields in line ".$row.": <br /></p>\n";
$row++;
for ($c = 0; $c < $num; $c = $c + 1)
{
$data[$c] = str_replace(',', ' ', $data[$c]);
$data[$c] = str_replace(' ', ';', $data[$c]);
$str = $data[$c];
$strdata[ ] = explode(';', $str);
}
}
fclose($handle);
}
}
echo '<pre>';
print_r($strdata);
echo '</pre>';
}
?>
if(!isset($_POST['option']))
{
echo $page;
}
elseif($_POST['option'] == "yes")
{
$sql = 'TRUNCATE TABLE `veolia`';
$resultaat = mysql_query($sql);
$uploaddir = './uploads/';
$uploadfile = $uploaddir . $_FILES['csvfile']['name'];
if (move_uploaded_file($_FILES['csvfile']['tmp_name'], $uploadfile))
{
print "<font face='arial'>Succesvol geupload. ";
$notice = 1;
chmod($uploadfile, 0777);
}
else
{
print "<font face='arial'>ERROR: Upload Fout. ";
$notice = 0;
}
$strdata = array();
$notice = 1;
if($notice == 1)
{
echo "\n sending Data...";
flush();
echo "</font>";
if (file_exists($uploadfile))
{
$fp = fopen($uploadfile, 'r') or die (" Cannot open the file");
$row = 1;
$handle = $fp;
while (($data = fgetcsv($handle, 10240, ";")) !== FALSE)
{
$num = count($data);
echo "<p> ".$num." fields in line ".$row.": <br /></p>\n";
$row++;
for ($c = 0; $c < $num; $c = $c + 1)
{
$data[$c] = str_replace(',', ' ', $data[$c]);
$data[$c] = str_replace(' ', ';', $data[$c]);
$str = $data[$c];
$strdata[ ] = explode(';', $str);
}
}
fclose($handle);
}
}
echo '<pre>';
print_r($strdata);
echo '</pre>';
}
?>
bovenstaande code levert het volgende resultaat:
[405] => Array
(
[0] => BH
)
[406] => Array
(
[0] => 1-11-2008
[1] => 7:39
)
[407] => Array
(
[0] => GPS
[1] => 1
[2] => 00:00:00
[3] => X:0
[4] => Y:0
)
[408] => Array
(
[0] => 0
)
[409] => Array
(
[0] => 0.00
)
[410] => Array
(
[0] => 0.00
)
[411] => Array
(
[0] => 30
)
[412] => Array
(
[0] => 0
[1] => 0
[2] => "NL
[3] => KPN"
)
[413] => Array
(
[0] => 0.05909
)
[414] => Array
(
[0] => BH
)
[415] => Array
enz.enz
Hier was toch al een topic over?
maak gewoon een recordset
Print, backticks, slechte POST afhandeling.. Blegh!
Wat is er mis met print? Deze is nog sneller dan echo ook, als je zo graag wil posten, post dan een nuttig antwoord.
On-topic:
Hoe je alles netjes in de database krijgt. Dit doe je door een (simpele) INSERT query en deze vullen met de juiste waarden.
On-topic:
Hoe je alles netjes in de database krijgt. Dit doe je door een (simpele) INSERT query en deze vullen met de juiste waarden.
'Jurgen:
Wat is er mis met print? Deze is nog sneller dan echo ook, als je zo graag wil posten, post dan een nuttig antwoord.
On-topic:
Hoe je alles netjes in de database krijgt. Dit doe je door een (simpele) INSERT query en deze vullen met de juiste waarden.
On-topic:
Hoe je alles netjes in de database krijgt. Dit doe je door een (simpele) INSERT query en deze vullen met de juiste waarden.
$rest = mysql_query ("INSERT INTO veolia (id, code1, datum, bustijd, tijd, gps, code2, code3, code4, provider, afstand)
VALUES ('', '','','','','','', '','','','')")or die(mysql_error());
zo dan ongeveer, maar niet goed. krijg alleen 1 veld id gevuld(autoincrement)
Je hoeft van een INSERT, UPDATE of DELETE query geen variabele te maken.
'Dennis:
Van een query maak je altijd een variabele, dan kun je hem nog eens gaan debuggen wanneer dat nodig mocht zijn.Je hoeft van een INSERT, UPDATE of DELETE query geen variabele te maken.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$query = "jouw query";
$result = mysql_query($query);
if(!$result){ // query mislukt!
echo $query;
echo mysql_error();
}
// rest van je code
?>
$query = "jouw query";
$result = mysql_query($query);
if(!$result){ // query mislukt!
echo $query;
echo mysql_error();
}
// rest van je code
?>
Dit slaat trouwens nergens op:
TRUNCATE doe je niet zomaar in je scripts behalve wanneer je PhpMyAdmin wilt gaan namaken.
Tevens horen backticks ` niet thuis in SQL, gooi die rommel weg.
'Dennis:
Je hoeft van een INSERT, UPDATE of DELETE query geen variabele te maken.
ok heb ik weggehaals... maar dan nog krijg ik alleen het id veld in de database ingevuld. ik stuur dus geen waarden mee blijkbaar. kan je me op weg helpen met een juiste query...




