vorige volgende pagina met $var-- en $var++
Wat is het geval?
Men kan wedstrijden op vragen, die zijn dan per seizoen gegroepeerd in een overzicht.
Ieder seizoen heeft een seizoen_id.
ik heb het voor elkaar dat er boven in het overzicht staat :
<<< vorige seizoen | huidige seizoen | volgende seizoen >>
De bedoeling is dat je met vorige en volgende kan door bladeren.
via een $get wordt de gevraagde seizoen_id ontvang.
daarmee wordt het gewest seizoen overzicht opgeroepen en getoond.
Dat doe ik met
<<< vorige seizoen | huidige seizoen | volgende seizoen >>
$seizoen_id-1 | seizoen_id | seizoen_id+1
Dat werkt....maar dan zijn er constant errors
PHP Notice: A non well formed numeric value encountered
De $seizoen_id-1 of $seizoen_id+1 is dus niet DE juiste methode om de variabele te verlagen of te verhogen.
Maar als ik $seizoen_id-- en $seizoen_id++ doe werkt het niet :-(
De $seizoen_id++ krijgt een waarde die kleiner is dan het huidige $seizoen_id.
Dit de huidige code waarbij ik de error
PHP Notice: A non well formed numeric value encountered
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
##########################################################
if
(isset($_GET['id'],$_GET['pid']))
{
$season_id = $_GET['id'];
$player_id = $_GET['pid'];
}
elseif
(isset($_GET['id']))
{$season_id = $_GET['id'];}
else
{$season_id=$as_current_season_id;} //$as_current_season_id is een globale variable die in de config file wordt gezet
##########################################################
##########################################################
# uitrekenen wat het VORIGE $season_ID moet zijn ##
##########################################################
if ($season_id<=1) //n.b. er bestaat geen seizoen kleiner dan 1!
{
$previous_season='';
}else{
$prev_season_id=($season_id-1);
$previous_season='<a href="/'.$var_subject.'/'.$prev_season_id.'/seizoen'.showseason_name($prev_season_id).'.htm" title="ga naar het seizoen '. showseason_name($prev_season_id).'"> < < < Vorige </a>';
}
##########################################################
##########################################################
## uitrekenen wat het volgende $season_ID moet zijn ##
##########################################################
if ($season_id==$as_current_season_id) //n.b. er bestaat nog geen seizoen groter dan het huidige seizoen !
{
$next_season='';
}else{
$next_season_id=($season_id+1);
$next_season='<a href="/'.$var_subject.'/'.$next_season_id.'/seizoen'.showseason_name($next_season_id).'.htm" title="ga naar het seizoen'.showseason_name($next_season_id).'"> Volgend > > > </a>';
}
##########################################################
if
(isset($_GET['id'],$_GET['pid']))
{
$season_id = $_GET['id'];
$player_id = $_GET['pid'];
}
elseif
(isset($_GET['id']))
{$season_id = $_GET['id'];}
else
{$season_id=$as_current_season_id;} //$as_current_season_id is een globale variable die in de config file wordt gezet
##########################################################
##########################################################
# uitrekenen wat het VORIGE $season_ID moet zijn ##
##########################################################
if ($season_id<=1) //n.b. er bestaat geen seizoen kleiner dan 1!
{
$previous_season='';
}else{
$prev_season_id=($season_id-1);
$previous_season='<a href="/'.$var_subject.'/'.$prev_season_id.'/seizoen'.showseason_name($prev_season_id).'.htm" title="ga naar het seizoen '. showseason_name($prev_season_id).'"> < < < Vorige </a>';
}
##########################################################
##########################################################
## uitrekenen wat het volgende $season_ID moet zijn ##
##########################################################
if ($season_id==$as_current_season_id) //n.b. er bestaat nog geen seizoen groter dan het huidige seizoen !
{
$next_season='';
}else{
$next_season_id=($season_id+1);
$next_season='<a href="/'.$var_subject.'/'.$next_season_id.'/seizoen'.showseason_name($next_season_id).'.htm" title="ga naar het seizoen'.showseason_name($next_season_id).'"> Volgend > > > </a>';
}
##########################################################
zou iemand mij misschien kunnen uitleggen wat ik fout doe ?
Kijk eens wat voor type het is met var_dump()
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
// init
$_GET['id'] = '3'; // van '0' (Lente) tot en met '3' (Winter)
$as_current_season_id = 3; // globale variable die in de config file wordt gezet
$var_subject = 'Boerenkool'; // onderwerp
/// Is string leeg?
function is_empty(string $s) : bool { return strlen($s) === 0; }
/// Toon naam seizoen
function showseason_name(int $s) : string {
return ['Lente', 'Zomer', 'Herfst', 'Winter'][abs($s % 4)];
}
$season_id = isset($_GET['id']) && ! is_empty($_GET['id'])
? abs(intval($_GET['id']) % 4) : $as_current_season_id;
$player_id = isset($_GET['pid']) && ! is_empty($_GET['pid'])
? abs(intval($_GET['pid'] % PHP_INT_MAX)) : 0;
// uitrekenen wat het VORIGE $season_ID moet zijn
// n.b. er bestaat geen seizoen kleiner dan 1!
$prev_season_id = $season_id > 0 ? $season_id - 1 : '';
$previous_season = is_int($prev_season_id)
? '<a href="/' . $var_subject . '/' . $prev_season_id . '/seizoen'
. showseason_name($prev_season_id) . '.htm" title="ga naar het seizoen '
. showseason_name($prev_season_id) . '"> < < < Vorige </a>'
: '';
// uitrekenen wat het volgende $season_ID moet zijn
// n.b. er bestaat nog geen seizoen groter dan het huidige seizoen !
$next_season_id = $season_id < $as_current_season_id ? $season_id + 1 : '';
$next_season = is_int($next_season_id)
? '<a href="/' . $var_subject . '/' . $next_season_id . '/seizoen'
. showseason_name($next_season_id) . '.htm" title="ga naar het seizoen '
. showseason_name($next_season_id) . '"> Volgende > > > </a>'
: '';
print $previous_season . PHP_EOL
. $next_season . PHP_EOL;
?>
// init
$_GET['id'] = '3'; // van '0' (Lente) tot en met '3' (Winter)
$as_current_season_id = 3; // globale variable die in de config file wordt gezet
$var_subject = 'Boerenkool'; // onderwerp
/// Is string leeg?
function is_empty(string $s) : bool { return strlen($s) === 0; }
/// Toon naam seizoen
function showseason_name(int $s) : string {
return ['Lente', 'Zomer', 'Herfst', 'Winter'][abs($s % 4)];
}
$season_id = isset($_GET['id']) && ! is_empty($_GET['id'])
? abs(intval($_GET['id']) % 4) : $as_current_season_id;
$player_id = isset($_GET['pid']) && ! is_empty($_GET['pid'])
? abs(intval($_GET['pid'] % PHP_INT_MAX)) : 0;
// uitrekenen wat het VORIGE $season_ID moet zijn
// n.b. er bestaat geen seizoen kleiner dan 1!
$prev_season_id = $season_id > 0 ? $season_id - 1 : '';
$previous_season = is_int($prev_season_id)
? '<a href="/' . $var_subject . '/' . $prev_season_id . '/seizoen'
. showseason_name($prev_season_id) . '.htm" title="ga naar het seizoen '
. showseason_name($prev_season_id) . '"> < < < Vorige </a>'
: '';
// uitrekenen wat het volgende $season_ID moet zijn
// n.b. er bestaat nog geen seizoen groter dan het huidige seizoen !
$next_season_id = $season_id < $as_current_season_id ? $season_id + 1 : '';
$next_season = is_int($next_season_id)
? '<a href="/' . $var_subject . '/' . $next_season_id . '/seizoen'
. showseason_name($next_season_id) . '.htm" title="ga naar het seizoen '
. showseason_name($next_season_id) . '"> Volgende > > > </a>'
: '';
print $previous_season . PHP_EOL
. $next_season . PHP_EOL;
?>
Mocht je het huidige seizoen niet willen configureren, maar automatisch laten berekenen, dan heb je hier misschien iets aan:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
class Seizoen
{
/** @const MAAND_MAX aantal maanden in een jaar */
const MAAND_MAX = 12;
/** @const DAG_MIN minimum aantal dagen in een maand */
const DAG_MIN = 1;
/** @const DAG_MAX maximum aantal dagen in een maand */
const DAG_MAX = 31;
/** @const DAG_OFFSET dag van eerste maand van seizoen */
const DAG_OFFSET = 21;
/** @const aantal seizoenen per jaar */
const SEIZOENEN = 4;
/** @var $nummer Seizoensnummer van 0 (Lente) tot en met 4 (Winter) */
protected $nummer;
/**
* C-tor, stelt seizoen in op huidig seizoen
* @return void (impliciet)
*/
function __construct()
{
$this->nummer = $this->huidig();
}
/**
* Bereken het huidige seizoen
* @param int $maand van 0 tot en met 11
* @param int $dag van 0 tot en met 31
*/
function van_datum(int $maand, int $dag)
{
$maand = abs($maand % Self::MAAND_MAX);
$dag = $dag > Self::DAG_MAX ? Self::DAG_MAX
: ($dag < Self::DAG_MIN ? Self::DAG_MIN : $dag);
$maanden_in_seizoen = Self::MAAND_MAX / Self::SEIZOENEN;
$seizoen = (int) ($maand / $maanden_in_seizoen);
if ($maand % $maanden_in_seizoen == 0) {
$offset = $dag < Self::DAG_OFFSET ? 1 : 0;
$this->nummer = ($seizoen - $offset + Self::MAAND_MAX) % Self::MAAND_MAX;
return;
}
$this->nummer = $seizoen;
}
/**
* Lees het seizoensnummer vanuit een string
* @param string $n Seizoensnummer
*/
function van_string(string $n) : int
{
$this->nummer = abs(intval($n) % Self::SEIZOENEN);
}
/**
* Gebruik het huidige seizoen
*/
function huidig()
{
$this->van_datum(Date('n') - 1, Date('j'));
}
/**
* Lees de seizoensnaam
* @return string Naam van het seizoen
*/
function naam()
{
return ['Lente', 'Zomer', 'Herfst', 'Winter']
[$this->nummer];
}
} // class Seizoen
$seizoen_huidig = new Seizoen;
print $seizoen_huidig->naam();
?>
class Seizoen
{
/** @const MAAND_MAX aantal maanden in een jaar */
const MAAND_MAX = 12;
/** @const DAG_MIN minimum aantal dagen in een maand */
const DAG_MIN = 1;
/** @const DAG_MAX maximum aantal dagen in een maand */
const DAG_MAX = 31;
/** @const DAG_OFFSET dag van eerste maand van seizoen */
const DAG_OFFSET = 21;
/** @const aantal seizoenen per jaar */
const SEIZOENEN = 4;
/** @var $nummer Seizoensnummer van 0 (Lente) tot en met 4 (Winter) */
protected $nummer;
/**
* C-tor, stelt seizoen in op huidig seizoen
* @return void (impliciet)
*/
function __construct()
{
$this->nummer = $this->huidig();
}
/**
* Bereken het huidige seizoen
* @param int $maand van 0 tot en met 11
* @param int $dag van 0 tot en met 31
*/
function van_datum(int $maand, int $dag)
{
$maand = abs($maand % Self::MAAND_MAX);
$dag = $dag > Self::DAG_MAX ? Self::DAG_MAX
: ($dag < Self::DAG_MIN ? Self::DAG_MIN : $dag);
$maanden_in_seizoen = Self::MAAND_MAX / Self::SEIZOENEN;
$seizoen = (int) ($maand / $maanden_in_seizoen);
if ($maand % $maanden_in_seizoen == 0) {
$offset = $dag < Self::DAG_OFFSET ? 1 : 0;
$this->nummer = ($seizoen - $offset + Self::MAAND_MAX) % Self::MAAND_MAX;
return;
}
$this->nummer = $seizoen;
}
/**
* Lees het seizoensnummer vanuit een string
* @param string $n Seizoensnummer
*/
function van_string(string $n) : int
{
$this->nummer = abs(intval($n) % Self::SEIZOENEN);
}
/**
* Gebruik het huidige seizoen
*/
function huidig()
{
$this->van_datum(Date('n') - 1, Date('j'));
}
/**
* Lees de seizoensnaam
* @return string Naam van het seizoen
*/
function naam()
{
return ['Lente', 'Zomer', 'Herfst', 'Winter']
[$this->nummer];
}
} // class Seizoen
$seizoen_huidig = new Seizoen;
print $seizoen_huidig->naam();
?>
- Ariën - op 27/03/2024 01:42:29:
Kijk eens wat voor type het is met var_dump()
De var_dump() en andere tests om de waarde van de variabele te controleren ben ik helaas niet veel wijzer van geworden. :-(
Ik denk dat je wel wat wijzer zou worden als je de uitvoer van die functie deelde. ;-)
Ad Fundum op 27/03/2024 06:28:15:
Als ik jouw idee 1-op-1 overneem:
Mocht je het huidige seizoen niet willen configureren, maar automatisch laten berekenen, dan heb je hier misschien iets aan:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
// init
$_GET['id'] = '3'; // van '0' (Lente) tot en met '3' (Winter)
$as_current_season_id = 3; // globale variable die in de config file wordt gezet
$var_subject = 'Boerenkool'; // onderwerp
/// Is string leeg?
function is_empty(string $s) : bool { return strlen($s) === 0; }
/// Toon naam seizoen
function showseason_name(int $s) : string {
return ['Lente', 'Zomer', 'Herfst', 'Winter'][abs($s % 4)];
}
$season_id = isset($_GET['id']) && ! is_empty($_GET['id'])
? abs(intval($_GET['id']) % 4) : $as_current_season_id;
$player_id = isset($_GET['pid']) && ! is_empty($_GET['pid'])
? abs(intval($_GET['pid'] % PHP_INT_MAX)) : 0;
// uitrekenen wat het VORIGE $season_ID moet zijn
// n.b. er bestaat geen seizoen kleiner dan 1!
$prev_season_id = $season_id > 0 ? $season_id - 1 : '';
$previous_season = is_int($prev_season_id)
? '<a href="/' . $var_subject . '/' . $prev_season_id . '/seizoen'
. showseason_name($prev_season_id) . '.htm" title="ga naar het seizoen '
. showseason_name($prev_season_id) . '"> < < < Vorige </a>'
: '';
// uitrekenen wat het volgende $season_ID moet zijn
// n.b. er bestaat nog geen seizoen groter dan het huidige seizoen !
$next_season_id = $season_id < $as_current_season_id ? $season_id + 1 : '';
$next_season = is_int($next_season_id)
? '<a href="/' . $var_subject . '/' . $next_season_id . '/seizoen'
. showseason_name($next_season_id) . '.htm" title="ga naar het seizoen '
. showseason_name($next_season_id) . '"> Volgende > > > </a>'
: '';
print $previous_season . PHP_EOL
. $next_season . PHP_EOL;
?>
// init
$_GET['id'] = '3'; // van '0' (Lente) tot en met '3' (Winter)
$as_current_season_id = 3; // globale variable die in de config file wordt gezet
$var_subject = 'Boerenkool'; // onderwerp
/// Is string leeg?
function is_empty(string $s) : bool { return strlen($s) === 0; }
/// Toon naam seizoen
function showseason_name(int $s) : string {
return ['Lente', 'Zomer', 'Herfst', 'Winter'][abs($s % 4)];
}
$season_id = isset($_GET['id']) && ! is_empty($_GET['id'])
? abs(intval($_GET['id']) % 4) : $as_current_season_id;
$player_id = isset($_GET['pid']) && ! is_empty($_GET['pid'])
? abs(intval($_GET['pid'] % PHP_INT_MAX)) : 0;
// uitrekenen wat het VORIGE $season_ID moet zijn
// n.b. er bestaat geen seizoen kleiner dan 1!
$prev_season_id = $season_id > 0 ? $season_id - 1 : '';
$previous_season = is_int($prev_season_id)
? '<a href="/' . $var_subject . '/' . $prev_season_id . '/seizoen'
. showseason_name($prev_season_id) . '.htm" title="ga naar het seizoen '
. showseason_name($prev_season_id) . '"> < < < Vorige </a>'
: '';
// uitrekenen wat het volgende $season_ID moet zijn
// n.b. er bestaat nog geen seizoen groter dan het huidige seizoen !
$next_season_id = $season_id < $as_current_season_id ? $season_id + 1 : '';
$next_season = is_int($next_season_id)
? '<a href="/' . $var_subject . '/' . $next_season_id . '/seizoen'
. showseason_name($next_season_id) . '.htm" title="ga naar het seizoen '
. showseason_name($next_season_id) . '"> Volgende > > > </a>'
: '';
print $previous_season . PHP_EOL
. $next_season . PHP_EOL;
?>
Mocht je het huidige seizoen niet willen configureren, maar automatisch laten berekenen, dan heb je hier misschien iets aan:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
class Seizoen
{
/** @const MAAND_MAX aantal maanden in een jaar */
const MAAND_MAX = 12;
/** @const DAG_MIN minimum aantal dagen in een maand */
const DAG_MIN = 1;
/** @const DAG_MAX maximum aantal dagen in een maand */
const DAG_MAX = 31;
/** @const DAG_OFFSET dag van eerste maand van seizoen */
const DAG_OFFSET = 21;
/** @const aantal seizoenen per jaar */
const SEIZOENEN = 4;
/** @var $nummer Seizoensnummer van 0 (Lente) tot en met 4 (Winter) */
protected $nummer;
/**
* C-tor, stelt seizoen in op huidig seizoen
* @return void (impliciet)
*/
function __construct()
{
$this->nummer = $this->huidig();
}
/**
* Bereken het huidige seizoen
* @param int $maand van 0 tot en met 11
* @param int $dag van 0 tot en met 31
*/
function van_datum(int $maand, int $dag)
{
$maand = abs($maand % Self::MAAND_MAX);
$dag = $dag > Self::DAG_MAX ? Self::DAG_MAX
: ($dag < Self::DAG_MIN ? Self::DAG_MIN : $dag);
$maanden_in_seizoen = Self::MAAND_MAX / Self::SEIZOENEN;
$seizoen = (int) ($maand / $maanden_in_seizoen);
if ($maand % $maanden_in_seizoen == 0) {
$offset = $dag < Self::DAG_OFFSET ? 1 : 0;
$this->nummer = ($seizoen - $offset + Self::MAAND_MAX) % Self::MAAND_MAX;
return;
}
$this->nummer = $seizoen;
}
/**
* Lees het seizoensnummer vanuit een string
* @param string $n Seizoensnummer
*/
function van_string(string $n) : int
{
$this->nummer = abs(intval($n) % Self::SEIZOENEN);
}
/**
* Gebruik het huidige seizoen
*/
function huidig()
{
$this->van_datum(Date('n') - 1, Date('j'));
}
/**
* Lees de seizoensnaam
* @return string Naam van het seizoen
*/
function naam()
{
return ['Lente', 'Zomer', 'Herfst', 'Winter']
[$this->nummer];
}
} // class Seizoen
$seizoen_huidig = new Seizoen;
print $seizoen_huidig->naam();
?>
class Seizoen
{
/** @const MAAND_MAX aantal maanden in een jaar */
const MAAND_MAX = 12;
/** @const DAG_MIN minimum aantal dagen in een maand */
const DAG_MIN = 1;
/** @const DAG_MAX maximum aantal dagen in een maand */
const DAG_MAX = 31;
/** @const DAG_OFFSET dag van eerste maand van seizoen */
const DAG_OFFSET = 21;
/** @const aantal seizoenen per jaar */
const SEIZOENEN = 4;
/** @var $nummer Seizoensnummer van 0 (Lente) tot en met 4 (Winter) */
protected $nummer;
/**
* C-tor, stelt seizoen in op huidig seizoen
* @return void (impliciet)
*/
function __construct()
{
$this->nummer = $this->huidig();
}
/**
* Bereken het huidige seizoen
* @param int $maand van 0 tot en met 11
* @param int $dag van 0 tot en met 31
*/
function van_datum(int $maand, int $dag)
{
$maand = abs($maand % Self::MAAND_MAX);
$dag = $dag > Self::DAG_MAX ? Self::DAG_MAX
: ($dag < Self::DAG_MIN ? Self::DAG_MIN : $dag);
$maanden_in_seizoen = Self::MAAND_MAX / Self::SEIZOENEN;
$seizoen = (int) ($maand / $maanden_in_seizoen);
if ($maand % $maanden_in_seizoen == 0) {
$offset = $dag < Self::DAG_OFFSET ? 1 : 0;
$this->nummer = ($seizoen - $offset + Self::MAAND_MAX) % Self::MAAND_MAX;
return;
}
$this->nummer = $seizoen;
}
/**
* Lees het seizoensnummer vanuit een string
* @param string $n Seizoensnummer
*/
function van_string(string $n) : int
{
$this->nummer = abs(intval($n) % Self::SEIZOENEN);
}
/**
* Gebruik het huidige seizoen
*/
function huidig()
{
$this->van_datum(Date('n') - 1, Date('j'));
}
/**
* Lees de seizoensnaam
* @return string Naam van het seizoen
*/
function naam()
{
return ['Lente', 'Zomer', 'Herfst', 'Winter']
[$this->nummer];
}
} // class Seizoen
$seizoen_huidig = new Seizoen;
print $seizoen_huidig->naam();
?>
@Ad Fundum dank voor de uitgebreide reactie.
De seizoen zijn niet die 4 van Vivaldi ;-) maar competitieseizoenen, te weten:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
1=1905-1906 //het eerste seizoen ooit
2=1906-1907
3=1907-1908
...
...
117=2021-2022
118=2022-2023
119=2023-2024 // het huidige seizoen
[s]120=2024-2025 [/s] die waarde bestaat echter nog niet.
2=1906-1907
3=1907-1908
...
...
117=2021-2022
118=2022-2023
119=2023-2024 // het huidige seizoen
[s]120=2024-2025 [/s] die waarde bestaat echter nog niet.
op regel 17 zet jij een % 4. die waarde snap ik niet (ligt aan mijn beperkte PHP kennis) maar kan ik daar $as_current_season_id plaatsen?
Het procentteken is modulo, die geeft de restwaarde van een deling.
Je kunt in plaats van 4 ook $as_current_season_id gebruiken, alleen moet je dan voor de 'off by one' corrigeren voor het feit dat de nummering van seizoenen niet start bij 0, maar bij 1.
Maar waar ik vaak de voorkeur aan geef, is om niet het volgende ID aan te nemen als "$huidige + 1", omdat het voor kan komen dat in je database de reeks onderbroken wordt.
Bijvoorbeeld omdat seizoen 2020 2x had ingevoerd en daarom 1x gewist had.
Of omdat je eerst seizoen 2025 invoerde met id = 120 en daarna pas 2024 wat id 121 kreeg.
Ik doe (deed) dan vaker:
<a href="seizoen?huidige=$huidigeSeizoen&nav=volgende">volgende</a>
Je kunt dan in je script op allerhande manieren uitzoeken of er een volgende ís, en welk id daar dan bij hoort.
Mogelijk lost dat ook je probleem op, al kan raar geplaatst = teken ook een oorzaak zijn.
- Ariën - op 27/03/2024 11:10:34:
Ik denk dat je wel wat wijzer zou worden als je de uitvoer van die functie deelde. ;-)
:-)
als ik $season_id=118 geef
dan krijg ik dit resultaat :-(
string(3) "118", init(117), init(119)
Toevoeging op 27/03/2024 16:46:24:
Ivo P op 27/03/2024 12:08:28:
Ik zie niet helemaal wat het issue is met je raargevormde getallen is.
Maar waar ik vaak de voorkeur aan geef, is om niet het volgende ID aan te nemen als "$huidige + 1", omdat het voor kan komen dat in je database de reeks onderbroken wordt.
Bijvoorbeeld omdat seizoen 2020 2x had ingevoerd en daarom 1x gewist had.
Of omdat je eerst seizoen 2025 invoerde met id = 120 en daarna pas 2024 wat id 121 kreeg.
Ik doe (deed) dan vaker:
<a href="seizoen?huidige=$huidigeSeizoen&nav=volgende">volgende</a>
Je kunt dan in je script op allerhande manieren uitzoeken of er een volgende ís, en welk id daar dan bij hoort.
Mogelijk lost dat ook je probleem op, al kan raar geplaatst = teken ook een oorzaak zijn.
Maar waar ik vaak de voorkeur aan geef, is om niet het volgende ID aan te nemen als "$huidige + 1", omdat het voor kan komen dat in je database de reeks onderbroken wordt.
Bijvoorbeeld omdat seizoen 2020 2x had ingevoerd en daarom 1x gewist had.
Of omdat je eerst seizoen 2025 invoerde met id = 120 en daarna pas 2024 wat id 121 kreeg.
Ik doe (deed) dan vaker:
<a href="seizoen?huidige=$huidigeSeizoen&nav=volgende">volgende</a>
Je kunt dan in je script op allerhande manieren uitzoeken of er een volgende ís, en welk id daar dan bij hoort.
Mogelijk lost dat ook je probleem op, al kan raar geplaatst = teken ook een oorzaak zijn.
Er zal iets aan de hand zijn met de juiste invulling van één van de variabele, het script werkt wel maar PHP vindt het toch niet zo lekker en geeft daarom een warning
Gelukkig is in mijn geval de tabel seizoen juist gevuld
Ga straks ff kijken of de andere tips de oplossing zijn. iig dank voor je reactie
Toevoeging op 27/03/2024 17:04:04:
Ad Fundum op 27/03/2024 12:03:56:
Die waarde is het aantal seizoenen - per jaar in mijn voorbeeld.
Het procentteken is modulo, die geeft de restwaarde van een deling.
Je kunt in plaats van 4 ook $as_current_season_id gebruiken, alleen moet je dan voor de 'off by one' corrigeren voor het feit dat de nummering van seizoenen niet start bij 0, maar bij 1.
Het procentteken is modulo, die geeft de restwaarde van een deling.
Je kunt in plaats van 4 ook $as_current_season_id gebruiken, alleen moet je dan voor de 'off by one' corrigeren voor het feit dat de nummering van seizoenen niet start bij 0, maar bij 1.
Dit gedeelte heb ik van je overgenomen (met bronvermelding in de code :-)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// uitrekenen wat het VORIGE $season_ID moet zijn
// n.b. er bestaat geen seizoen kleiner dan 1!
$prev_season_id = $season_id > 0 ? $season_id - 1 : '';
$previous_season = is_int($prev_season_id)
? '<a href="/' . $var_subject . '/' . $prev_season_id . '/seizoen'
. showseason_name($prev_season_id) . '.htm" title="ga naar het seizoen '
. showseason_name($prev_season_id) . '"> < < < Vorige </a>'
: '';
// uitrekenen wat het volgende $season_ID moet zijn
// n.b. er bestaat nog geen seizoen groter dan het huidige seizoen !
$next_season_id = $season_id < $as_current_season_id ? $season_id + 1 : '';
$next_season = is_int($next_season_id)
? '<a href="/' . $var_subject . '/' . $next_season_id . '/seizoen'
. showseason_name($next_season_id) . '.htm" title="ga naar het seizoen '
. showseason_name($next_season_id) . '"> Volgende > > > </a>'
: '';
// n.b. er bestaat geen seizoen kleiner dan 1!
$prev_season_id = $season_id > 0 ? $season_id - 1 : '';
$previous_season = is_int($prev_season_id)
? '<a href="/' . $var_subject . '/' . $prev_season_id . '/seizoen'
. showseason_name($prev_season_id) . '.htm" title="ga naar het seizoen '
. showseason_name($prev_season_id) . '"> < < < Vorige </a>'
: '';
// uitrekenen wat het volgende $season_ID moet zijn
// n.b. er bestaat nog geen seizoen groter dan het huidige seizoen !
$next_season_id = $season_id < $as_current_season_id ? $season_id + 1 : '';
$next_season = is_int($next_season_id)
? '<a href="/' . $var_subject . '/' . $next_season_id . '/seizoen'
. showseason_name($next_season_id) . '.htm" title="ga naar het seizoen '
. showseason_name($next_season_id) . '"> Volgende > > > </a>'
: '';
en a) het werkt b) ik krijge geen warnings of errors meer
m.a.w. Thanks!