Willkommen in der Webstatt Zum Webstatt Blog und Stories
gecko am 03.05.06 08:39

hallo

ich versuch eine art terminkalender zu basteln mit einem kreuztabellensystem.
es sollen daten der letzten 21 tage ausgegeben werden (also wer hat wann in den letzen 21 tagen gearbeitet).
zum besseren verständnis hier mal visuell:

NAME | 03.05 | 02.05 | 01.05 | 30.04 | 29.04 | 28.04 | etc.
---------------------------------------------------------------------------
name1 |
---------------------------------------------------------------------------
name2 |
---------------------------------------------------------------------------
name3 |
---------------------------------------------------------------------------
etc.


und hier mal mein bisheriger code:

<table width="574" border="0" cellspacing="1" cellpadding="3">
<tr>
<?
#Fehleranzeige
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
##########

#Verbindung mit der Datenbank
mysql_connect("localhost","***","***");
mysql_select_db("***");
#########

#Query
$sql=mysql_query("SELECT a.nummer,a.pers_name,a.pers_vorname,a.status,a.rang,b.titel,b.auftragsnummer,c.job,c.eventdatum
from
sc_dispo_personal AS a ,sc_dispo_auftrag AS b,sc_dispo_daten AS c
WHERE
a.id=c.pers_id
AND
b.id=c.auftrag_id
AND
c.eventdatum < NOW()
");
echo mysql_error();
#########

#Tabelle
echo '<td bgcolor="#E0E3E9">name</td>';
$datenProZeile = 21;
$counter = 1;
for($today=$date=strtotime(date('Y-m-d'));$date>=strtotime('-21 days',$today);$date=strtotime('-1 days',$date))
{
echo '<td bgcolor="#CCCCCC">',date('d.m.y',$date),'</td>';
if($counter % $datenProZeile == 0) {
}
$counter++;
}
?>
</tr>
<?
while($row = mysql_fetch_array($sql)) {
?>
<tr>
<?
echo '<td bgcolor="#E0E3E9">',$row['pers_name'],'</td>';
echo '<td> &nbsp;</td>';
?>
</tr>
<?
}
?>
</table>


wie krieg ich es hin, das wenn z.b. name2 am 28.04.2006 gearbeitet hat, dieses feld dann gefüllt wird (z.b. mit einem entsprechenden vermerk)?

kann mir jemand einen tipp geben, wie ich jetzt vorgehen muss?

netcup.de Warum gibt es hier Werbung?
der_nic der_nic am 03.05.06 11:43

wäre es nicht einfacher wenn du eine Tabelle nur mit Namen und dem Datum seiner letzten Arbeit zu speichern?

Name | Datum
name1 11.03
name2 08.02
usw.

und dann bei deiner Ausgabe kannst du mit "SELECT * FROM `tabelle` WHERE TO_DAYS(NOW()) - TO_DAYS(Datum) = X" alle Datensätze auslesen die X Tage alt sind...

würd ich jedenfalls so machen:)

mfg nic

gecko am 03.05.06 12:00

ja, hast im prinzip natürlich schon recht. es würde einfach gehen, die daten einfach mit einer entsprechenden select-anweisung auszugeben. nur ich brauch das in diesem fall einfach in einer solchen übersicht, wie ich sie am anfang dargestellt habe....

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt