Çok teşekkür ederim verdiğiniz fonksiyon mantığı ile işi çözdüm.
Şimdi silme işleminde aynısını tersten yapmayı deneyeceğim



En sonunda çözdüm belki diğer arkadaşların işine yarar diye iki fonksiyonu da paylaşıyorum. Tekrardan çok teşekkürler.
Not: Eğer Fonkiyon içide mysql işlemleri yapcaksanız (SELECT, INSERT, UPDATE, DELETE vb.) mutlaka veritabanı bağlantısı istiyor bilginize...

// Satıştan Sonra Stok Düşürme Fonksiyonu
function stokDusur($urun_id , $dusulecekUrun){

include 'baglan.php';

$stokidsor=$db->prepare("SELECT MIN(stok_id) AS stokid FROM stok WHERE urun_id=:urun_id AND stok_kalan > 0 ORDER BY stok_id ASC LIMIT 1");
$stokidsor->execute(array('urun_id'=>$urun_id));
$stokidcek=$stokidsor->fetch(PDO::FETCH_ASSOC);
$stok_id=$stokidcek['stokid'];

$stoksor=$db->prepare("SELECT * FROM stok WHERE stok_id=:stok_id");
$stoksor->execute(array('stok_id'=>$stok_id));
$stokcek=$stoksor->fetch(PDO::FETCH_ASSOC);
$stokAdedi=$stokcek['stok_kalan'];

// $stokAdedi en düşük id li stok adedini bul

if($stokAdedi >= $dusulecekUrun) {

$kalan=$stokAdedi-$dusulecekUrun;

$stokguncelle=$db->prepare("UPDATE stok SET
stok_kalan=:stok_kalan
WHERE stok_id={$stok_id}");
$stokguncelle->execute(array(
'stok_kalan' => $kalan
));

//Bu bölümde stok düşülecek üründen fazla sorun yok update ile güncelle


} else {

// stok adedi düşülecek üründen daha az ise
$kalanDusulecek = $dusulecekUrun - $stokAdedi;

$stokguncelle2=$db->prepare("UPDATE stok SET
stok_kalan=:stok_kalan
WHERE stok_id={$stok_id}");
$stokguncelle2->execute(array(
'stok_kalan' => 0
));

// bu alanda stokAdedi kadar değeri bu satırdan düş zaten sıfırlamış olacaksın
//tekrar bu fonksiyona değer gönder
stokDusur($urun_id , $kalanDusulecek);
}

}
// Satış Sildikten Sonra Stok Arttırma Fonksiyonu
function stokArttir($urun_id , $arttirilacakUrun){

include 'baglan.php';

$stokidsor=$db->prepare("SELECT MAX(stok_id) AS stokid FROM stok WHERE urun_id=:urun_id AND stok_adet != stok_kalan AND stok_adet > stok_kalan ORDER BY stok_id DESC LIMIT 1");
$stokidsor->execute(array('urun_id'=>$urun_id));
$stokidcek=$stokidsor->fetch(PDO::FETCH_ASSOC);
$stok_id=$stokidcek['stokid'];

$stoksor=$db->prepare("SELECT * FROM stok WHERE stok_id=:stok_id");
$stoksor->execute(array('stok_id'=>$stok_id));
$stokcek=$stoksor->fetch(PDO::FETCH_ASSOC);
$stok_adet=$stokcek['stok_adet'];
$stok_kalan=$stokcek['stok_kalan'];
$fark=$stok_adet-$stok_kalan;


if($fark >= $arttirilacakUrun) {

$kalan=$stok_kalan+$arttirilacakUrun;

$stokguncelle=$db->prepare("UPDATE stok SET
stok_kalan=:stok_kalan
WHERE stok_id={$stok_id}");
$stokguncelle->execute(array(
'stok_kalan' => $kalan
));


} else {

$kalanArttirilacak = $arttirilacakUrun - $fark;

$stokguncelle2=$db->prepare("UPDATE stok SET
stok_kalan=:stok_kalan
WHERE stok_id={$stok_id}");
$stokguncelle2->execute(array(
'stok_kalan' => $stok_adet
));

stokArttir($urun_id , $kalanArttirilacak);
}

}