Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Auswahlliste mit Tagesdatum vorbelegt, aber keine Auswahl früherer Monate möglich

Frage Entwicklung PHP

Mitglied: gechger

gechger (Level 1) - Jetzt verbinden

08.07.2009, aktualisiert 21:21 Uhr, 4009 Aufrufe, 5 Kommentare

Ich arbeite gerade an einem Script, welches einem User erlauben soll, Daten aus einer Datenbank mit auswählbarem von-bis Datumsbereich zu holen

Hallo Forum,

leider habe ich gerade einen Knoten im Kopf und komme nicht weiter.
In einem Script biete ich einem User an, über Pull-Down Auswahl Daten aus einer Datenbank zu holen.

Er soll den Datum-von Bereich eingeben, den Daten-bis Bereich und den User auswählen, der die Daten erfasst hat. Die PullDowns für das Datum sollen als Standard den aktuellen Tag anzeigen. Das Script sieht bisher so aus:

01.
 
02.
<? 
03.
$akttag=(date("d")); 
04.
$aktmonat=(date("m")); 
05.
$aktjahr=(date("y")); 
06.
 
07.
?> 
08.
 
09.
<form action="aendern.php" method="post"
10.
<tr> 
11.
<td> 
12.
 </td> 
13.
 </tr> 
14.
  <tr> 
15.
    <td> 
16.
    <select name="tagvon" size="1"
17.
    <option value="01" <?if ($akttag=='01'){?>selected<?}?>>01</option> 
18.
    <option value="02" <?if ($akttag=='02'){?>selected<?}?>>02</option> 
19.
    <option value="03" <?if ($akttag=='03'){?>selected<?}?>>03</option> 
20.
    <option value="04" <?if ($akttag=='04'){?>selected<?}?>>04</option> 
21.
    <option value="05" <?if ($akttag=='05'){?>selected<?}?>>05</option> 
22.
    <option value="06" <?if ($akttag=='06'){?>selected<?}?> >06</option> 
23.
    <option value="07" <?if ($akttag=='07'){?>selected<?}?>>07</option> 
24.
    <option value="08" <?if ($akttag=='08'){?>selected<?}?>>08</option> 
25.
    <option value="09" <?if ($akttag=='09'){?>selected<?}?>>09</option> 
26.
    <option value="10" <?if ($akttag=='10'){?>selected<?}?>>10</option> 
27.
    <option value="11" <?if ($akttag=='11'){?>selected<?}?>>11</option> 
28.
    <option value="12" <?if ($akttag=='12'){?>selected<?}?>>12</option> 
29.
    <option value="13" <?if ($akttag=='13'){?>selected<?}?>>13</option> 
30.
    <option value="14" <?if ($akttag=='14'){?>selected<?}?>>14</option> 
31.
    <option value="15" <?if ($akttag=='15'){?>selected<?}?>>15</option> 
32.
    <option value="16" <?if ($akttag=='16'){?>selected<?}?>>16</option> 
33.
    <option value="17" <?if ($akttag=='17'){?>selected<?}?>>17</option> 
34.
    <option value="18" <?if ($akttag=='18'){?>selected<?}?>>18</option> 
35.
    <option value="19" <?if ($akttag=='19'){?>selected<?}?>>19</option> 
36.
    <option value="20" <?if ($akttag=='20'){?>selected<?}?>>20</option> 
37.
    <option value="21" <?if ($akttag=='21'){?>selected<?}?>>21</option> 
38.
    <option value="22" <?if ($akttag=='22'){?>selected<?}?>>22</option> 
39.
    <option value="23" <?if ($akttag=='23'){?>selected<?}?>>23</option> 
40.
    <option value="24" <?if ($akttag=='24'){?>selected<?}?>>24</option> 
41.
    <option value="25" <?if ($akttag=='25'){?>selected<?}?>>25</option> 
42.
    <option value="26" <?if ($akttag=='26'){?>selected<?}?>>26</option> 
43.
    <option value="27" <?if ($akttag=='27'){?>selected<?}?>>27</option> 
44.
    <option value="28" <?if ($akttag=='28'){?>selected<?}?>>28</option> 
45.
    <option value="29" <?if ($akttag=='29'){?>selected<?}?>>29</option> 
46.
    <option value="30" <?if ($akttag=='30'){?>selected<?}?>>30</option> 
47.
    <option value="31" <?if ($akttag=='31'){?>selected<?}?>>31</option> 
48.
    </select> 
49.
    </td> 
50.
    <td> 
51.
    <select name="monatvon" size="1"
52.
    <option value="01" <?if ($aktmonat=='01') { ?>selected<?}?>>Januar</option> 
53.
    <option value="02" <?if ($aktmonat=='02') { ?>selected<?}?>>Februar</option> 
54.
    <option value="03" <?if ($aktmonat=='03') { ?>selected<?}?>>März</option> 
55.
    <option value="04" <?if ($aktmonat=='04') { ?>selected<?}?>>April</option> 
56.
    <option value="05" <?if ($aktmonat=='05') { ?>selected<?}?>>Mai</option> 
57.
    <option value="06" <?if ($aktmonat=='06') { ?>selected<?}?>>Juni</option> 
58.
    <option value="07" <?if ($aktmonat=='07') { ?>selected<?}?> >Juli</option> 
59.
    <option value="08" <?if ($aktmonat=='08') { ?>selected<?}?>>August</option> 
60.
    <option value="09" <?if ($aktmonat=='09') { ?>selected<?}?>>September</option> 
61.
    <option value="10" <?if ($aktmonat=='10') { ?>selected<?}?>>Oktober</option> 
62.
    <option value="11" <?if ($aktmonat=='11') { ?>selected<?}?>>November</option> 
63.
    <option value="12" <?if ($aktmonat=='12') { ?>selected<?}?>>Dezember</option> 
64.
    </select> 
65.
     </td> 
66.
     <td> 
67.
    <select name="jahrvon" size="1"
68.
    <option value="2009" <?if ($aktjahr=='09'){ ?>selected<?}?> >2009</option> 
69.
    <option value="2010" <?if ($aktjahr=='10'){ ?>selected<?}?>>2010</option> 
70.
    <option value="2011" <?if ($aktjahr=='11'){ ?>selected<?}?>>2011</option> 
71.
    <option value="2012" <?if ($aktjahr=='12'){ ?>selected<?}?>>2012</option> 
72.
    <option value="2013" <?if ($aktjahr=='13'){ ?>selected<?}?>>2013</option> 
73.
    <option value="2014" <?if ($aktjahr=='14'){ ?>selected<?}?>>2014</option> 
74.
    <option value="2015" <?if ($aktjahr=='15'){ ?>selected<?}?>>2015</option> 
75.
    <option value="2016" <?if ($aktjahr=='16'){ ?>selected<?}?>>2016</option> 
76.
    <option value="2017" <?if ($aktjahr=='17'){ ?>selected<?}?>>2017</option> 
77.
    <option value="2018" <?if ($aktjahr=='18'){ ?>selected<?}?>>2018</option> 
78.
    <option value="2019" <?if ($aktjahr=='19'){ ?>selected<?}?>>2019</option> 
79.
    <option value="2020" <?if ($aktjahr=='20'){ ?>selected<?}?>>2020</option> 
80.
    </select> 
81.
     </td> 
82.
     <td width="25"
83.
     </td> 
84.
     <td> 
85.
    <select name="tagbis" size="1"
86.
    <option value="01" <?if ($akttag=='01'){?>selected<?}?>>01</option> 
87.
    <option value="02" <?if ($akttag=='02'){?>selected<?}?>>02</option> 
88.
    <option value="03" <?if ($akttag=='03'){?>selected<?}?>>03</option> 
89.
    <option value="04" <?if ($akttag=='04'){?>selected<?}?>>04</option> 
90.
    <option value="05" <?if ($akttag=='05'){?>selected<?}?>>05</option> 
91.
    <option value="06" <?if ($akttag=='06'){?>selected<?}?> >06</option> 
92.
    <option value="07" <?if ($akttag=='07'){?>selected<?}?>>07</option> 
93.
    <option value="08" <?if ($akttag=='08'){?>selected<?}?>>08</option> 
94.
    <option value="09" <?if ($akttag=='09'){?>selected<?}?>>09</option> 
95.
    <option value="10" <?if ($akttag=='10'){?>selected<?}?>>10</option> 
96.
    <option value="11" <?if ($akttag=='11'){?>selected<?}?>>11</option> 
97.
    <option value="12" <?if ($akttag=='12'){?>selected<?}?>>12</option> 
98.
    <option value="13" <?if ($akttag=='13'){?>selected<?}?>>13</option> 
99.
    <option value="14" <?if ($akttag=='14'){?>selected<?}?>>14</option> 
100.
    <option value="15" <?if ($akttag=='15'){?>selected<?}?>>15</option> 
101.
    <option value="16" <?if ($akttag=='16'){?>selected<?}?>>16</option> 
102.
    <option value="17" <?if ($akttag=='17'){?>selected<?}?>>17</option> 
103.
    <option value="18" <?if ($akttag=='18'){?>selected<?}?>>18</option> 
104.
    <option value="19" <?if ($akttag=='19'){?>selected<?}?>>19</option> 
105.
    <option value="20" <?if ($akttag=='20'){?>selected<?}?>>20</option> 
106.
    <option value="21" <?if ($akttag=='21'){?>selected<?}?>>21</option> 
107.
    <option value="22" <?if ($akttag=='22'){?>selected<?}?>>22</option> 
108.
    <option value="23" <?if ($akttag=='23'){?>selected<?}?>>23</option> 
109.
    <option value="24" <?if ($akttag=='24'){?>selected<?}?>>24</option> 
110.
    <option value="25" <?if ($akttag=='25'){?>selected<?}?>>25</option> 
111.
    <option value="26" <?if ($akttag=='26'){?>selected<?}?>>26</option> 
112.
    <option value="27" <?if ($akttag=='27'){?>selected<?}?>>27</option> 
113.
    <option value="28" <?if ($akttag=='28'){?>selected<?}?>>28</option> 
114.
    <option value="29" <?if ($akttag=='29'){?>selected<?}?>>29</option> 
115.
    <option value="30" <?if ($akttag=='30'){?>selected<?}?>>30</option> 
116.
    <option value="31" <?if ($akttag=='31'){?>selected<?}?>>31</option> 
117.
    </select> 
118.
    </td> 
119.
    <td> 
120.
    <select name="monatbis" size="1"
121.
    <option value="01" <?if ($aktmonat=='01') { ?>selected<?}?>>Januar</option> 
122.
    <option value="02" <?if ($aktmonat=='02') { ?>selected<?}?>>Februar</option> 
123.
    <option value="03" <?if ($aktmonat=='03') { ?>selected<?}?>>März</option> 
124.
    <option value="04" <?if ($aktmonat=='04') { ?>selected<?}?>>April</option> 
125.
    <option value="05" <?if ($aktmonat=='05') { ?>selected<?}?>>Mai</option> 
126.
    <option value="06" <?if ($aktmonat=='06') { ?>selected<?}?>>Juni</option> 
127.
    <option value="07" <?if ($aktmonat=='07') { ?>selected<?}?> >Juli</option> 
128.
    <option value="08" <?if ($aktmonat=='08') { ?>selected<?}?>>August</option> 
129.
    <option value="09" <?if ($aktmonat=='09') { ?>selected<?}?>>September</option> 
130.
    <option value="10" <?if ($aktmonat=='10') { ?>selected<?}?>>Oktober</option> 
131.
    <option value="11" <?if ($aktmonat=='11') { ?>selected<?}?>>November</option> 
132.
    <option value="12" <?if ($aktmonat=='12') { ?>selected<?}?>>Dezember</option> 
133.
    </select> 
134.
     </td> 
135.
     <td> 
136.
    <select name="jahrbis" size="1"
137.
    <option value="2009" <?if ($aktjahr=='09'){ ?>selected<?}?> >2009</option> 
138.
    <option value="2010" <?if ($aktjahr=='10'){ ?>selected<?}?>>2010</option> 
139.
    <option value="2011" <?if ($aktjahr=='11'){ ?>selected<?}?>>2011</option> 
140.
    <option value="2012" <?if ($aktjahr=='12'){ ?>selected<?}?>>2012</option> 
141.
    <option value="2013" <?if ($aktjahr=='13'){ ?>selected<?}?>>2013</option> 
142.
    <option value="2014" <?if ($aktjahr=='14'){ ?>selected<?}?>>2014</option> 
143.
    <option value="2015" <?if ($aktjahr=='15'){ ?>selected<?}?>>2015</option> 
144.
    <option value="2016" <?if ($aktjahr=='16'){ ?>selected<?}?>>2016</option> 
145.
    <option value="2017" <?if ($aktjahr=='17'){ ?>selected<?}?>>2017</option> 
146.
    <option value="2018" <?if ($aktjahr=='18'){ ?>selected<?}?>>2018</option> 
147.
    <option value="2019" <?if ($aktjahr=='19'){ ?>selected<?}?>>2019</option> 
148.
    <option value="2020" <?if ($aktjahr=='20'){ ?>selected<?}?>>2020</option> 
149.
    </select> 
150.
     </td> 
151.
     <td width="25"
152.
     </td> 
153.
     <td> 
154.
 
155.
 
156.
<?php 
157.
error_reporting(E_ALL); #zeig alle Fehler 
158.
ini_set('display_errors', '1'); #sorgt dafür, dass überhaupt Fehler angezeigt werden 
159.
 
160.
//Verbindung zur Datenbank herstellen 
161.
 
162.
 
163.
  $cldb = mysql_connect($_SESSION['host'], $_SESSION['dbuser'], $_SESSION['passwort']) or die(mysql_error()); 
164.
  mysql_select_db($_SESSION['db']); 
165.
  $sql = "SELECT * FROM ".$_SESSION['tab']."  "
166.
  $result = mysql_query($sql) OR die(mysql_error()); 
167.
 
168.
 
169.
 
170.
  ?> 
171.
<select name="nachname" size="1"
172.
<?php 
173.
        while ($row = mysql_fetch_assoc($result)) { 
174.
        echo '<option value= "'. $row['name'] .'" > '. $row['name']. '</option>'."\n"
175.
 
176.
177.
?> 
178.
</select> 
179.
</td> 
180.
 
181.
</table> 
182.
<table> 
183.
        <tr> 
184.
         <td width="150" ><input type="submit" value="Daten anzeigen"></td> 
185.
         <td width="175"><input type="reset" value="Abbrechen"></td> 
186.
            </tr> 
187.
 
188.
</tr> 
189.
</table> 
190.
</form> 
191.
<table border="1"
192.
         <tr> 
193.
 
194.
         </tr> 
195.
</table> 
196.
 
197.
<? 
198.
@$datumvon=$_POST["tagvon"].".".$_POST["monatvon"].".".$_POST["jahrvon"]; 
199.
@$datumbis=$_POST["tagbis"].".".$_POST["monatbis"].".".$_POST["jahrbis"]; 
200.
@$namecheck=$_POST["nachname"]; 
201.
 
202.
$sql1 = "SELECT * FROM ".$_SESSION['tabdat']." INNER JOIN ".$_SESSION['tab']." ON ".$_SESSION['tabdat'].".userid = ".$_SESSION['tab'].".userid  where (datum >= '$datumvon') and (datum <= '$datumbis') and (name = '$namecheck') order by datum"
203.
//echo "$sql1","<br>"
204.
 
205.
$result1 = mysql_query($sql1) OR die(mysql_error()); 
206.
while ($row1 = mysql_fetch_assoc($result1)) { 
207.
         //echo "<pre>"
208.
         //print_r($row1); 
209.
         //echo "</pre>"
210.
         if (@$_POST["nachname"] == @$row1["name"]){ 
211.
?> 
212.
 
213.
<table border="1"
214.
         <tr> 
215.
                 <td width="120">Datum</td> 
216.
                 <td width="120">Userid</td> 
217.
                 <td width="180">Name</td> 
218.
         </tr> 
219.
         <tr> 
220.
                 <td width="120"  bgcolor="#FFFFFF"><? echo $row1["datum"]; ?></td> 
221.
                 <td width="120" bgcolor="#FFFFFF"><? echo $row1["userid"]; ?></td> 
222.
                 <td width="180" bgcolor="#FFFFFF"><? echo $row1["name"]; ?></td> 
223.
 
224.
         </tr> 
225.
         <tr> 
226.
                 <td width="250">Projekt</td> 
227.
                 <td width="250">Auftrag</td> 
228.
                 <td width="250">Einsatz</td> 
229.
                 <td width="100">Stunden</td> 
230.
         </tr> 
231.
         <tr> 
232.
                 <td width="250" bgcolor="#FFFFFF"><? echo $row1["projekt"]; ?></td> 
233.
                 <td width="250" bgcolor="#FFFFFF"><? echo $row1["auftrag"]; ?></td> 
234.
                 <td width="250" bgcolor="#FFFFFF"><? echo $row1["einsatz"]; ?></td> 
235.
                 <td width="100" align="center" bgcolor="#FFFFFF"><? echo $row1["zeit"]; ?></td> 
236.
         </tr> 
237.
         <tr height="25"><td height="25" ></td> 
238.
         </tr> 
239.
</table> 
240.
 
241.
 
242.
 
243.
 
244.
 
245.
<? 
246.
 
247.
248.
249.
 
250.
?>

Mein Problem ist jetzt, daß ich keine Daten vom Vormonat bekomme, sondern nur vom aktuellen Monat Juli. Ich vermute, daß die IF-Abfrage
<option value="07" <?if ($aktmonat=='07') { ?>selected<?}?> >Juli</option>
die Ausgabe des Monats 6 verhindert, weil der aktuelle Monat ja der Monat 7 ist.

Ich müßte also eine else Abfrage einbauen, aber habe gerade keine Idee wie die aussehen sollte.
Oder ich brauche vielleicht einen komplett anderen Ansatz, um meine Ziele zu erreichen:

Auswahl Datum von, Auswahl Datum bis, Auswahl User, Voreinstellung des Datums auf aktuellen Tag.

Jede Idee hilft weiter (wie immer )
Schöne Grüße
Christof
Mitglied: empreality
08.07.2009 um 22:11 Uhr
schon mal was von schleifen gehört?

echo "<select name=\"tagvon\">";
for ($tag=1; $tag <= 31; $tag++) {
echo "<option value=\"$tag\" ";
if ($akttag==$tag) echo "selected ";
echo ">$tag</option>";
}



Von welchem Typ ist die Datumsspalte in der DB-Tabelle ?
Bitte warten ..
Mitglied: gechger
08.07.2009 um 22:17 Uhr
wow,

an dieser Stelle eine Schleife einbauen, auf diese Idee bin ich echt noch nicht gekommen. Das sieht aber vielversprechend aus.

Vielen Dank für die prompte Hilfe

Schöne Grüße
Christof
Bitte warten ..
Mitglied: empreality
08.07.2009 um 22:23 Uhr
Die Monate kannst du dir mal in ein Array stecken:

$arrmonat = array("Januar", "Februar", "März", "April", "Mai", "Juni",
"Juli", "August", "September", "Oktober","November","Dezember");

Und dann in der Schleife mit $arrmonat[$monat] ausgeben.

Benutzt du DATE in der DB?
Bitte warten ..
Mitglied: gechger
09.07.2009 um 12:37 Uhr
Hallo,

ich verwende drei Datumsfelder.
Datum beinhaltet ein Datum, daß vom User eingegeben wird. Dieses Feld frage ich hier ab. (varchar)
erfdatum ist ein Timestamp, der automatisch beim Speichern des Datensatzes erzeugt wird. (timestamp)
Dann gibt es noch ein aenderdat, um zu dokumentieren, wann ein bestehender Datensatz geändert worden ist. (varchar)


Schöne Grüße
Christof
Bitte warten ..
Mitglied: gechger
10.07.2009 um 09:22 Uhr
Hallo,

Dein Script funktioniert im Prinzip einwandfrei. Ich habe jetzt nur noch ein Problem mit der Formatierung der Datumsfelder. Ich verwende (date("n")), um den Monat ohne führende Nullen zu erfassen. In der Datenbank steht trotzdem "07". Wenn wirklich "7" drin stände, könnte ich die Daten abfragen, so passiert aber nichts.

Wie kriege ich am sinnvolsten eine einheitliche Formatierung hin?

Schöne Grüße
Christof

EDIT: Habs gefunden. Ich habe über das Eingabeformular ja die Formatierung entsprechend mitgegeben.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows 10
Keine Tastatureingabe in Systemapps möglich

Frage von OSIlayer8 zum Thema Windows 10 ...

Windows 7
gelöst Notebook - keine Installation eines OS mehr möglich (6)

Frage von mike7050 zum Thema Windows 7 ...

Windows Server
gelöst Terminalserver 2012 R2 - keine Anmeldung mehr für user möglich - (2)

Frage von tredl127 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Erkennung und -Abwehr
Virenschutz - Meinungen (27)

Frage von honeybee zum Thema Erkennung und -Abwehr ...

Netzwerke
Abisolierwerkzeug (18)

Frage von SarekHL zum Thema Netzwerke ...

Windows 10
Welches OS für Firmengeräte? (17)

Frage von MarkusVH zum Thema Windows 10 ...

Exchange Server
SBS2011: POP3-Connector 10 MB Grenze Email Benachrichtigung (17)

Frage von bogi1102 zum Thema Exchange Server ...