Html tabel niet laten zien als er geen gegevens zijn.
Normaal controleer je met
if (($row->....) == 1){
geef de html tabel weer
}else{
geef niets weer
}
Maar nu zit de query in de html tabel verwerkt.
Hoe kan ik hier een controle inbouwen zodat ik niet allebei de query's die in de html tabel staan er eerst weer boven moet zetten?
Dit is de code die ik nu heb zonder controle:
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
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
<?php
<table width="100%" border="0" align="center" cellpadding="2" cellspacing="0" class="tabeladres">
<tr align="center">
<td colspan="3"><h2>Verjaardag</h2></td>
</tr>
<tr>
<td width="33%" align="left" valign="top" class="tdlinks"><strong>Naam:</strong><br />
[code]<?php
$query = 'SELECT voornaam, DATE_FORMAT(geboren, "%d-%m-%Y") AS datumgeboren FROM naam WHERE adres_id = '.$_GET['adres'].' ORDER BY geboren ';
$result = mysql_query($query) or die ("Sorry maar ik kan de verjaardagen niet weergeven");
while ($row = mysql_fetch_object($result)){
if ($row->datumgeboren == NULL){
echo '';
}else{
echo $row->voornaam.' : '.$row->datumgeboren.'<br />';
}
}
?> </td>
<td width="33%" align="left" valign="top"><strong>Trouwdag:</strong><br />
<?php
$query = 'SELECT DATE_FORMAT(trouwdag, "%d-%m-%Y") AS trouwdag FROM naam WHERE adres_id = '.$_GET['adres'].' ';
$result = mysql_query($query) or die ("Sorry maar ik kan de trouwdatum niet weergeven");
$row = mysql_fetch_object($result);
if ($row->trouwdag == NULL){
echo '';
}else{
echo $row->trouwdag;
}
?></td>
<td width="33%" valign="top"><br /> </td>
</tr>
</table>
?>
<table width="100%" border="0" align="center" cellpadding="2" cellspacing="0" class="tabeladres">
<tr align="center">
<td colspan="3"><h2>Verjaardag</h2></td>
</tr>
<tr>
<td width="33%" align="left" valign="top" class="tdlinks"><strong>Naam:</strong><br />
[code]<?php
$query = 'SELECT voornaam, DATE_FORMAT(geboren, "%d-%m-%Y") AS datumgeboren FROM naam WHERE adres_id = '.$_GET['adres'].' ORDER BY geboren ';
$result = mysql_query($query) or die ("Sorry maar ik kan de verjaardagen niet weergeven");
while ($row = mysql_fetch_object($result)){
if ($row->datumgeboren == NULL){
echo '';
}else{
echo $row->voornaam.' : '.$row->datumgeboren.'<br />';
}
}
?> </td>
<td width="33%" align="left" valign="top"><strong>Trouwdag:</strong><br />
<?php
$query = 'SELECT DATE_FORMAT(trouwdag, "%d-%m-%Y") AS trouwdag FROM naam WHERE adres_id = '.$_GET['adres'].' ';
$result = mysql_query($query) or die ("Sorry maar ik kan de trouwdatum niet weergeven");
$row = mysql_fetch_object($result);
if ($row->trouwdag == NULL){
echo '';
}else{
echo $row->trouwdag;
}
?></td>
<td width="33%" valign="top"><br /> </td>
</tr>
</table>
?>
En zo had ik gedacht om hem te controleren maar dat werkt niet omdat de query er nog niet boven staat.
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
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
<?php
if (($row->datumgeboren != NULL) && ($row->trouwdag != NULL)){
?>
<table width="100%" border="0" align="center" cellpadding="2" cellspacing="0" class="tabeladres">
<tr align="center">
<td colspan="3"><h2>Verjaardag</h2></td>
</tr>
<tr>
<td width="33%" align="left" valign="top" class="tdlinks"><strong>Naam:</strong><br />
<?php
$query = 'SELECT voornaam, DATE_FORMAT(geboren, "%d-%m-%Y") AS datumgeboren FROM naam WHERE adres_id = '.$_GET['adres'].' ORDER BY geboren ';
$result = mysql_query($query) or die ("Sorry maar ik kan de verjaardagen niet weergeven");
while ($row = mysql_fetch_object($result)){
if ($row->datumgeboren == NULL){
echo '';
}else{
echo $row->voornaam.' : '.$row->datumgeboren.'<br />';
}
}
?> </td>
<td width="33%" align="left" valign="top"><strong>Trouwdag:</strong><br />
<?php
$query = 'SELECT DATE_FORMAT(trouwdag, "%d-%m-%Y") AS trouwdag FROM naam WHERE adres_id = '.$_GET['adres'].' ';
$result = mysql_query($query) or die ("Sorry maar ik kan de trouwdatum niet weergeven");
$row = mysql_fetch_object($result);
if ($row->trouwdag == NULL){
echo '';
}else{
echo $row->trouwdag;
}
?></td>
<td width="33%" valign="top"><br /> </td>
</tr>
</table>
<?php
}else{
echo '';
}
?>
if (($row->datumgeboren != NULL) && ($row->trouwdag != NULL)){
?>
<table width="100%" border="0" align="center" cellpadding="2" cellspacing="0" class="tabeladres">
<tr align="center">
<td colspan="3"><h2>Verjaardag</h2></td>
</tr>
<tr>
<td width="33%" align="left" valign="top" class="tdlinks"><strong>Naam:</strong><br />
<?php
$query = 'SELECT voornaam, DATE_FORMAT(geboren, "%d-%m-%Y") AS datumgeboren FROM naam WHERE adres_id = '.$_GET['adres'].' ORDER BY geboren ';
$result = mysql_query($query) or die ("Sorry maar ik kan de verjaardagen niet weergeven");
while ($row = mysql_fetch_object($result)){
if ($row->datumgeboren == NULL){
echo '';
}else{
echo $row->voornaam.' : '.$row->datumgeboren.'<br />';
}
}
?> </td>
<td width="33%" align="left" valign="top"><strong>Trouwdag:</strong><br />
<?php
$query = 'SELECT DATE_FORMAT(trouwdag, "%d-%m-%Y") AS trouwdag FROM naam WHERE adres_id = '.$_GET['adres'].' ';
$result = mysql_query($query) or die ("Sorry maar ik kan de trouwdatum niet weergeven");
$row = mysql_fetch_object($result);
if ($row->trouwdag == NULL){
echo '';
}else{
echo $row->trouwdag;
}
?></td>
<td width="33%" valign="top"><br /> </td>
</tr>
</table>
<?php
}else{
echo '';
}
?>
Zet alles wat je wilt echo'en in een variabel, en pas als er bij beide query's een resultaat is gevonden, dan laat je het zien, anders niet. Dat is de netste en meest gemakkelijke oplossing denk ik.
Of controleer het met mysql_num_rows($result_set);