Busqué en todas partes y descubrí que puede usar "--" antes y "++" después de una variable para restarla o aumentarla en 1, pero simplemente no funciona correctamente, aquí está mi código
$sql=mysqli_fetch_array(mysqli_query($link ,'SELECT max(id) as cnt FROM products')); $maxid = $sql['cnt']; $minus = --$_GET['id']; $plus = $_GET['id']++; if ($minus == '0') {} else {echo '<a style="float:left" href="/product/'.$minus.'">Previous offer</a>';} if ($plus <= $maxid) {echo '<a style="float:right" href="/product/'.$plus.'">Next offer</a>';} else {}Creo que necesitas usar ++$_GET['id'] para obtener un mayor valor.
Puede leer más sobre los operadores de incremento y decremento. Básicamente, no se aplica a lo que quiere lograr aquí usando operadores de incremento y decremento. Está utilizando estos operadores que se aplican a su $_GET['id'], lo que da como resultado un cambio en su propio $_GET['id'].
Simplemente use $minus = $_GET['id']-1; $plus = $_GET['id']+1;
Los valores de $_GET son cadenas predeterminadas cuando los recibe de la interfaz. Para que funcione para su caso, primero debe convertirlo en un número entero. Por supuesto, puede hacer que el código sea más corto, pero dado que desea utilizar operadores de incremento o decremento, esta es una forma:
$minus = intval($_GET['id']); $plus = intval($_GET['id']); --$minus; $plus++;Pareces estar tentado a hacer,
$plus = $_GET['id']++;El incremento de publicaciones durante una asignación es una mala práctica, incluso si sabe lo que está haciendo. Esto puede llevar a largas horas de depuración si algo sale mal. Preferiría asignar el valor a una variable y luego hacer las operaciones de incremento o decremento según sea necesario.
En observación adicional, las identificaciones de clave principal no necesitan ser secuenciales. Entonces, el enfoque de +1 o -1 no funcionará. Mantengo mi explicación anterior tal como está para que te des cuenta de esas pocas cosas.