Functie weergeeft volledig result niet.
ik probeer de resultaten van mijn 1ste functie te gebruiken in mijn 2de functie maar het werkt niet..
Functie's:
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
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
<?php
function get_rapporten()
{
$sql_get_rapporten = "SELECT report_id, klantid, klantnaam, bezoek_datum, verzonden, werkgever
FROM visit_report
WHERE userid = '".$_SESSION['gebruikersid']."'
";
if(($result_get_rapporten = mysql_query($sql_get_rapporten)) === false)
{
return showSQLError($sql_get_rapporten,mysql_error(),'<div class="error">Ophalen van rapporten is mislukt.</div>');
}
elseif(mysql_num_rows($result_get_rapporten) < 1 )
{
return '<div class="info">U hebt nog geen rapporten aangemaakt.</div>';
}
else
{
$gegevens = mysql_fetch_assoc($result_get_rapporten);
return $gegevens;
}
}
function weergeef_rapporten($result_get_rapporten)
{
$rapporten = '<table class="paginate sortable full">
<thead>
<tr>
<th>Klantennummer</th>
<th>Naam</th>
<th>Bezoekdatum</th>
<th>Bedrijf</th>
<th>Verzonden</th>
</tr>
</thead>
<tbody>';
foreach($result_get_rapporten as $result_rapport)
{
$rapporten .= '<tr><td><a href="verwerk_rapport.php?id='.$result_rapport['report_id'].'">'.$result_rapport['klantid'].'</a></td><td>'.$result_rapport['klantnaam'].'</td><td>'.$result_rapport['bezoek_datum'].'</td><td>'.$result_rapport['werkgever'].'</td><td>'.(($result_rapport['verzonden'] == 1) ? '<img src="../images/vinkje.gif" alt="ja" />' : '<img src="../images/kruisje.gif" alt="nee"/>').'</td></tr>';
}
$rapporten .= '</tbody>
</table>';
return $rapporten;
}
?>
function get_rapporten()
{
$sql_get_rapporten = "SELECT report_id, klantid, klantnaam, bezoek_datum, verzonden, werkgever
FROM visit_report
WHERE userid = '".$_SESSION['gebruikersid']."'
";
if(($result_get_rapporten = mysql_query($sql_get_rapporten)) === false)
{
return showSQLError($sql_get_rapporten,mysql_error(),'<div class="error">Ophalen van rapporten is mislukt.</div>');
}
elseif(mysql_num_rows($result_get_rapporten) < 1 )
{
return '<div class="info">U hebt nog geen rapporten aangemaakt.</div>';
}
else
{
$gegevens = mysql_fetch_assoc($result_get_rapporten);
return $gegevens;
}
}
function weergeef_rapporten($result_get_rapporten)
{
$rapporten = '<table class="paginate sortable full">
<thead>
<tr>
<th>Klantennummer</th>
<th>Naam</th>
<th>Bezoekdatum</th>
<th>Bedrijf</th>
<th>Verzonden</th>
</tr>
</thead>
<tbody>';
foreach($result_get_rapporten as $result_rapport)
{
$rapporten .= '<tr><td><a href="verwerk_rapport.php?id='.$result_rapport['report_id'].'">'.$result_rapport['klantid'].'</a></td><td>'.$result_rapport['klantnaam'].'</td><td>'.$result_rapport['bezoek_datum'].'</td><td>'.$result_rapport['werkgever'].'</td><td>'.(($result_rapport['verzonden'] == 1) ? '<img src="../images/vinkje.gif" alt="ja" />' : '<img src="../images/kruisje.gif" alt="nee"/>').'</td></tr>';
}
$rapporten .= '</tbody>
</table>';
return $rapporten;
}
?>
Ik roep de functie dan zo aan:
maar ik merkte dat alleen de eerste tekens van mijn result weergeven werden.
dus dan heb ik nog eens appart getest:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$rapport = get_rapporten();
foreach($rapport as $rap)
{
cho $rap['report_id'].'<br/>';;
}
?>
$rapport = get_rapporten();
foreach($rapport as $rap)
{
cho $rap['report_id'].'<br/>';;
}
?>
en dan kwam ik op:
1 => report_id (bevat maar 1 teken)
K => klant_id K komt van K00016
B => naam , B komt van Bedrijf 1
2 => ...
Hier geef je één resultaat terug, en dan return -> stopt je functie. Normaal heb je hier een while-lus omheen. Je krijgt nu wel een array terug, maar eentje met array('report_id' => 1, 'klant_id' => 'K00016'). Jij verwacht een array met allemaal van dat soort arrays erin.
Simpele oplossing:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
...
else
{
$resultaten = array();
while ($gegevens = mysql_fetch_assoc($result_get_rapporten))
$resultaten[] = $gegevens;
return $resultaten;
}
else
{
$resultaten = array();
while ($gegevens = mysql_fetch_assoc($result_get_rapporten))
$resultaten[] = $gegevens;
return $resultaten;
}
Gewijzigd op 31/10/2011 11:46:53 door Jelmer -
Toevoeging op 31/10/2011 20:48:39:
Ik struikelen nog altijd over een probleem.
Undefined index: klantid in
het lijkt er op dat de array leeg is?