Ik heb weer eens een probleempje
.
Een tijdje geleden heb ik een importtscript gemaakt voor het importeren van CSV bestanden dit werkte perfect. maar nu wordt het csv file op een andere manier aangeroepen en kan ik de refresh methode niet meer gebruiken.
Wat ik zelf heb geprobeerd om dit script werkend te maken is:
Een import1.php voor het file te seleteren en uit te voeren in een import2.php.
Een break in de lus zetten, dit had ook geen effect,
en een functie om de uit te voeren loop zetten dit heeft ook geen effect.
de code:
Als ik de exit() weg haal wordt alles gegooid wat niet gevonden wordt in de database in 1 keer neegezet.
Als ik het csv file handmatig selecteer op de volgende wijze:
dan werkt het script perfect.
Is er een mogelijkheid om deze code aan te passen:
dat hij niet de hele pagina verandert maar de while loop weer overnieuw start.
Ik heb hier een break neergezet, een functie om de while loop gezet. En naar een ander file toegelinkt. Dit allemaal zonder effect.
Zou iemand mij kunnen helpen.
Een tijdje geleden heb ik een importtscript gemaakt voor het importeren van CSV bestanden dit werkte perfect. maar nu wordt het csv file op een andere manier aangeroepen en kan ik de refresh methode niet meer gebruiken.
Wat ik zelf heb geprobeerd om dit script werkend te maken is:
Een import1.php voor het file te seleteren en uit te voeren in een import2.php.
Een break in de lus zetten, dit had ook geen effect,
en een functie om de uit te voeren loop zetten dit heeft ook geen effect.
de code:
code:
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
| <?php fwrite(STDOUT, "Geef bestand op: "); $num1 = rtrim(fgets(STDIN)); fwrite(STDOUT, $num1); include_once('config.php'); $verbinding = mysql_connect(mysql_host, mysql_user, mysql_password) or die(mysql_error()); mysql_select_db(mysql_database, $verbinding) or die (mysql_error()); $row = 1; ini_set('auto_detect_line_endings',1); $bestand = fopen($num1, 'r'); while (($data = fgetcsv($bestand, 1000, ',')) !== FALSE) { $val1 = mysql_real_escape_string($data[0]); $val2 = mysql_real_escape_string($data[1]); $que = mysql_query("SELECT * FROM paginas WHERE pagina='". $val1 ."' AND parentid='". $pagina ."'"); $resultaat = mysql_fetch_array($que); $pagina = $resultaat['id']; $num_rows = mysql_num_rows($que); if ($pagina >0) { $ids['id'] = $pagina; foreach($ids as $q) { $q."<br>"; } } if ($pagina<1) {mysql_query("INSERT INTO `paginas` (`pagina`,`tekst`,`parentid`) VALUES ('{$val1}','{$val2}','$q')"); function printbreadcrumb($pagina) { $sql = "SELECT id, parentid, pagina FROM paginas WHERE id = $pagina"; $result = mysql_query($sql) or header("location: import.php"); $row = mysql_fetch_array($result); if ($row['parentid']) { printbreadcrumb($row['parentid']); } return; } printbreadcrumb($pagina); exit(); } } ?> |
Als ik de exit() weg haal wordt alles gegooid wat niet gevonden wordt in de database in 1 keer neegezet.
Als ik het csv file handmatig selecteer op de volgende wijze:
code:
1
| $bestand = fopen(test2.csv, 'r'); |
dan werkt het script perfect.
Is er een mogelijkheid om deze code aan te passen:
code:
1
| $result = mysql_query($sql) or header("location: import.php"); |
dat hij niet de hele pagina verandert maar de while loop weer overnieuw start.
Ik heb hier een break neergezet, een functie om de while loop gezet. En naar een ander file toegelinkt. Dit allemaal zonder effect.
Zou iemand mij kunnen helpen.
[ Voor 3% gewijzigd door Spin1 op 29-12-2009 11:09 ]