phpsuchender: POST

Beitrag lesen

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