Ich baue mir in folgendem Script ein XML-Dokument zusammen.
Leider überspringt meine While-Schleife den ersten Datensatz komplett.
Könnt ihr mir helfen?!
Hier der Code:
$sql_2 = "SELECT Name, SUM(Minuten) AS MIN FROM Login_Daten WHERE Eingeloggt BETWEEN '".$date_hilfe."' AND '".$aktuell."' GROUP BY Name";
$erg_gruppe = sqlsrv_query( $conn, $sql_2);
if( $erg_gruppe === false){
die( print_r( sqlsrv_errors(), true));
}
$wor = sqlsrv_fetch_array( $erg_gruppe, SQLSRV_FETCH_BOTH);
while( $wor = sqlsrv_fetch_array( $erg_gruppe, SQLSRV_FETCH_ASSOC)) {
$wor['Name'] = iconv('Windows-1252', 'UTF-8', $wor['Name']);
$root->appendChild($Ebene2 = $dom->createElement("series"));
$Ebene2->appendChild($dom->createElement("name", $wor['Name']));
$Ebene2->appendChild($Ebene3 = $dom->createElement("data"));
$wor['Name'] = iconv('UTF-8', 'Windows-1252', $wor['Name']);
$minus = 0;
for($zaehl = 1; $zaehl < 8; $zaehl++){
$tag_eintrag = date("Y-m-d", mktime(0,0,0,$monat,$tag-$minus,$datum));
$sql_3 = "SELECT Eingeloggt, SUM(Minuten) AS MIN FROM Login_Daten WHERE Name = '".$wor['Name']."' AND Eingeloggt = '".$tag_eintrag."' GROUP BY Eingeloggt";
$erg_zaehl = sqlsrv_query( $conn, $sql_3);
if( $erg_zaehl === false){
die( print_r( sqlsrv_errors(), true));
}
$row_3 = sqlsrv_fetch_array( $erg_zaehl, SQLSRV_FETCH_BOTH);
$tag_eintrag_2 = $tag_eintrag = date("N", mktime(0, 0, 0, $monat, $tag-$minus, $datum));
if ($tag_eintrag_2 == 7 || $tag_eintrag_2 == 6)
{
$minus++;
$zaehl--;
}
else{
if( $row_3['MIN'] == ""){
$Ebene3->appendChild($Ebene4 = $dom->createElement("Minuten", '0'));
}
else{
$Ebene3->appendChild($Ebene4 = $dom->createElement("Minuten", $row_3['MIN']));
}
$minus++;
}
}
sqlsrv_free_stmt( $erg_zaehl);
}
sqlsrv_free_stmt( $erg_gruppe);
$dom->save("Diagramm_Hilfe/Woche.xml");
Grüße xXSpikeXx
Leider überspringt meine While-Schleife den ersten Datensatz komplett.
Könnt ihr mir helfen?!
Hier der Code:
$sql_2 = "SELECT Name, SUM(Minuten) AS MIN FROM Login_Daten WHERE Eingeloggt BETWEEN '".$date_hilfe."' AND '".$aktuell."' GROUP BY Name";
$erg_gruppe = sqlsrv_query( $conn, $sql_2);
if( $erg_gruppe === false){
die( print_r( sqlsrv_errors(), true));
}
$wor = sqlsrv_fetch_array( $erg_gruppe, SQLSRV_FETCH_BOTH);
while( $wor = sqlsrv_fetch_array( $erg_gruppe, SQLSRV_FETCH_ASSOC)) {
$wor['Name'] = iconv('Windows-1252', 'UTF-8', $wor['Name']);
$root->appendChild($Ebene2 = $dom->createElement("series"));
$Ebene2->appendChild($dom->createElement("name", $wor['Name']));
$Ebene2->appendChild($Ebene3 = $dom->createElement("data"));
$wor['Name'] = iconv('UTF-8', 'Windows-1252', $wor['Name']);
$minus = 0;
for($zaehl = 1; $zaehl < 8; $zaehl++){
$tag_eintrag = date("Y-m-d", mktime(0,0,0,$monat,$tag-$minus,$datum));
$sql_3 = "SELECT Eingeloggt, SUM(Minuten) AS MIN FROM Login_Daten WHERE Name = '".$wor['Name']."' AND Eingeloggt = '".$tag_eintrag."' GROUP BY Eingeloggt";
$erg_zaehl = sqlsrv_query( $conn, $sql_3);
if( $erg_zaehl === false){
die( print_r( sqlsrv_errors(), true));
}
$row_3 = sqlsrv_fetch_array( $erg_zaehl, SQLSRV_FETCH_BOTH);
$tag_eintrag_2 = $tag_eintrag = date("N", mktime(0, 0, 0, $monat, $tag-$minus, $datum));
if ($tag_eintrag_2 == 7 || $tag_eintrag_2 == 6)
{
$minus++;
$zaehl--;
}
else{
if( $row_3['MIN'] == ""){
$Ebene3->appendChild($Ebene4 = $dom->createElement("Minuten", '0'));
}
else{
$Ebene3->appendChild($Ebene4 = $dom->createElement("Minuten", $row_3['MIN']));
}
$minus++;
}
}
sqlsrv_free_stmt( $erg_zaehl);
}
sqlsrv_free_stmt( $erg_gruppe);
$dom->save("Diagramm_Hilfe/Woche.xml");
Grüße xXSpikeXx
Comment