Code : Tout sélectionner
SELECT MAX(ordre), id FROM table WHERE ordre < xxx
ou
SELECT MIN(ordre), id FROM table WHERE ordre > xxxCode : Tout sélectionner
UPDATE ordre = xxx WHERE id = idElementTrouvéCode : Tout sélectionner
UPDATE ordre = yyy WHERE id = idElementEnCoursCode : Tout sélectionner
SELECT MAX(ordre), id FROM table WHERE ordre < xxx Code : Tout sélectionner
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resourceCode : Tout sélectionner
SELECT MAX(ordre) AS id FROM table
#1140 - Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
Code : Tout sélectionner
SELECT MAX( ordre )
FROM table
WHERE ordre < xxx
Code : Tout sélectionner
$Num=$_GET['idnum'];
$r="SELECT * FROM table where id='$Num'";
$rq=mysql_query($r);
while($n=mysql_fetch_assoc($rq)){
$ordre=$n['ordre'];
}J'utilise un DATETIME car c'est plus simple à envoyer dans la base lors de la soumission d'un nouvel article avec NOW(). Je sais que celui ci sera unique.$f="SELECT MAX(ordre), id FROM table WHERE ordre<'$ordre'
Sauf le jour ou deux personnes enverront leur article en même temps et où tu auras deux date identiques. La fonction d'auto-incrémentation gère les accès concurents et ne retournera jamais deux fois la même valeur...J'utilise un DATETIME car c'est plus simple à envoyer dans la base lors de la soumission d'un nouvel article avec NOW(). Je sais que celui ci sera unique.
Code : Tout sélectionner
SELECT id, ordre FROM table WHERE ordre = (
SELECT MAX(ordre) FROM table WHERE ...
)