mySQL съвет

tipto

Active Member
Здравейте, някой може ли да ми каже как ще стане заявката да коригирам една таблица в база данни че има около 1000 записа и не ми се занимава ръчно.
ще дам пример ако не мога да се изразя правилно:
Име на таблица да кажем Plodove

Id:35 l ime:pRASKOVA l opisanie:ala bala l razmer: GOLQMA

Id:35 l ime:praskova l opisanie:ala bala l razmer: Golqma

Думите в колана ime и razmer да станат както в втория ред от примера само с Главна в началото на думата :rolleyes:
 
От: mySQL съвет

PHP:
update `table` set  ime = Praskova , razmer = Golqma where  ime = PRASKOVA  and razmer = GOLQMA

Друг вариант е с php да реплейсне всичко и да ти направи само първата буква голяма:

PHP:
function mb_ucasefirst($str){
    $str[0] = mb_strtoupper($str[0]);
    return $str;
}

Давам само насоки, в момента не се сещам за нещо което директно през заявка да го промениш.

Сек за редакция, няма това в този редактор нщо не става.

При второто може да стане така:

PHP:
<?php

/**
 * @author uni-web
 * @copyright 2014
 */

function mb_ucasefirst($str){
    $str[0] = mb_strtoupper($str[0]);
    return $str;
} 

// КЪНЕКТВАНЕТО НЯМА КАК ДА НЕ СИ ГО ЗНАЕШ


$q = mysql_query("select * from `table`");

while($result = mysql_fetch_array($q)){
      mysql_query("update `table` set  ime = ".mb_ucasefirst($result['ime']).", razmer = ".mb_ucasefirst($result['razmer'])." where id = '{$result['id']}'");
} 

?>

Имай в предвид, че съм го писал директно тук не съм го пускал в редактор може да има грешки!!!

Мразя ги кавичките да го ева, само мизерии правят.
 
Последно редактирано:
От: mySQL съвет

Код:
UPDATE Plodove SET CompanyIndustry = CONCAT(UCASE(LEFT( ime, 1)),  LCASE(SUBSTRING( ime, 2)));

Това ще работи без значение дали става дума за PRASKOVA или CHERESHA.
 

Горе