v2.5.2
Giriş yap

PHP PDO Döngü olmadan veri çekme id?

Anonim
859 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Merhaba, bu şekilde bir tablom var :
https://prnt.sc/vh39db

<?php
$slidersor=$db->prepare("select * from slider where slider_id=1");
$slidersor->execute();
$slider_cek=$slidersor->fetch(PDO::FETCH_ASSOC);
?>

While döngüsü ile yapmak istemiyorum. İstediğim şey Mesela 1 alana sadece slider_id'in hizasında olan slider_ad vs yazdırmak istiyorum. Diğer alana slider_id 2 hizasında olan slider_ad ı yazdırmak istiyorum. Nasıl yapabilirim?

<?php echo $slider_cek['slider_ad']; ?>
tayfunerbilen
1479 gün önce

bir fonksiyona çevirip yazabilirsin, örneğin;

function slider($sliderId){
    global $db;
    $query = $db->prepare("SELECT * FROM slider WHERE slider_id = :id");
    $query->execute([
        'id' => $sliderId
    ]);
    return $query->fetch(PDO::FETCH_ASSOC);
}

// kullanırkende slider idsine göre kullanacaksın örneğin
$slider1 = slider(1);
echo $slider1['slider_ad'];

$slider2 = slider(2);
echo $slider2['slider_ad'];

ikinci bir alternatifte hepsini çekip bir diziye idleri ile birlike aktarıp kullanmak olabilir. Örneğin;

function sliders(){
    global $db;
    $query = $db->query("SELECT * FROM slider WHERE slider_id = :id")->fetchAll(PDO::FETCH_ASSOC);
    $sliders = [];
    foreach ($query as $row){
        $sliders[$row['slider_id']] = $row;
    }
    return $sliders;
}

$sliders = sliders();

// ID'si 1 olan sliderın adı
echo $sliders[1]['slider_ad'];

// ID'si 2 olan sliderın adı
echo $sliders[2]['slider_ad'];

gibi :)