Goeie dag,

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:


<?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 />
            			<?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.'&nbsp;:&nbsp;'.$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.


<?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.'&nbsp;:&nbsp;'.$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);

Reageren