junior: datumsabfrage einschränken

Beitrag lesen

Hi junior!

»» Ich bräuchte also in der for-Schleife diese if (isset($_POST['year']) and $_POST['year'] == $i)überhaupt nicht?
Doch. =)
Jetzt sieht man ja das Gesamtbild. Ich würde es folgendermaßen machen:

// Welches Jahr soll vorselektiert werden?

if (!empty($_POST['year']))
          $selectedYear = $_POST['year'];
        else
          $selectedYear = date('Y');

for ($i = $min; $i <= $max; $i++) {
                if (selectedYear  == $i)
                {
                  // ausgewählten Eintrag oder Standardeintrag vorselektieren
                  echo "<option selected>$i</option>\n";
                }
                else
                {
                  echo "<option>$i</option>\n";
                }
        }


>   
> Die Werte `$min`{:.language-php} und `$max`{:.language-php} kannst du ggf. noch vom aktuellen Jahr (`date('Y')`{:.language-php}) abhängig machen.  
>   
> »» Darf ich dich noch was fragen, wie lernt man am Besten PHP?  
> Nach und nach. =)  
>   
> »» Hab zwar im Internet schon einige Tutorials gesucht, aber ehrlich gesagt haut mich da nichts um. Hast du einen Tip für mich?  
> Ein guter Programmierer wirst du nur durch Übung. Es ist wichtig, dass du deinen eigenen Stil findest.  
>   
> Allgemeine PHP-Tutorials habe ich nie durchgearbeitet. Die Erfahrung, die man duch seine Projekte sammelt, ist einfach das Wichtigste.  
>   
> MfG H☼psel  
  
Jetzt soll ich zusätzlich zu dem "Jahresfilter" auch noch einen Filter einbauen, mit den man die Kunden auswählen kann. Wie mach ich das am Besten? Ich hab es zwar geschafft, das in der Auswahlbox die Kunden angezeigt werden, aber wie sag ich ihm, wenn ich z.B Kunde "Maier" auswähle, das er mir nur die Daten von Kunde "Maier" anzeigt?  
  
~~~php
  
<?php  
  
$counter = 0;  
$customerfilter = "";  
  
if (empty($_POST['Suchen'])) {  
        $_POST['Suchen'] = 'Suchen';  
}  
  
  
  
$dbconn = pg_connect("host=s001 dbname=lars user=usr_intranet")  
or die('Verbindungsaufbau fehlgeschlagen: ' . pg_last_error());  
  
$query= " SELECT DISTINCT(name), kunde_id from kunde WHERE kunde_id is not null order by kunde_id ASC  
        ";  
  
$result = pg_query($dbconn, $query) or die('Abfrage fehlgeschlagen: ' . pg_last_error());  
  
echo " <html>\n<head>\n  
        <title>kostenstellenliste</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>  
        <form action=\"  
        ";  
  
echo $_SERVER['PHP_SELF'];  
  
echo "   \" method=\"post\">  
  
        <table>  
        \t<colgroup><col width=780> <col width=120> <col width=100></colgroup>  
                <tr class=\"filter\">  
                <td>&nbsp;Filter - Kunde</td>  
                <td valign=\"middle\" align=\"center\">Kunde &nbsp; <select  align=\"right\" size=\"1\" name=\"name\" class=\"name\">  
                <option value=\"*\">*</option>  
        ";  
  
        while ($res = pg_fetch_assoc($result)){  
                $a = $res['name'];  
        if(isset($_POST['name']) and $_POST['name'] == $a ) {  
                        echo "<option selected>$a</option>\n";  
                        }  
                        else  
                        {  
                        echo "<option>$a</option>\n";  
                        }  
                }  
        echo "</select></td>  
                <td valign=\"middle\" align=\"center\"><div id=\"bottom\"><input type=\"submit\" name=\"Suchen\" value=\"Suchen\" /></td>  
                </tr>  
                 </table>  
                  </form>  
                  ";  
        if(isset($_POST['Suchen']) and $_POST['Suchen'] == 'Suchen') {  
                if ($name != '*') {  
//              $customerfilter = " AND ";  
} else {  
                        $customerfilter ="";  
                }  
}  
  
$query =  
"  
SELECT  kostenstelle_id, b.name, bezeichnung, kstbegin, kstende, projektleiter,  
        ret_mit_names(kostenstelle_id,curDate()) as mitarbeiter  
FROM    (SELECT kostenstelle_id, fs_kunde, bezeichnung, kstbegin, kstende, projektleiter  
        FROM kostenstelle  
        WHERE fs_firma=1  
        $customerfilter  
        AND kostenstelle_id > 199999  
        AND ((kstende is null) OR (kstende >= curDate()))) k  
  
LEFT OUTER JOIN kunde b  
ON b.kunde_id=k.fs_kunde  
  
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  
  
        INNER JOIN      (SELECT fs_kostenstelle, fs_mitarbeiter  
                        FROM aktivmitposkst  
                        WHERE fs_firma=1  
                        AND ((aktivbis is null) OR (aktivbis >= curDate()))) a  
        ON im.mitarbeiter_id=a.fs_mitarbeiter  
  
GROUP BY a.fs_kostenstelle) i  
ON k.kostenstelle_id=i.fs_kostenstelle  
ORDER BY kostenstelle_id;  
  

irgendwie oder wo muss ich ihm doch sagen, das er nur die Auswahl anzeigen soll, oder?

Ich hab es in eine "neue" Seite gemacht, damit ich nicht mit der Datumsabfrage keine Probleme bekomme, wie würde ich das dann zusammenfügen?
Also, das ich sowohl das Jahr, auch als den Kunden auswähle?