Tak for roserne.
Jeg sluttede i gaar med at konstatere at du synes at oenske en opstilling hvor for en uge du viser hvilke personer der lejer en eller flere genstande dag for dag, for eksempel:
navn mandag tirsdag onsdag
Lars x x
Jens x x
og jeg paatog mig at komme med et forslag. Det har jeg nu gjort, og for at teste det har jeg lavet en lille hjemmeside
http://christianjorgensen.be/alex.php og en mini-database med tre tabeller, alexPerson, alexPersonGenstand, og alexGenstand. Paa hjemmesiden har jeg saa lavet en form hvor du kan indsaette den foerste og den sidste dag i ugen du soeger. Paa grund af den maade min version af mysql behandler datoer skal du indfoere dem som yyyy-mm-dd, for eksempel 2010-01-18. Saa ville jeg helst have fundet en mysql query der gav de rigtige oplysninger paa en gang, men det kraever en mysql procedure og det stoetter min mysql version ikke. Saa jeg har foerst lavet en query der finder navnene paa de personer der har lejet en eller flere genstande i den paagaeldende uge. De navne putter jeg i en array. Saa for hvert navn laver jeg en query for hver dag i ugen. Jeg bruger mysql funktionen ADDDATE saa jeg spoerger om begyndelsdagen plus 0 dage, plus 1 dag, o.s.v. Forneden viser jeg min kode og de tabeller jeg bruger. For ugen 18-24 januar fik jeg, med mine data, denne opstilling. Er det hvad du taenkte paa? (Det er forvraenget her, kik selv paa hjemmesiden.)
Navn: mandag tirsdag onsdag torsdag fredag loerdag soendag
Jens X X X X X
Lars X X X X
Per X
Det kan der goeres meget mere ud af, for eksempel at man kan vaelge vilkaarlige data, men det var ikke spoergsmaalet.
Kan vi slutte nu og lukke spoergsmaalet? Jeg mener at jeg har besvaret dit spoergsmaal.
Her er koden og tabellerne:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "
http://www.w3.org/TR/html4/strict.dtd"><html>
<head>
<title></title>
</head>
<body>
<?
$link = mysql_connect ('christianjorgensen.be.mysql', 'christianjoygen', 'dnyBKKbe') or die(mysql_erorr());
mysql_select_db('christianjoygen') or die('Could not select database');
if($_POST['submit'])
{
$start = $_POST['start'];
$end = $_POST['end'];
echo "<table>";
echo "<tr><td>Navn: </td><td>mandag</td><td>tirsdag</td><td>onsdag</td><td>torsdag</td><td>fredag</td><td>loerdag</td><td>soendag</td></tr>";
$navne = mysql_query("SELECT navn FROM alexPerson p JOIN alexPersonGenstand pg ON p.id = pg.pID WHERE start <= '$end' AND end >= '$start' GROUP BY navn") or die(mysql_error());
while($row=mysql_fetch_array($navne)) $navneliste[] = $row['navn'];
for($i=0; $i<count($navneliste); $i++)
{
echo "<tr><td>$navneliste[$i]</td>";
for($j=0; $j<7; $j++)
{
$dato = mysql_query("SELECT 'x' FROM alexPerson p JOIN alexPersonGenstand pg ON p.id=pg.pID WHERE p.navn = '$navneliste[$i]' AND ADDDATE('$start', $j) BETWEEN start AND end") or die(mysql_error());
echo "<td>";
if(mysql_num_rows($dato)>0) echo "X";
echo "</td>";
}
echo "</tr>";
}
echo "</table>";
}
mysql_close($link);
?>
<br/>
<form method="POST" action= <?print $_SERVER["PHP_SELF"]?>>
<table>
<tr><td>start: <td/><input type="text" name="start" /></tr>
<tr><td>end: <td/><input type="text" name="end" /></tr>
<tr><td></td><td><input type="submit" name="submit" value="submit" /></td></tr>
</table>
</form>
</body>
</html>
alexPerson
id navn
1 Lars
2 Hans
3 Jens
4 Per
alexPersonGenstand
id pID gID start end
4 1 2 2010-01-18 2010-01-20
2 1 3 2010-01-22 2010-01-22
3 4 1 2010-01-24 2010-01-25
1 3 3 2010-01-20 2010-01-24
alexGenstand
id navn
1 computer1
2 computer2
3 flagstang
4 tandem