Hallo,
Ik heb een script waarbij je een jaartal kunt selecteren waarna de uitslagen van dat jaar getoond worden.
Voorbeeld: http://test.marcobrus.nl/uitslagen.php
Hoe kan ik aan het script toevoegen dat hij automatisch de uitslagen van het huidig jaar laat zien en pas na een keuze van jaartal het andere jaar. Dus als je naar uitslagen gaat dat daar meteen de uitslagen van het huidige jaar komen te staan
Ik dacht iets met die if else structuur maar ik kom er niet uit.
Dit is mijn query waarmee ik het huidig jaar kan laden
<?php
$query = "SELECT datum, naam, lengte, start, uitslag FROM wedstrijden WHERE uitslag >0 AND YEAR(datum) = YEAR(CURDATE()) ORDER BY datum DESC";
$result = mysql_query($query) or die(mysql_error());
?>
Misschien zien jullie nog wat anders waar julie van zeggen dat kunnen jullie beter zo doen?
$query = "SELECT datum, naam, lengte, start, uitslag FROM wedstrijden WHERE uitslag >0 AND YEAR(datum) = YEAR('".$jaar."') ORDER BY datum DESC";
$result = mysql_query($query) or die(mysql_error());
?>
Zoiets?
Je hebt dan altijd een jaar (of het jaar van nu, of wat gebruiker opgaf).
Let op de intval() en het escapen van de quotes.
Je maakt al een integer van het jaartal, en een jaartal (in SQL met YEAR) uit een jaartal halen gaat niet werken. Een integer hoort in SQL ook niet tussen enkele quotes, want dat is een string.
$query = "SELECT datum, naam, lengte, start, uitslag FROM wedstrijden WHERE uitslag >0 AND YEAR(datum) = ".$jaar.") ORDER BY datum DESC";
$result = mysql_query($query) or die(mysql_error());
?>
@Roland
intval zorgt ervoor dat als iemand een tekst opgeeft (gewoon flauw wil doen zeg maar) dat deze omgezet wordt naar een integer en dat deze dan de waarde 0 krijgt. (deze moet je dus evt. ook af gaan vangen)
Die if/else en de query moet je plakken op de plek van je huidige query. Je huidige query mag dus weg.
Ik krijg het nog niet voor elkaar zodat het werkt http://www.plaatscode.be/31835/
Dus regel 34 moet worden vervangen door de if else regel van hierboven?
Er moet nog wel een ) op regel 5 denk ik.
En regel 38 t/m 42 moet vervangen worden door de query van hierboven?
Bij die query moet daar bij ".$jaar.") ook nog een ( voor?
1 vraagje nog dit is mijn query nu
<?php
{$i = 0;
$maandarray=array(1=>'januari','februari','maart','april','mei','juni','juli','augustus','september','oktober','november','december');
$datumarray=array();
$query = sprintf("SELECT datum, naam, lengte, start, uitslag
FROM wedstrijden
WHERE uitslag > 0
AND YEAR(datum) = ".$jaar."
ORDER BY datum DESC",
$jaar['jaar']);
printf('<center><br><br>Uitslagen van seizoen %d </center>',
$jaar['jaar']);
$result = mysql_query($query);
?>
Alleen deze regel werkt nu niet <?php
printf('<center><br><br>Uitslagen van seizoen %d </center>',
$jaar['jaar']);?>
Hoe geef ik daar nu het jaar weer waarvan de uitslagen zijn
EDIT: Het is gelukt
Heb de if else code aangepast naar
<?php
if(isset($_POST['jaar']))
{
$jaar = intval($_POST['jaar']);
printf('<center><br><br>Uitslagen van seizoen %s </center>',
$_POST['jaar']);
}
else
{
$jaar = date("Y");
printf('<center><br><br>Uitslagen van seizoen %s </center>',
$jaar = date("Y"));
?>