Data meerdere keren uit database halen in 1 tabel
09-02-2009 - Test2 Test2 - Yanne Véronneau
10-02-2009 - test test - Test2 Test2
11-02-2009 - test1 test 1- Test2 Test2
12-02-2009 - test 3 test 3 - Test2 Test2
13-02-2009 - test 4 test 4 - Test2 Test2
16-02-2009 - test 5 test 5 - Test2 Test2
17-02-2009 - leeg.. hier moet data - leeg.. hier moet data -
18-02-2009 - leeg.. hier moet data - leeg.. hier moet data -
19-02-2009 - leeg.. hier moet data - leeg.. hier moet data -
Ik wil ook graag gegevens uit 2 database tabellen toevoegen maar heb geen idee hoe ik dat aan deze toe kan voegen :( het gaan om beschikbaarheid (beschikbaar_ma (1 of 0), beschikbaar_di (1 of 0), etc) en om afwezigheid met een van datum en een tot datum waarbij de persoon niet beschikbaar is.
In de $sql haal ik wel alle gegevens om maar weet niet waar en hoe ik er zeker van kan zijn dat deze goed verwerkt worden.
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
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
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
echo 'Rooster van: ' . $_POST['vandate'] . ' tot ' . $_POST['totdate'] . '<br>';
// datum bereik
$vandate = strtotime($_POST['vandate']);
$totdate = strtotime($_POST['totdate']);
// teller instellen
$werkdagen = array();
$dagnamen = array();
// loopen door alle dagen
for ($i = $vandate; $i <= $totdate; $i+= 86400)
{
if(date("w",$i) != 0 AND date("w",$i) != 6) // Weekenden uit de dagen filteren
{
// 07-1-09-02-2009 (Weeknummer, dagnummer, dag, maand, jaar) date('W-w-d-m-Y', $i);
$werkdagen[] = array("Weeknummer" => date('w', $i),
"dagnummer" => date('w', $i),
"dag" => date('d', $i),
"maand" => date('m', $i),
"jaar" => date('Y', $i));
}
}
// Query afhandeling
$sql = "SELECT *
FROM medewerkers
INNER JOIN beschikbaarheid ON medewerker_id = id
INNER JOIN afwezigheid ON id = id
ORDER BY RAND()";
if(!$result = mysql_query($sql))
{
echo 'Helaas is er een fout opgetreden bij het ophalen van de gegevens';
echo ': ' . mysql_errno() . ':' . mysql_error() . '(<pre>' . $sql . '</pre>)';
}
elseif(mysql_num_rows($result) < 1)
{
echo 'Helaas is er een fout opgetreden bij het ophalen van de gegevens.';
echo 'Het aantal rijen dat opgehaald is is '.mysql_num_rows().' terwijl er 1 rij was verwacht. (<pre>' . $sql . '</pre>)';
}
else
{
echo '<table>' . "\n";
foreach($werkdagen as $dag)
{
//lege variabele voor vergelijk maken
$last_id = '';
$data = mysql_fetch_assoc($result);
echo '<tr>';
echo '<td>';
echo $dag['dag']. '-' .$dag['maand']. '-' .$dag['jaar'] . ' ';
echo '</td>';
echo '<td>' . "\n";
echo $data['voornaam'] . ' ' . $data['achternaam'];
echo '<td>' . "\n";
echo ' - ';
echo '</td>' . "\n";
echo '</td>' . "\n";
echo '<td>' . "\n";
if ($data['id'] != $last_id)
{
$sql2 = "SELECT * FROM medewerkers
WHERE id!= '" . $data['id'] . "' and kantoornummer_id!='" . $data['kantoornummer_id'] . "' ORDER BY RAND()";
if(!$result2 = mysql_query($sql2))
{
echo 'Helaas is er een fout opgetreden bij het ophalen van de gegevens';
echo ': ' . mysql_errno() . ':' . mysql_error() . '(<pre>' . $sql2 . '</pre>)';
}
elseif(mysql_num_rows($result2) < 1)
{
echo 'Helaas is er een fout opgetreden bij het ophalen van de gegevens.';
echo ' Het aantal rijen dat opgehaald is is '.mysql_num_rows().' terwijl er 1 rij was verwacht. (<pre>' . $sql . '</pre>)';
}
else
{
$data2 = mysql_fetch_assoc($result2);
// hier moet een andere medewerker komen te staan
echo $data2['voornaam'] . ' ' . $data2['achternaam'];
}
}
echo '</td>' . "\n";
echo '</tr>' . "\n";
if ($dag['dagnummer'] == 5)
{
echo '<tr><td> </td></tr>';
}
//We slaan het id op het laatst in de while nog even op, om te controleren met de volgende opgehaalde rij.
$last_id = $data['id'];
}
echo '<table>' . "\n";
}
?>
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
echo 'Rooster van: ' . $_POST['vandate'] . ' tot ' . $_POST['totdate'] . '<br>';
// datum bereik
$vandate = strtotime($_POST['vandate']);
$totdate = strtotime($_POST['totdate']);
// teller instellen
$werkdagen = array();
$dagnamen = array();
// loopen door alle dagen
for ($i = $vandate; $i <= $totdate; $i+= 86400)
{
if(date("w",$i) != 0 AND date("w",$i) != 6) // Weekenden uit de dagen filteren
{
// 07-1-09-02-2009 (Weeknummer, dagnummer, dag, maand, jaar) date('W-w-d-m-Y', $i);
$werkdagen[] = array("Weeknummer" => date('w', $i),
"dagnummer" => date('w', $i),
"dag" => date('d', $i),
"maand" => date('m', $i),
"jaar" => date('Y', $i));
}
}
// Query afhandeling
$sql = "SELECT *
FROM medewerkers
INNER JOIN beschikbaarheid ON medewerker_id = id
INNER JOIN afwezigheid ON id = id
ORDER BY RAND()";
if(!$result = mysql_query($sql))
{
echo 'Helaas is er een fout opgetreden bij het ophalen van de gegevens';
echo ': ' . mysql_errno() . ':' . mysql_error() . '(<pre>' . $sql . '</pre>)';
}
elseif(mysql_num_rows($result) < 1)
{
echo 'Helaas is er een fout opgetreden bij het ophalen van de gegevens.';
echo 'Het aantal rijen dat opgehaald is is '.mysql_num_rows().' terwijl er 1 rij was verwacht. (<pre>' . $sql . '</pre>)';
}
else
{
echo '<table>' . "\n";
foreach($werkdagen as $dag)
{
//lege variabele voor vergelijk maken
$last_id = '';
$data = mysql_fetch_assoc($result);
echo '<tr>';
echo '<td>';
echo $dag['dag']. '-' .$dag['maand']. '-' .$dag['jaar'] . ' ';
echo '</td>';
echo '<td>' . "\n";
echo $data['voornaam'] . ' ' . $data['achternaam'];
echo '<td>' . "\n";
echo ' - ';
echo '</td>' . "\n";
echo '</td>' . "\n";
echo '<td>' . "\n";
if ($data['id'] != $last_id)
{
$sql2 = "SELECT * FROM medewerkers
WHERE id!= '" . $data['id'] . "' and kantoornummer_id!='" . $data['kantoornummer_id'] . "' ORDER BY RAND()";
if(!$result2 = mysql_query($sql2))
{
echo 'Helaas is er een fout opgetreden bij het ophalen van de gegevens';
echo ': ' . mysql_errno() . ':' . mysql_error() . '(<pre>' . $sql2 . '</pre>)';
}
elseif(mysql_num_rows($result2) < 1)
{
echo 'Helaas is er een fout opgetreden bij het ophalen van de gegevens.';
echo ' Het aantal rijen dat opgehaald is is '.mysql_num_rows().' terwijl er 1 rij was verwacht. (<pre>' . $sql . '</pre>)';
}
else
{
$data2 = mysql_fetch_assoc($result2);
// hier moet een andere medewerker komen te staan
echo $data2['voornaam'] . ' ' . $data2['achternaam'];
}
}
echo '</td>' . "\n";
echo '</tr>' . "\n";
if ($dag['dagnummer'] == 5)
{
echo '<tr><td> </td></tr>';
}
//We slaan het id op het laatst in de while nog even op, om te controleren met de volgende opgehaalde rij.
$last_id = $data['id'];
}
echo '<table>' . "\n";
}
?>
http://www.phphulp.nl/forum/showtopic.php?cat=1&id=60919
Ga daar gewoon verder en niet steeds een nieuw topic openen.
Dubbelpost gesloten.
SanThe.