Hallo zusammen,
ich steh irgendwie auf dem Schlauch, außerdem bin in nicht gerade ein PHP-Spezialist, vielleicht könnt ihr mir ja etwas helfen.
Ich soll eine Auswahlbox erstellen, in der man aussuchen kann, welches Jahr man sehen möchte. Es handelt sich um Projekte, die im Schnitt über mehrere Jahre gehen, d. h. wähle ich 2008 und es gibt Projekte, die zwar schon vor 2008 begonnen haben, sollen auch angezeigt werden, weil diese ja noch laufen.
So jetzt hat mein Kollege meint, man könnte das in die SELECT-Abfrage bei WHERE mit einer $Variablen abfragen, nur irgendwie kommt dabei nichts raus.
<?php
$dbconn = pg_connect("host= dbname= user= password=") or die('Verbindungsaufbau fehlgeschlagen: ' . pg_las
t_error());
$query = "select min(date_part('year', kstbegin)) as projyearmin, max(date_part('year', kstende))
as projyearmax from kostenstelle
";
$result = pg_query($dbconn, $query) or die('Abfrage fehlgeschlagen: ' . pg_last_error());
$bla = $_POST['jahr'];
if (isset($bla))
{
$datefilter = "kstbegin >= $bla-01-01 AND kstende <= $bla-12-31";
}
else
{
$datefilter = "";
}
echo $datefilter;
echo "
<html>\n
<head>\n
<title>kostenstelleliste</title>\n
<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>\n
<link rel='stylesheet' type='text/css' href='lars.css' />
<script language='JavaScript' src='lars.js'></script>
<body>
<center>
<form action=\"
";
echo $_SERVER['PHP_SELF'];
echo "
\" method=\"post\">
<table>
<tr>
<td>Jahr:</td>
<td>
<select size=\"1\" name=\"jahr\" class=\"dropdown\">
<option value=\"*\" selected>*</option>
";
while ($row = pg_fetch_assoc($result)) {
$min = $row['projyearmin'];
$max = $row['projyearmax'];
}
for ($i = $min; $i <= $max; $i++)
{
echo "<option>$i</option>";
}
echo " </select>
<td>
<div id=\"bottom\">
<input type=\"submit\" name=\"Suchen\" value=\"Suchen\" />
</td>
</tr>
</table>
</form>
</center>
";
//INTERNE PROJEKTE
$query =
"
SELECT kostenstelle_id, bezeichnung, kstbegin, kstende, projektleiter,
ret_mit_names(kostenstelle_id,curDate()) as mitarbeiter
FROM (SELECT kostenstelle_id, bezeichnung, kstbegin, kstende, projektleiter
FROM kostenstelle
WHERE fs_firma=1
AND $datefilter
AND kostenstelle_id > 100049)
LEFT OUTER JOIN (SELECT a.fs_kostenstelle, COUNT(distinct fs_mitarbeiter) as mitsIntern
FROM (SELECT mitarbeiter_id FROM mitarbeiter
WHERE fs_firma=1
AND eintritt<=current_date
AND ((austrITT Is null) OR (austritt > curDate()))
AND fs_mitarbeiterstatus = 1) im
In dem $query wird dann diese $VARIABLE als datefilter aufgerufen.
Jetzt wird mir überhaupt nichts mehr, außer die Überschrift angezeigt.
Kann mir jemand helfen, ich verzweifle gerade