Datums tussen twee datums in
Ik heb 2 keer 2 textboxjes waar mensen de dag (1-31) en datum (1-12) invullen.
In mijn database heb ik gegevens staan voor de jaren 1990 t/m 2008 in het formaat jjjj-mm-dd. Nu moet mijn php script van alle datums die tussen de 2 ingevulde datums staan voor de jaren 1990 t/m 2008 de waardes in een tabel zetten die er als volgt uitziet. (let niet op de waardes die erin staan).
http://i44.tinypic.com/20t30c7.jpg
ik heb al een code voor 1 datum gemaakt, dit is waarschijnlijk niet de makkelijkste/veiligste manier om dit te doen maar ik ben een noob, eventueel zou ik ook graag willen weten hoe ik dit verbeter.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?php
include('config.php');
$dag = $_POST['dag1'];
$maand = $_POST['maand1'];
$plaats = $_POST['plaats1'];
$datum2 = "2008-$maand-$dag";
$datum3 = "2007-$maand-$dag";
$datum4 = "2006-$maand-$dag";
$datum5 = "2005-$maand-$dag";
$datum6 = "2004-$maand-$dag";
$datum7 = "2003-$maand-$dag";
$datum8 = "2002-$maand-$dag";
$datum9 = "2001-$maand-$dag";
$datum10 = "2000-$maand-$dag";
$datum11 = "1999-$maand-$dag";
$datum12 = "1998-$maand-$dag";
$datum13 = "1997-$maand-$dag";
$datum14 = "1996-$maand-$dag";
$datum15 = "1995-$maand-$dag";
$datum16 = "1994-$maand-$dag";
$datum17 = "1993-$maand-$dag";
$datum18 = "1992-$maand-$dag";
$datum19 = "1991-$maand-$dag";
$datum20 = "1990-$maand-$dag";
//zoeken in de db naar de gegevens die daarbij horen.
$result = mysql_query("SELECT * FROM knmi WHERE date= '".$datum2."' OR date= '".$datum3."' OR date= '".$datum4."' OR date= '".$datum5."' OR date= '".$datum6."' OR date= '".$datum7."' OR date= '".$datum8."' OR date= '".$datum9."' OR date= '".$datum10."' OR date= '".$datum11."' OR date= '".$datum12."' OR date= '".$datum13."' OR date= '".$datum14."' OR date= '".$datum15."' OR date= '".$datum16."' OR date= '".$datum17."' OR date= '".$datum18."' OR date= '".$datum19."' OR date= '".$datum20."'")
or die(mysql_error());
//gegevens in tabel zetten
echo "<table border='1'>
<tr>
<th>Datum</th>
<th>Maximaal</th>
<th>Bewolking</th>
<th>Regen duur</th>
</tr>";
while($row = mysql_fetch_array($result))
{
$maxtemp = ''.$row[tx]*0.1.'';
$bewolking = ''.$row[ng].'';
$regenduur = ''.$row[dr]*0.1.'';
if($bewolking == 0)
{
$bewolking = "obew";
}
if($bewolking == 1)
{
$bewolking = "vobew";
}
if($bewolking == 2)
{
$bewolking = "lbew";
}
if($bewolking == 3)
{
$bewolking = "hbew";
}
if($bewolking == 4)
{
$bewolking = "hbew";
}
if($bewolking == 5)
{
$bewolking = "hzbew";
}
if($bewolking == 6)
{
$bewolking = "zbew";
}
if($bewolking == 7)
{
$bewolking = "zbew";
}
if($bewolking == 8)
{
$bewolking = "gbew";
}
echo "<tr>";
echo "<td>" . $row['date'] . "</td>";
echo "<td>" . $maxtemp . "</td>";
echo "<td>" . $bewolking . "</td>";
echo "<td>" . $regenduur . "</td>";
echo "</tr>";
}
echo "</table>";
?>
include('config.php');
$dag = $_POST['dag1'];
$maand = $_POST['maand1'];
$plaats = $_POST['plaats1'];
$datum2 = "2008-$maand-$dag";
$datum3 = "2007-$maand-$dag";
$datum4 = "2006-$maand-$dag";
$datum5 = "2005-$maand-$dag";
$datum6 = "2004-$maand-$dag";
$datum7 = "2003-$maand-$dag";
$datum8 = "2002-$maand-$dag";
$datum9 = "2001-$maand-$dag";
$datum10 = "2000-$maand-$dag";
$datum11 = "1999-$maand-$dag";
$datum12 = "1998-$maand-$dag";
$datum13 = "1997-$maand-$dag";
$datum14 = "1996-$maand-$dag";
$datum15 = "1995-$maand-$dag";
$datum16 = "1994-$maand-$dag";
$datum17 = "1993-$maand-$dag";
$datum18 = "1992-$maand-$dag";
$datum19 = "1991-$maand-$dag";
$datum20 = "1990-$maand-$dag";
//zoeken in de db naar de gegevens die daarbij horen.
$result = mysql_query("SELECT * FROM knmi WHERE date= '".$datum2."' OR date= '".$datum3."' OR date= '".$datum4."' OR date= '".$datum5."' OR date= '".$datum6."' OR date= '".$datum7."' OR date= '".$datum8."' OR date= '".$datum9."' OR date= '".$datum10."' OR date= '".$datum11."' OR date= '".$datum12."' OR date= '".$datum13."' OR date= '".$datum14."' OR date= '".$datum15."' OR date= '".$datum16."' OR date= '".$datum17."' OR date= '".$datum18."' OR date= '".$datum19."' OR date= '".$datum20."'")
or die(mysql_error());
//gegevens in tabel zetten
echo "<table border='1'>
<tr>
<th>Datum</th>
<th>Maximaal</th>
<th>Bewolking</th>
<th>Regen duur</th>
</tr>";
while($row = mysql_fetch_array($result))
{
$maxtemp = ''.$row[tx]*0.1.'';
$bewolking = ''.$row[ng].'';
$regenduur = ''.$row[dr]*0.1.'';
if($bewolking == 0)
{
$bewolking = "obew";
}
if($bewolking == 1)
{
$bewolking = "vobew";
}
if($bewolking == 2)
{
$bewolking = "lbew";
}
if($bewolking == 3)
{
$bewolking = "hbew";
}
if($bewolking == 4)
{
$bewolking = "hbew";
}
if($bewolking == 5)
{
$bewolking = "hzbew";
}
if($bewolking == 6)
{
$bewolking = "zbew";
}
if($bewolking == 7)
{
$bewolking = "zbew";
}
if($bewolking == 8)
{
$bewolking = "gbew";
}
echo "<tr>";
echo "<td>" . $row['date'] . "</td>";
echo "<td>" . $maxtemp . "</td>";
echo "<td>" . $bewolking . "</td>";
echo "<td>" . $regenduur . "</td>";
echo "</tr>";
}
echo "</table>";
?>
Alvast bedankt voor de hulp!
Kilian
Waarom niet gewoon SELECT * FROM data WHERE DAY(date) = $dag AND MONTH(date) = $maand
omdat er ook nog andere jaren in staan die die niet moet laten zien
Dan voeg je die toch toe? And YEAR(datetime) between 1990 AND 2008 ofzo.
Er klopt niets van je manier van scripten. Eerst zet je variabelen wel binnen quotes en dan ga je variabelen buiten quotes zetten op een plek waar helemaal geen quotes horen??