function setclassementcaracdisp($idcaracteristique, $idcaracdispdesc, $classement, $lang) { $caracdispdesc = new Caracdispdesc(); if ($caracdispdesc->charger($idcaracdispdesc, $lang)) { if ($classement == $caracdispdesc->classement) { return; } if ($classement > $caracdispdesc->classement) { $offset = -1; $between = "{$caracdispdesc->classement} and {$classement}"; } else { $offset = 1; $between = "{$classement} and {$caracdispdesc->classement}"; } $caracdisp = new Caracdisp(); $query = "\n\t\t\t\tselect\n\t\t\t\t\tid\n\t\t\t\tfrom\n\t\t\t\t\t{$caracdispdesc->table}\n\t\t\t\twhere\n\t\t\t\t\tlang={$lang}\n\t\t\t\tand\n\t\t\t\t\tcaracdisp in (select id from {$caracdisp->table} where caracteristique = {$idcaracteristique})\n\t\t\t\tand\n\t\t\t\t\tclassement BETWEEN {$between}\n\t\t\t"; $resul = $caracdispdesc->query($query); $ddd = new Caracdispdesc(); while ($resul && ($row = $caracdispdesc->fetch_object($resul))) { if ($ddd->charger($row->id, $lang)) { $ddd->classement += $offset; $ddd->maj(); } } $caracdispdesc->classement = $classement; $caracdispdesc->maj(); } }
/** * * change the current rank of a caracdispdesc * * @param int $idcaracdispdesc caracdisdesc id to modify * @param sting $classement position for the new rank of the caracdispdesc * @param int $lang current lang */ public function setClassementCaracdisp($idcaracdispdesc, $classement, $lang) { $caracdispdesc = new Caracdispdesc(); if ($caracdispdesc->charger($idcaracdispdesc, $lang)) { if ($classement == $caracdispdesc->classement) { return; } if ($classement > $caracdispdesc->classement) { $offset = -1; $between = "{$caracdispdesc->classement} and {$classement}"; } else { $offset = 1; $between = "{$classement} and {$caracdispdesc->classement}"; } $caracdisp = new Caracdisp(); $query = "\n select\n id\n from\n {$caracdispdesc->table}\n where\n lang={$lang}\n and\n caracdisp in (select id from {$caracdisp->table} where caracteristique = " . $this->id . ")\n and\n classement BETWEEN {$between}\n "; $resul = $caracdispdesc->query($query); $ddd = new Caracdispdesc(); while ($resul && ($row = $caracdispdesc->fetch_object($resul))) { if ($ddd->charger($row->id, $lang)) { $ddd->classement += $offset; $ddd->maj(); } } $caracdispdesc->classement = $classement; $caracdispdesc->maj(); } redirige("caracteristique_modifier.php?id=" . $this->id . "&lang=" . $lang); }