Ik heb verjaardagen van 1 tot/met 5 kinderen in de database zitten.

Als mensen geen kinderen hebben moet er niets op de website verschijnen.

Nu doe ik dit meestal met switch() en dat lukt meestal wel.

Dit keer niet.
In de database staat de kolom voor verjaardag_kind_1 op DATE

Hoe doe ik dit nu goed?
Ik heb er al neer gezet:
== 0,
== 0000-00-00,
== '0000-00-00',
> 0,


<?php
switch (true){
case (($row->verjaardag_kind_5) == 0000-00-00):
echo'';
default:
echo ''.$row->naam_kind_5.':&nbsp;&nbsp;'.$row->verjaardag_kind_5.'';
break;
}
?>
van welk type is het veld in je db?
DATE
Komt een DATE niet als string terug?

<?php
case (($row->verjaardag_kind_5) == '0000-00-00'):
                        echo'';?>



EDIT moet op zich wel werken denk ik want ik gebruik in al mijn tabellen een datum_einde. Dus mijn sqlletjes eindigen altijd op
AND datum_einde <>'0000-00-00'

en dat werkt altijd prima
Klaasjan Boven schreef op 02.01.2007 19:50
Komt een DATE niet als string terug?

<?php
case (($row->verjaardag_kind_5) == '0000-00-00'):
                        echo'';?>



Ik heb het al tussen enkel haakjes of dubbele haakjes gezet.
Zou je misschien wat meer code kunnen posten?
Natuurlijk.


<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%" valign="top" class="tdlinks"><strong>Naam:</strong><br />
            			<?php
						switch (true){
						case (($row->verjaardag_man) == ""):
						echo'';
							default:
							echo ''.$row->voornaam_man.':&nbsp;&nbsp;'.$row->verjaardag_man.'';
							break;
							}
							
							?>
							<br />
							<?php
						switch (true){
						case (($row->verjaardag_vrouw) == ""):
						echo'';
							default:
							echo ''.$row->voornaam_vrouw.':&nbsp;&nbsp;'.$row->verjaardag_vrouw.'';
							break;
							}
							?>
							<br />
							<?php
						switch (true){
						case (($row->verjaardag_kind_1) == ""):
						echo'';
							default:
							echo ''.$row->naam_kind_1.':&nbsp;&nbsp;'.$row->verjaardag_kind_1.'';
							break;
							}
							?><br />
							<?php
						switch (true){
						case (($row->verjaardag_kind_2) == ""):
						echo'';
							default:
							echo ''.$row->naam_kind_2.':&nbsp;&nbsp;'.$row->verjaardag_kind_2.'';
							break;
							}
							?><br />
							<?php
						switch (true){
						case (($row->verjaardag_kind_3) == 0):
						echo'';
							default:
							echo ''.$row->naam_kind_3.':&nbsp;&nbsp;'.$row->verjaardag_kind_3.'';
							break;
							}
							?><br />
							<?php
						switch (true){
						case (($row->verjaardag_kind_4) == 0):
						echo'';
							default:
							echo ''.$row->naam_kind_4.':&nbsp;&nbsp;'.$row->verjaardag_kind_4.'';
							break;
							}
							?><br />
							<?php
						switch (true){
						case (($row->verjaardag_kind_5) == '0000-00-00'):
						echo'';
							default:
							echo ''.$row->naam_kind_5.':&nbsp;&nbsp;'.$row->verjaardag_kind_5.'';
							break;
							}
							?>
			       			</td>
        		<td width="33%" valign="top"><strong>Trouwdag:</strong><br />
            			<?php
			echo ''.$row->trouwdag.'';
			?></td>
        		<td width="33%" valign="top"><br />            			</td>
        		</tr>
        	</table>
SELECT blabla, blablabla FROM tabel WHERE bla IS NOT NULL; of denk ik nu heel fout?
Jij denkt heel fout Arjan. Als een veld een date is wordt hij ( bij mij althans )default gevuld met 0000-00-00, tenzij Elsy het veld expliciet NULL heeft gegeven
Klaasjan Boven schreef op 02.01.2007 20:02
Jij denkt heel fout Arjan. Als een veld een date is wordt hij ( bij mij althans )default gevuld met 0000-00-00, tenzij Elsy het veld expliciet NULL heeft gegeven


Klopt, bij mij staat dat er ook in.
WHERE bla IS NOT 0000-00-00, krijgen we dan zoiets werkend?

Reageren