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
| <?php
require('connexion_db.php');
if(isset($_GET['page_id'])) {
// On recherche la ligne A que l'on souhaite remonter et on prend son ordre
$select_new = "SELECT ordre from carrieres WHERE id = :id";
$requete_select_new = $dbh->prepare($select_new);
$requete_select_new->execute(array(':id' => (int) $_GET['page_id']));
$ordre_actuel = $requete_select_new->fetchColumn();
// On va chercher la première ligne B qui serait au dessus de l'ordre de la ligne que l'on souhaite remonter
$select_upd = "SELECT id, ordre from carrieres WHERE ordre < :ordre ORDER BY ordre DESC LIMIT 0, 1";
$requete_select_upd = $dbh->prepare($select_upd);
$requete_select_upd->execute(array(':ordre' => $ordre_actuel));
$datas = $requete_select_upd->fetch(PDO::FETCH_ASSOC:);
// Si il y a une ligne B au dessus de notre ligne A alors on fais quelque chose
if($datas) {
$id_ordre_cible = $datas['id'];
$ordre_cible = $datas['ordre'];
// On update la ligne A et on lui donne l'ordre de B
$texte_requete1 = "UPDATE carrieres SET ordre = :ordre WHERE id=:id";
$requete = $dbh->prepare($texte_requete);
$requete->bindValue(':ordre', (int) $ordre_cible);
$requete->bindValue(':id', (int) $_GET['page_id']);
$requete->execute();
// On update la ligne B et on lui donne l'ordre de A
$texte_requete1 = "UPDATE carrieres SET ordre = :ordre WHERE id=:id";
$requete = $dbh->prepare($texte_requete);
$requete->bindValue(':ordre', (int) $ordre_actuel);
$requete->bindValue(':id', (int) $id_ordre_cible);
$requete->execute();
}
header('Location:fichier.php?message=ok');
exit();
} |