else huidig jaar laden
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
Code (php)
1
2
3
4
2
3
4
<?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());
?>
$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?
Omdat het teveel is om hier neer te zetten heb ik het maar anders gedaan
http://www.plaatscode.be/31835/
Ik hoop dat jullie mij kunnen helpen
Gewijzigd op 01/01/1970 01:00:00 door Roland Braat
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if(isset($_GET['jaar']))
{
$jaar = intval($_GET['jaar'];
}
else
{
$jaar = date("Y");
}
$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());
?>
if(isset($_GET['jaar']))
{
$jaar = intval($_GET['jaar'];
}
else
{
$jaar = date("Y");
}
$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.
En deze if else moet ik daarmee gewoon verder gaan onderaan mijn script die ik al had?
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.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
if(isset($_GET['jaar']))
{
$jaar = intval($_GET['jaar'];
}
else
{
$jaar = date("Y");
}
$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());
?>
if(isset($_GET['jaar']))
{
$jaar = intval($_GET['jaar'];
}
else
{
$jaar = date("Y");
}
$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.
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?
Je moet $_GET vervangen door $_POST in het bovenstaande. En op de plek van je query gewoon het hele stukje code plakken op de plaats van de query.
Thx
1 vraagje nog dit is mijn query nu
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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);
?>
{$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
Hoe geef ik daar nu het jaar weer waarvan de uitslagen zijn
EDIT: Het is gelukt
Heb de if else code aangepast naar
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door Roland Braat