Merhaba,
Daha öncesinde bir arkadaşımın projesinde görmüştüm 2 sene falan geçti şuan hatırlayamıyorum şu şekilde ayarları tutuyordu ayar tablosunun içinde 4 adet sutün bulunuyor id ayaradi ayarkarsiligi eklenme zamanı şeklinde bende bu şekilde yapmak istiyorum fakat şöyle birşey var normalde ben verileri şu şekilde çekebiliyorum $siteinfo[0}['site_title] gibi bu şekilde veri çekmekteyim istediğim gibi nasıl yapabilirim? Codeigniter kullanmaktayım
PHP foreach döngüsü olmadan veri çekme
7
●359
- 30-03-2020, 00:06:32Üyeliği durduruldu
- 30-03-2020, 00:14:41Tam olarak ne yapmaya çalışıyorsun?burakalaca adlı üyeden alıntı: mesajı görüntüle
- 30-03-2020, 00:26:57Üyeliği durdurulduhttps://prnt.sc/rp1i5s bunu veritabanı gibi düşünebilirsiniz örnek olarak ayaradi olarak instagram yazdığımı zaman ayar karşılığının gelmesini istiyorumMisafir adlı üyeden alıntı: mesajı görüntüle
- 30-03-2020, 00:33:54Şöyle ki örneğin
$settings = $db->select("SELECT * from settings");diyelim ki bu şekilde verilerini çektirdin yazdırırkende
<?php echo $settings[0]["data"]; ?>
<?php echo $settings[1]["data"]; ?>
data senin ayar_karsiligi diye yazdığın kolonun adı 0 1 2 3 4 diye gider bunlarda 0 ilk veri
1 ikinci veri
2 üçüncü veriyi yani senin tablonda Ahmetin sitesi açıklama diye yazdırır - 30-03-2020, 00:36:27burakalaca adlı üyeden alıntı: mesajı görüntüle
$instagram = $this->db->where(['name'=>'Instagram'])->get('social_medias')->row();Şöyle kullanabilirsin: $instagram->id - 30-03-2020, 00:41:28Üyeliği durdurulduBunu yapıyorum ama veri sayısı arttığı zaman sırasını (sayı olarak )öğrenmek yorucu olucak her seferinde uğraşmamak için konuda belirttiğim gibi nasıl yapılabileceğini araştırmaktayım.efsungokmen adlı üyeden alıntı: mesajı görüntüle
Her ayar adı için ayrı değişken yapmam gerekicek bu şekilde sanırım bu pek işimi görmez :/Misafir adlı üyeden alıntı: mesajı görüntüle - 30-03-2020, 01:05:45sql cümlesinde ayaradini like ile aratabilir veya where koşuluyla ayarlayablirsin dolayısıyla istediğin sonucu yüzlerce içerik olsada alırsın
- 30-03-2020, 06:39:32Klasik bir yöntem önerebilirim bunun için.
Öncelikle "application/libraries" içerisine "preLoadData.php" dosyası oluşturun.
<?php class preLoadData { public $settings = array(); public function __construct() { $query = get_instance()->db->get('ayarlar'); foreach ($query->result() as $row) { $this->settings[ $row->ayar_adi ] = $row->ayar_karsiligi; } } } ?>Bu şekilde, ayarları ön yükleme yapabilirsiniz. Diğer kategorileri vs. bu sınıftan halledebilirsiniz.
Daha sonra "application/helpers" içerisine "get_helper.php" veya "general_helper.php" dosyası oluşturun, yada helper dosyanız var ise şu fonksiyonu ekleyin;
<?php function config($key) { $settings =& get_instance()->preloaddata->settings; return (isset($settings[$key]) ? $settings[$key] : NULL); } ?>Site içerisinde controllers yada views dosyalarında
<?php // Controllers veya views dosyalarında bu şekilde ulaşabilirsiniz. echo config('title'); ?>Son olarak "autoload.php" içerisine,
$autoload['libraries']... kısmına "preLoadData" ilave etmeyi unutmayın. aynı şekilde helper dosyasınıda.