<?
$sql = mysql_query("SELECT * FROM weer_tilburg WHERE dag='".$dag."' AND maand='".$maand."' AND jaar='".$jaar."' AND uur='22' ORDER BY graden DESC LIMIT 1")or die (mysql_error());
$nummericos = "0";
while($row = mysql_fetch_assoc($sql)) {
If($row['minuut'] > 29 AND $row['minuut'] < 59){
echo $row['graden'];
}else{ echo "-"; }
}
?>
Dit is me script,
Er zit een fout in , want ik als er in een tabel 30 minuten staat, pakt hij hem soms niet, en soms wel. Weet iemand hoe ik dit kan maken dat het wel werkt?
Waarom allemaal losse veldjes in de database? Gebruik gewoon één veld van het type DATETIME. En waarom een check in php als die ook in de query kan? En waar is de nette foutafhandeling?
Hij laat het script soms zien, en soms niet, hoe kan dat?
Ik heb geen iedee hoe ik dat moet maken. ik ben niet zo goed in php.
<?
$sql = mysql_query("SELECT * FROM weer_tilburg WHERE dag='".$dag."' AND maand='".$maand."' AND jaar='".$jaar."' AND uur='22' AND minuut='30'ORDER BY graden DESC LIMIT 1")or die (mysql_error());
?>
Hiermee leest hij het uit de database, Kunt u misschien maken dat hij alleen tussen de 30 minuten en de 59 minuten pakt? in het uitlezen van de database.
Begin eerst eens met het opzetten van een degelijk datamodel. Een tabel met aparte kolommen voor dag, maand, jaar, uur, enz. is hopeloos aangezien je deze informatie ook in 1 veld van het type DATETIME kwijt kunt. Bovendien kun je er dan met behulp van de database ook nog op een normale manier mee rekenen/selecteren, iets dat met jouw opzet een draak van een opdracht is.
Ik raad je aan om eens rustig met deze twee handleidingen te beginnen en eerst te zorgen dat je de basis onder de knie krijgt. Dat essentiële onderdeel lijkt bij jou nog te ontbreken en is de reden dat je tegen deze problemen aanloopt.
weer_tilburg, en je hebt ook een tabel weer_amsterdam, weer_rotterdam, weer_nog_een_stad, weer_nog_weer_een_andere_stad? Ga normaliseren, dat is echt onmisbaar. De huidige opzet is een kansloos verhaal. Zie ook de links van Blanche