こんにちは私は誰も手を貸すことができますこの問題に少しこだわっています。私は並べ替えの位置と列を持っているテーブルがあり、私がしようとしているのは、削除ボタンがクリックされたときに削除されたものよりも高い位置の値を持つ行が減少する。一般に、このphp pdo削除された値よりも大きい値を減らす
// 1
// 2 //now we delete this
// 3
// 4
// and this get's updated with this
// 1
// 2
// 3
<?php
require_once('connect.php');
$name = get_option('selectedSlide');
$position = get_option('selectedSlideId');
try{
global $db;
if(!get_option('selectedSlide')){
$error.="No slide selected.";
echo $error; die;
}
else{
$inserts = $db->prepare("DELETE FROM slider_images WHERE slider_image_name = :names");
$inserts->bindParam(':names', $name);
$inserts->execute();
$incrementAllBehindDeleted = $db->prepare("SELECT slider_image_position FROM slider_images WHERE slider_image_position>:position");
$incrementAllBehindDeleted->bindParam(':position', $position);
$incrementAllBehindDeleted->execute();
die;
}
}
catch(Exception $e){
echo $e->getMessage();
exit;
}
?>
これが必要な場合は、検討してください。あなたの値がソート順にのみ使用されている場合、ギャップがあるかどうかは関係ありません。実際には、新しい値(10,20,30 ...を挿入でき、10から20の間に挿入したい場合は値15で追加することができるので、ギャップが良いことになります)。あなたの番号に隙間があるという理由だけであなたのシステムが壊れた場合、それはあなたがそのフィールドを過負荷にしており、それを単純化するべきであるというサインです。 –
ギャップはありません。他の機能では、選択された値をインクリメントして行く場所を減らし、ギャップがあればそれが破損するため、これらの値が切り替わるからです。 –
これはうまく動作しません。 –