par
Fre3z69 » 13 mars 2012, 10:34
J'ai réussir à faire cela grâce à vos conseils.
Voici le résultat:
<?php
// on séléction la catégorie principale (qui monte)
$query = $cnx->prepare('SELECT cat_id, cat_name, cat_order FROM t_cat
WHERE cat_id = :cat_id');
$query->bindValue(':cat_id',(int) $_GET['catid'],PDO::PARAM_INT);
$query->execute()or die(print_r($query->errorInfo()));
$data = $query->fetch();
$query->CloseCursor();
// on définit $cat_up
$cat_up=$data['cat_order']-1;
// et on séléctionne aussi celle qui va la remplacer
$query = $cnx->prepare('SELECT cat_id, cat_name, cat_order FROM t_cat
WHERE cat_order = :cat_order');
$query->bindValue(':cat_order',(int) $cat_up,PDO::PARAM_INT);
$query->execute()or die(print_r($query->errorInfo()));
$datai = $query->fetch();
$query->CloseCursor();
// on définit $cat_down
$cat_down=$datai['cat_order']+1;
// on prépare les requêtes qui permettront d'intervertir les deux champs
$query=$cnx->prepare('UPDATE t_cat
SET
cat_order = :cat_order
WHERE cat_id = :cat_id');
$query->bindValue(':cat_id',(int) $data['cat_id'],PDO::PARAM_INT);
$query->bindValue(':cat_order',(int) $cat_up,PDO::PARAM_INT);
$query->execute();
$query->CloseCursor();
$query=$cnx->prepare('UPDATE t_cat
SET
cat_order = :cat_order
WHERE cat_id = :cat_id');
$query->bindValue(':cat_id',(int) $datai['cat_id'],PDO::PARAM_INT);
$query->bindValue(':cat_order',(int) $cat_down,PDO::PARAM_INT);
$query->execute();
$query->CloseCursor();
header('Location: '.SITE_ADRESSE.'admin/index.php?r=forum');
?>
Le script pour déscendre est exactement le même sauf que on définit en premier cat_down
Merci de votre aide, Cordialement
J'ai réussir à faire cela grâce à vos conseils.
Voici le résultat:
[php]<?php
// on séléction la catégorie principale (qui monte)
$query = $cnx->prepare('SELECT cat_id, cat_name, cat_order FROM t_cat
WHERE cat_id = :cat_id');
$query->bindValue(':cat_id',(int) $_GET['catid'],PDO::PARAM_INT);
$query->execute()or die(print_r($query->errorInfo()));
$data = $query->fetch();
$query->CloseCursor();
// on définit $cat_up
$cat_up=$data['cat_order']-1;
// et on séléctionne aussi celle qui va la remplacer
$query = $cnx->prepare('SELECT cat_id, cat_name, cat_order FROM t_cat
WHERE cat_order = :cat_order');
$query->bindValue(':cat_order',(int) $cat_up,PDO::PARAM_INT);
$query->execute()or die(print_r($query->errorInfo()));
$datai = $query->fetch();
$query->CloseCursor();
// on définit $cat_down
$cat_down=$datai['cat_order']+1;
// on prépare les requêtes qui permettront d'intervertir les deux champs
$query=$cnx->prepare('UPDATE t_cat
SET
cat_order = :cat_order
WHERE cat_id = :cat_id');
$query->bindValue(':cat_id',(int) $data['cat_id'],PDO::PARAM_INT);
$query->bindValue(':cat_order',(int) $cat_up,PDO::PARAM_INT);
$query->execute();
$query->CloseCursor();
$query=$cnx->prepare('UPDATE t_cat
SET
cat_order = :cat_order
WHERE cat_id = :cat_id');
$query->bindValue(':cat_id',(int) $datai['cat_id'],PDO::PARAM_INT);
$query->bindValue(':cat_order',(int) $cat_down,PDO::PARAM_INT);
$query->execute();
$query->CloseCursor();
header('Location: '.SITE_ADRESSE.'admin/index.php?r=forum');
?>
[/php]
Le script pour déscendre est exactement le même sauf que on définit en premier cat_down
Merci de votre aide, Cordialement