Hallo zusammen,
ich bastel für den internen gebrauch ein Script, welches Daten aus einer Datenbank liest, diese mit HTML-Tags "umbaut" und das ganze dann in kleine html-Files speichert.
Hier zuerst mal der Quelltext:
Den meiner Meinung nach wichtigen Teil habe ich markiert.
Das Problem ist, dass das Script mittels fopen nur 274 Dateien erzeugt, anstatt der 289 Datensätze, die in der Datenbank stehen.
Das Script gibt auch immer "289 Datensätze wurden angelegt!" aus.
Wenn ich an den Dateinamen aber die Variable $zaehler anhänge, legt er alle Dateien wie gewünscht an (siehe auskommentiere Zeile).
Wieso tut es das?
Danke schon mal für eure Hilfe!
LG,
scriper
ich bastel für den internen gebrauch ein Script, welches Daten aus einer Datenbank liest, diese mit HTML-Tags "umbaut" und das ganze dann in kleine html-Files speichert.
Hier zuerst mal der Quelltext:
Code:
<html>
<body>
<?php
$res=mysql_connect("localhost","root","");
if($res == FALSE){
echo "MIIIIIST!";
}
mysql_select_db("test",$res);
$sql = "SELECT `COL 1` FROM `table 1`";
$result = mysql_query($sql) or die ("TOT");
$zaehler = 0;
while ($row = mysql_fetch_array($result) )
{
$sql2 = "SELECT * FROM `table 1` WHERE `COL 1` = '".$row[0]."'";
$result2 = mysql_query($sql2) or die ("TOT2");
$row2 = mysql_fetch_row($result2);
$inhalt = "<table width=\"600\">";
$inhalt.="\r\n";
$inhalt.="<tr><th colspan=\"2\" align=\"left\">".$row[0]."</th></tr>";
$inhalt.="\r\n";
foreach ($row2 as $wert){
if($wert != "" AND $wert != $row[0]){
$inhalt.="<tr><td width=\"200\">".$wert."</td><td width=\"400\">_Variable_</td></tr>";
$inhalt.="\r\n";
}
}
$inhalt.="</table>";
$inhalt.="\r\n";
$name = str_replace(" ", '_', $row[0]);
$name = str_replace("(", '_', $name);
$name = str_replace(")", '_', $name);
$name = str_replace("/", '_', $name);
$name = str_replace("\n", '_', $name);
[B]
#$datei = fopen("C:\\xampp\\htdocs\\mailtemplates\\site\\files\\HEIN\\".$name."_".$zaehler.".html","w");
$datei = fopen("C:\\xampp\\htdocs\\mailtemplates\\site\\files\\HEIN\\".$name.".html","w");
if ($datei === FALSE) {
echo "Fehler bei:<br />";
echo $row[0];
}else{
fwrite($datei, $inhalt);
fclose($datei);
$zaehler++;
}[/B]
}
echo $zaehler." Datensätze wurden angelegt!";
?>
</body>
</html>
Das Problem ist, dass das Script mittels fopen nur 274 Dateien erzeugt, anstatt der 289 Datensätze, die in der Datenbank stehen.
Das Script gibt auch immer "289 Datensätze wurden angelegt!" aus.
Wenn ich an den Dateinamen aber die Variable $zaehler anhänge, legt er alle Dateien wie gewünscht an (siehe auskommentiere Zeile).
Wieso tut es das?
Danke schon mal für eure Hilfe!
LG,
scriper