Ik ben al een poosje aan het stoeien met een stukje code in PHP. Mijn doel is om een .txt bestand uit te lezen met op elke regel een nummer. Dit nummer wil ik gebruiken in een mssql query. Op een of andere manier werkt mijn loop in PHP niet goed. Hij toont alleen de output van het laatste nummer uit mijn txt file.
file.txt:
Script:
De output die ik krijg:
De output die ik graag wil hebben:
Ik heb vanalles geprobeerd, while, for, foreach, next, continue zoals ik gevonden heb op php.net maar ik kom er niet uit. Ook een loop in een loop lijkt niet te werken. Het lijkt er gewoon op dat PHP de loop niet goed uitvoert, en alleen de laatste regel pakt. Weet iemand wat ik fout doe?
file.txt:
code:
1
2
3
| 0001 0002 0003 |
Script:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| <?php function getpath($nr) { require('sql.php'); $query = "SELECT path, name FROM files WHERE id = '$nr'"; $sql = mssql_query($query); $row = mssql_fetch_object($sql); return ''. $row->path.'/'. $row->name .''; } $tmp = file("list.txt"); $i=1; foreach($tmp as &$line) { echo "Regel ".$i. " - ".$line." - ".getpath($line)."<br />"; $i++; } ?> |
De output die ik krijg:
code:
1
2
3
| Regel 1 - 0001 - / Regel 2 - 0002 - / Regel 3 - 0003 - http://localhost/tmp/photo3.jpg |
De output die ik graag wil hebben:
code:
1
2
3
| Regel 1 - 0001 - http://localhost/tmp/photo1.jpg Regel 2 - 0002 - http://localhost/tmp/photo2.jpg Regel 3 - 0003 - http://localhost/tmp/photo3.jpg |
Ik heb vanalles geprobeerd, while, for, foreach, next, continue zoals ik gevonden heb op php.net maar ik kom er niet uit. Ook een loop in een loop lijkt niet te werken. Het lijkt er gewoon op dat PHP de loop niet goed uitvoert, en alleen de laatste regel pakt. Weet iemand wat ik fout doe?