PHP ve üzerinde çalışıyorum MySQL tabanlı web sitesi. Ben siteyi yönetmek için farklı ayarlar girebilirsiniz yönetim panelinde kurulum için 'Ayarlar' sayfasını çalışıyorum. Ayarlar gereksinimlerine bağlı olarak, 100 kadar (veya daha fazla) arasında olabilir. Peki yerine (ve ben gelecekte daha fazla sütun eklemek için varsa artış) 100 sütun yapma, ben satır bilge biçiminde verileri saklamak ve sütunlar onu getiriliyor ediyorsam gibi değerleri almak istiyorum.
REFERENCE:
Ben en popüler bloglama aracı 'Wordpress' böyle özelliği benzer bir gerçek hayat uygulaması bulundu. Başvuru için, ben bahsediyorum 'wp_options' tablodur. (Yanılmıyorum lütfen beni düzeltin)
EXAMPLE:
İşte ne (ve neden) Ben bu şekilde yapmak için çalışıyorum hızlı bir örnek:
--Table settings
P.KEY option_name option_value
1 site_name XYZ site inc.
2 siteurl http://www.xyz.com
3 slogan Welcome to my XYZ site
4 admin_email admin@xyz.com
5 mailserver_url mail.xyz.com
6 mailserver_port 23
..... etc.
Yukarıda gördüğünüz gibi, ben çok az seçenek listeledik ve bunların sayısı giderek artmaktadır. (Sadece kayıtlar için, Wordpress benim montaj wp_options tablodaki 902 satır var ve ben herhangi bir yinelenen seçenek_adı görmedim). Bu yüzden ben ayarları büyümesini karşılamak için Wordpress gibi aynı çalışma prensibini uygulamak eğer ben de yoldaydım his var. Ben DB tüm ayarları kaydetmek kez, ben tüm ayarları almak ve girişleri DB var hangi formda ilgili alanları doldurmak istiyorum o kadar da ben yapmak istiyorum.
ONE OF MY CODE TRIALS:
--
-- Table structure for table `settings`
--
CREATE TABLE IF NOT EXISTS `settings` (
`set_id` tinyint(3) NOT NULL auto_increment,
`option_name` varchar(255) NOT NULL,
`option_value` varchar(255) NOT NULL,
PRIMARY KEY (`set_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
--
-- Dumping data for table `settings`
--
INSERT INTO `settings` (`set_id`, `option_name`, `option_value`) VALUES
(1, 'site_name', 'XYZ site inc.'),
(2, 'slogan', 'Welcome to my XYZ site');
$result = mysql_query("SELECT option_name, option_value FROM settings");
$defaults = array('option_name', 'option_value');
while( list($n, $v) = mysql_fetch_array($result) )
{
$defaults['option_name'] .= $n;
$defaults['option_value'] .= $v;
}
echo $defaults['option_name'].'---'.$defaults['option_value'].'<br />';
//The above code gives me the following Output:
//site_nameslogan---XYZ site inc.Welcome to my XYZ site
Ben yukarıdaki sorgu çalıştırdığınızda, ben de diyor 2 PHP Uyarılar alırsınız:
Undefined index: option_name
Undefined index: option_value
Ben PHP code başarıyla seçenekleri almak ve de Undefined index sorunları ortadan kaldırmak bana gösterebilir misin herhangi bir yanıt seviniriz. Ben daha önce de belirttiğim gibi, Ayrıca, ben tüm mevcut ayarlarını almak ve gelecek ayarları sayfasını ziyaret ettiğinizde veri depolama sonra, formda ilgili alanları doldurmak istiyor.
Şimdiden teşekkürler tüm dışarı uçmak.