Merhabalar bugün konumuz mysql tablomuzda bulunan metinlerimizin ilk harflerini nasıl büyük harf olarak güncelleme yapabiliriz, bunu aktaracağım. Mysql kelimelerin ilk harflerini büyük yapma genellikle opencart veya benzeri bir sisteminizde hepsini büyük veya hepsini küçük harf girdiğinizde hepsini tek bir seferde güncellemek için kullanırız.
Nasıl Yapılır
Bunun birden çok yöntemi var aslında, tek tek güncelleme yapabilirsiniz, PHPMyAdmin üzerinden alt kısımda sizlerle paylaşacağım fonksiyonu kullanarak yapabilirsiniz veya tek tek str ve ucase fonksiyonlarını kullanabilirsiniz.
Kod Bloğu
DELIMITER ||
CREATE FUNCTION `kelimeBasiBuyuk`( str VARCHAR(255) ) RETURNS VARCHAR(255) CHARSET utf8
BEGIN
DECLARE c CHAR(1);
DECLARE s VARCHAR(255);
DECLARE i INT DEFAULT 1;
DECLARE bool INT DEFAULT 1;
DECLARE punct CHAR(17) DEFAULT ' ()[]{},.-_!@;:?/';
SET s = LCASE( str );
WHILE i < LENGTH( str ) DO
BEGIN
SET c = SUBSTRING( s, i, 1 );
IF LOCATE( c, punct ) > 0 THEN
SET bool = 1;
ELSEIF bool=1 THEN
BEGIN
IF c >= 'a' AND c <= 'z' THEN
BEGIN
SET s = CONCAT(LEFT(s,i-1),UCASE(c),SUBSTRING(s,i+1));
SET bool = 0;
END;
ELSEIF c >= '0' AND c <= '9' THEN
SET bool = 0;
END IF;
END;
END IF;
SET i = i+1;
END;
END WHILE;
RETURN s;
END ||
DELIMITER ;
Yukarıdaki mysql fonksiyonun amacı bizim belirttiğimiz kolondaki veya metindeki boşluklara göre parçalama yaparak ilk harflerini büyük olarak vermektedir. Burada dikkat etmeniz gereken html karakterleriniz “nbsp” ,”amp” gibi kelimelerinde ilk harflerinide büyük yapacaktır. Elbetteki siz daha farklı yöntemler ile php ilede bu sorunu çözebilrsiniz. Yukarıdaki kod ile minimum bir kod bloğu ile maksimum bir çözüm üretmek amaçlanmıştır.
Kısaca Notlar
MySQL fonksiyonlar, ihtiyaçlar doğrultusunda kendi özel sorgularınızı yaratarak çağırıp kullanabileceğiniz saklı işlevlerdir. Bu işlevleri, hostunuzu taşırken geçtiğiniz hosting firmanızada aktarmanız gerekmektedir, aksi halde yeni geçtiğiniz hosting firmalarında bu işlemi php dosyanızda veya PHPMyAdmin üzerinden yapacağınız sorgularda kullanamayacaksınız.
Yukarıda işlediğimiz örnekte, benim opencart tablomdaki oc_product_description alanlarımdaki büyük harf ile girilmiş tüm metinlerimi otomatik olarak sadece ilk harflerin büyük olmasını sağladım. Siz kendinize göre yeni bir fonksiyon yaratarak istediğiniz gibi kullanıp çalıştırabilirsiniz.