PHP PDO Döngü olmadan veri çekme id?
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']; ?>
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (1)
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 :)