Hallo PHP User,
hab mal wieder ein Problem.
Dieses mal möchte ich Daten aus PHP in eine CSV Datei schreiben.
Und zwar möchte ich genau diese Ausgabe (das rot markierte) in eine CSV packen.

Mein Quelltext, der diese Tabelle erstellt ist folgender:
Das Problem ist, dass ich diese Tabelle nicht einfach auslese sondern filtere/berechne und dann erst in eine Tabelle schreibe mit vielen Variablen.
1.Ich hab überhaupt keinen Anfang gefunden, wie ich überhaupt irgendwas in eine CSV schreibe.
2.Wie verbinde ich meine variablen ($avg, $merker, $abteilung[$count],$bereich) korrekt ?
hab mal wieder ein Problem.
Dieses mal möchte ich Daten aus PHP in eine CSV Datei schreiben.
Und zwar möchte ich genau diese Ausgabe (das rot markierte) in eine CSV packen.
Mein Quelltext, der diese Tabelle erstellt ist folgender:
PHP-Code:
<meta http-equiv="Content-Type" content="text/html; charset=iso8859-1">
<link rel="icon" href="../../pictures/favicon.ico" type="image/ico">
<?php
$mysqluser = 'admin';
$mysqlpasswd = '1223454';
$mysqlhost = 'localhost';
$database = 'azubi_data_csv';
$bewertung = $_GET['action'];
mysql_connect ($mysqlhost, $mysqluser, $mysqlpasswd) or die('ERROR!');
mysql_select_db ($database);
if(isset($_POST['beruf']))
{
if ( $_POST['beruf'] == "Industriekaufleute/KS-IB/KS-AC" )
{
$beruf = "IK_IB_AC";
}
if ( $_POST['beruf'] == "Informatikberufe/KS-WI" )
{
$beruf = "IF_WI";
}
if ( $_POST['beruf'] == "Verfahrensmechaniker/-in" )
{
$beruf = "VM";
}
if ( $_POST['beruf'] == "Werkzeugmechaniker/-in" )
{
$beruf = "WM";
}
if ( $_POST['beruf'] == "Mechatroniker/Elektroniker/KS-ET" )
{
$beruf = "MT_ET";
}
if ( $_POST['beruf'] == "Zerspanungsmechaniker/-in" )
{
$beruf = "ZM";
}
if ( $_POST['beruf'] == "Industriemechaniker/-in" )
{
$beruf = "IM";
}
if ( $_POST['beruf'] == "Kombistudenten - WING/MB" )
{
$beruf = "WI_MB";
}
if ( $_POST['beruf'] == "Umschueler" )
{
$beruf = "US";
}
}
else
{
$beruf = $_GET['action2'];
}
//Macht den ersten Buchstaben groß
$str = $bewertung;
$str = ucfirst($str);
echo ('
<html>
<head>
<title>BBS | Auswertung - '.$str.'</title>
<link rel="stylesheet" type="text/css" href="../../data/style.css">
<script src="../../data/script.js" type="text/javascript"></script>
<form action="exportcsv.php" method="post" name="auswertung_tab">
</head>
<body>
<center>
<a href="tab_auswertung.php?action=erklaerung&action2='.$beruf.'">Erklaerung</a>
<a href="tab_auswertung.php?action=lernerfolg&action2='.$beruf.'">Lernerfolg</a>
<a href="tab_auswertung.php?action=betreuung&action2='.$beruf.'">Beurteilung</a>
<a href="tab_auswertung.php?action=gesamteinsch&action2='.$beruf.'">Gesamteinschätzung</a>
<a href="tab_gut.php">Gut</a>
<a href="tab_schlecht.php">Schlecht</a>
</center>
<br>
');
if ( $beruf == "IK_IB_AC" )
{
$beruf_ausgabe = "Industriekaufleute/KS-IB/KS-AC";
}
if ( $beruf == "IF_WI" )
{
$beruf_ausgabe = "Informatikberufe/KS-WI";
}
if ( $beruf == "VM" )
{
$beruf_ausgabe = "Verfahrensmechaniker/-in";
}
if ( $beruf == "WM" )
{
$beruf_ausgabe = "Werkzeugmechaniker/-in";
}
if ( $beruf == "MT_ET" )
{
$beruf_ausgabe = "Mechatroniker/Elektroniker/KS-ET";
}
if ( $beruf == "ZM" )
{
$beruf_ausgabe = "Zerspanungsmechaniker/-in";
}
if ( $beruf == "IM" )
{
$beruf_ausgabe = "Industriemechaniker/-in";
}
if ( $beruf == "WI_MB" )
{
$beruf_ausgabe = "Kombistudenten - WING/MB";
}
if ( $beruf == "US" )
{
$beruf_ausgabe = "Umschueler";
}
echo('
<center><strong><u>'.$beruf_ausgabe.' <br> '.$str.'</u></strong><br><br></center>
<table>
');
//Erstellen eines Arrays der PI-Nummern
$result=mysql_query("SELECT pinr FROM auszubildende where beruf = '".$beruf."'");
$anzahl_pinr = mysql_num_rows($result);
while($row = mysql_fetch_array($result))
{
$pinr[] = $row['pinr'];
}
//Erstellen eines Arrays der Prüfungszeiten
$result2 = mysql_query("SELECT distinct pruefungszeit FROM auszubildende where beruf = '".$beruf."'");
$anzahl_jahr = 0;
while($row2 = mysql_fetch_array($result2))
{
$abschluss[] = $row2['pruefungszeit'];
$anzahl_jahr = $anzahl_jahr + 1;
}
//Erstellen eines Arrays der Kennungen
$result3 = mysql_query("SELECT distinct kennung FROM csvdaten order by kennung asc");
$anzahl_abteilung = 0;
while($row3 = mysql_fetch_array($result3))
{
$abteilung[] = $row3['kennung'];
$anzahl_abteilung = $anzahl_abteilung + 1;
}
// Arrayausgabe zur Überprüfung der Arrays
/* print_r ($pinr);
echo ('<br>');
print_r ($abschluss);
echo ('<br>');
print_r ($abteilung); */
echo('<table align="center"><tr>');
//Erstellt die Spalte "Bereich" ( nur bei technischen Berufen )
if ($beruf == "US" || $beruf == "VM" || $beruf == "WM" || $beruf == "MT_ET" || $beruf == "IM" || $beruf == "ZM" || $beruf == "WI_MB" || $beruf == "US" )
{
echo ('
<td rowspan="2"><strong>Bereich:</strong></td>
');
}
//Erstellt die Spalte "Abteilung"
echo ('<td rowspan="2"><strong>Abteilung:</strong></td>');
//Schreibt die Jahrgänge als Überschrift
for($count = 0; $count < $anzahl_jahr; $count++)
{
echo ('
<td><strong>'.$abschluss[$count].'</strong></td>
');
}
echo ('</tr><tr>');
//Schreibt "Ø / Personen" unter die Jahrgänge
for($count = 0; $count < $anzahl_jahr; $count++)
{
echo ('
<td align="center">Ø / Personen</td>
');
}
echo ('</tr>');
$check = 0;
for($count = 0; $count < $anzahl_abteilung; $count++)
{
//Zeilenüberschrift
echo ('
<tr>
');
//Schreibt die Bereiche in eine Spalte ( nur bei technischen Berufen )
if ($beruf == "US" || $beruf == "VM" || $beruf == "WM" || $beruf == "MT_ET" || $beruf == "IM" || $beruf == "ZM" || $beruf == "WI_MB" || $beruf == "US" )
{
$tresult = mysql_query("SELECT bereich FROM csvdaten WHERE kennung = '".$abteilung[$count]."'");
$row = mysql_fetch_array($tresult);
echo
('
<td>'.$row['bereich'].'</td>
');
}
//Schreibt die Abteilungen in eine Spalte
echo
('
<td>'.$abteilung[$count].'</td>
');
//Schreibt die Durchschnittsbewertungen + Personenzahl in die entsprechenden Spalten
for($count2 = 0; $count2 < $anzahl_jahr; $count2++)
{
echo
('
<td align="center">
');
$avg = 0;
$merker = 0;
//Array leeren
$pinr_select = array();
$result4 = mysql_query("SELECT pinr FROM auszubildende where beruf = '".$beruf."' and pruefungszeit = '".$abschluss[$count2]."'order by pinr asc");
$anzahl_pinr_select = mysql_num_rows($result4);
//Neuer PI-Nummer Array wird erstellt
while($row4 = mysql_fetch_array($result4))
{
$pinr_select[] = $row4['pinr'];
}
//Der Durchschnittswert der Bewertung "Erklaerung" wird berechnet
for($count3 = 0; $count3 < $anzahl_pinr_select; $count3++)
{
$result5 = mysql_query("SELECT $bewertung FROM csvdaten where pinr = '".$pinr_select[$count3]."' and kennung = '".$abteilung[$count]."'");
while($row5 = mysql_fetch_array($result5))
{
$merker = $merker + 1;
$pruef = $row5[$bewertung];
if( $pruef != "")
{
$avg = $avg + $row5[$bewertung];
}
else
{
$check = 1;
}
}
}
$avg = $avg / $merker;
$avg = round($avg, 2);
//Ausgabe Durchschnittswert / Personenzahl
echo
('
'.$avg.' / '.$merker.'<br>
');
echo
('
</td>
');
}
echo('
</tr>
');
}
echo ('
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td><input type="submit" name="subber" value="Export"></td>
</table>
');
if ($check == 1)
{
echo('<center><font color="#FF0000"><b>Eine oder mehrere Bewertungen wurden noch nicht durchgeführt!<br>
Das Ergebnis ist somit noch nicht Aussagefähig!</b></font></center>');
}
echo ('
</form>
</body>
</html>');
mysql_close();
?>
1.Ich hab überhaupt keinen Anfang gefunden, wie ich überhaupt irgendwas in eine CSV schreibe.
2.Wie verbinde ich meine variablen ($avg, $merker, $abteilung[$count],$bereich) korrekt ?
Kommentar