Hallo Leute
Bin noch ne Anfängerin in PHP..wenn jemand mir bitte bitte helfen kann.. 3 Fragen habe ich.. Wollte nicht für jede Frage ne neue Seite aufmachen..
1.)
Hab ein Zeiterfassungssystem erstellt, ich möchte dass nur die Rapporte die der angemeldeter Benuzer gespeichert hat, angezeigt wird und nicht von allen Mitarbeiter..
Also ich hab 3 verschiedene Tabellen:
mitarbeiter (id, name, vorname, .....)
rapport (id, mitarbeiter_id, tätigkeit, zeit, datum, ...)
user (id, mitarbeiter_id, kennwort, session)
Mein Script sieht etwa so aus:
2. Frage)
Eine Auswertung aus Dropdownfelder: (objekt, jahr) (mitarbeiter und monat sind fest)
Beim Eingabe der Rapporte hab ich so eingestellt dass die Datum einmal ganz normal als date gespeichert wird, und noch ein zweitesmal einzeln als tag, monat und jahr.. deshalb funktioniert das obenstehene Script. ist ja blöd wenn datum zweimal gespeichert wird, wo ich doch speicherplatz sparen will..deshalb möchte ich jetzt nur noch aus date auswerten, nur weiss ich nicht wie..
3. Frage)
Das Script oben wird ja durch Dropdownfelder ausgewertet..wenn ich nichts im Dropdownfelder auswähle werden alle Daten angezeigt.
Kann ich so einstellen dass nur wenn ich was ausgewählt habe die Daten angezeigt werden und sonst die Felder leer bleiben?
Im voraus Danke hoch 3 für die Antworten
Bin noch ne Anfängerin in PHP..wenn jemand mir bitte bitte helfen kann.. 3 Fragen habe ich.. Wollte nicht für jede Frage ne neue Seite aufmachen..
1.)
Hab ein Zeiterfassungssystem erstellt, ich möchte dass nur die Rapporte die der angemeldeter Benuzer gespeichert hat, angezeigt wird und nicht von allen Mitarbeiter..
Also ich hab 3 verschiedene Tabellen:
mitarbeiter (id, name, vorname, .....)
rapport (id, mitarbeiter_id, tätigkeit, zeit, datum, ...)
user (id, mitarbeiter_id, kennwort, session)
Mein Script sieht etwa so aus:
PHP:
$sql = "SELECT * FROM rapport WHERE YEAR(datum) = '$jahr' AND
MONTH(datum) = '$monat' ORDER BY datum ";
$db_erg = mysql_query( $sql );
if ( ! $db_erg )
{
die('Ungültige Abfrage: ' . mysql_error());
}
...
while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC))
{
echo '<tr>';
echo '<td align="center">'. $zeile['tag'] . '.' . '</td>';
echo '<td>'. $zeile['objekt'] . ' ' . '</td>';
echo '<td>'. $zeile['mitarbeiter'] . ' ' . '</td>';
echo '<td>'. $zeile['taetigkeit'] . ' ' .'</td>';
echo '<td align="right">'. $zeile['zeit'] . ' ' . '</td>';
2. Frage)
Eine Auswertung aus Dropdownfelder: (objekt, jahr) (mitarbeiter und monat sind fest)
PHP:
$sqlab = 'SELECT SUM(zeit) FROM rapport ';
if($_POST['mitarbeiter'] && $_POST['jahr'])
{
$sqlab .= 'WHERE
`mitarbeiter` = "'.mysql_real_escape_string($_POST['mitarbeiter']).'" AND
`monat` = "01" AND
`objekt` = "100" AND
`jahr` = "'.mysql_real_escape_string($_POST['jahr']).'"';
}
else if($_POST['mitarbeiter'] && $_POST['jahr'])
{
$sqlab .= 'WHERE
`mitarbeiter` = "'.mysql_real_escape_string($_POST['mitarbeiter']).'" AND
`monat` = "01" AND
`objekt` = "100" AND
`jahr` = "'.mysql_real_escape_string($_POST['jahr']).'"';
}
else if($_POST['jahr'])
{
$sqlab .= 'WHERE
`monat` = "01" AND
`objekt` = "100" AND
`jahr` = "'.mysql_real_escape_string($_POST['jahr']).'"';
}
else if($_POST['mitarbeiter'])
{
$sqlab .= 'WHERE
`monat` = "01" AND
`objekt` = "100" AND
`mitarbeiter` = "'.mysql_real_escape_string($_POST['mitarbeiter']).'"';
}
$res = mysql_query($sqlab);
$num = mysql_num_rows($res);
$arr = mysql_fetch_array($res);
//echo "<table border align='center'>";
while ($arr)
{
echo '<td align="right">'. $arr['SUM(zeit)'] . ' ' . '</td>';
echo '</a>';
$arr = mysql_fetch_array($res);
}
Beim Eingabe der Rapporte hab ich so eingestellt dass die Datum einmal ganz normal als date gespeichert wird, und noch ein zweitesmal einzeln als tag, monat und jahr.. deshalb funktioniert das obenstehene Script. ist ja blöd wenn datum zweimal gespeichert wird, wo ich doch speicherplatz sparen will..deshalb möchte ich jetzt nur noch aus date auswerten, nur weiss ich nicht wie..
3. Frage)
Das Script oben wird ja durch Dropdownfelder ausgewertet..wenn ich nichts im Dropdownfelder auswähle werden alle Daten angezeigt.
Kann ich so einstellen dass nur wenn ich was ausgewählt habe die Daten angezeigt werden und sonst die Felder leer bleiben?
Im voraus Danke hoch 3 für die Antworten