else huidig jaar laden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Roland Braat

Roland Braat

11/10/2008 08:15:00
Quote Anchor link
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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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());
?>

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
 
PHP hulp

PHP hulp

20/11/2024 08:41:56
 
Eddy E

Eddy E

11/10/2008 08:27:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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());
?>


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.
 
Roland Braat

Roland Braat

11/10/2008 08:32:00
Quote Anchor link
Die intval wat doet deze?

En deze if else moet ik daarmee gewoon verder gaan onderaan mijn script die ik al had?
 
Robert Deiman

Robert Deiman

11/10/2008 09:04:00
Quote Anchor link
@Eddy Erkelens

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)
PHP script in nieuw venster Selecteer het PHP script
1
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());
?>


@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.
 
Jurgen assaasas

Jurgen assaasas

11/10/2008 09:50:00
Quote Anchor link
Je kunt natuurlijk ook doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
//$db is het database object.

$jaar = (int) $db->quote($_GET['jaar']);

?>
Gewijzigd op 01/01/1970 01:00:00 door Jurgen assaasas
 
Roland Braat

Roland Braat

11/10/2008 10:07:00
Quote Anchor link
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?
 
Robert Deiman

Robert Deiman

11/10/2008 10:13:00
Quote Anchor link
@Roland

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.
 
Roland Braat

Roland Braat

11/10/2008 10:34:00
Quote Anchor link
Kijk nu werkt het!!!
Thx

1 vraagje nog dit is mijn query nu
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
?>


Alleen deze regel werkt nu niet
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?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"));
?>
Gewijzigd op 01/01/1970 01:00:00 door Roland Braat
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.