В общем задача усложнилась. В некоторых полях по три слова:
Михаил Николаевич Алексеев
Михаил Николаевич Алексеев
Нора Борисовна Аргунова
Марк Азов, Валерий Михайловский
В. Бахревский
Шейла Барнфорд
Александр Беляев
Георгий Березко
П. Бляхин
Нина Боуден
Нина Бодэн
В связи с чем я решил использовать php для сортировки. Конструкция получилась ужасная и шибко обжорливая, из-за многочисленности запросов.
Но мне нужно сделать это всего один раз, и пусть он хоть два часа работает.
Но вот беда. Сортирует не так как надо, а ошибку найти не могу.
PHP:
$res = $db->get_results("SELECT author FROM books", ARRAY_A);
foreach($res as $num => $string) {
foreach ($string as $n => $author) {
$new[$string['author']] = array ($string['author']);
$names = explode (" ", $author);
$mod = $names[2]." ".$names[0]." ".$names[1];
$mod2 = $names[1]." ".$names[0];
$mod3 = $names[0]." ".$names[1];
echo $i++." - ".$mod."<br>";
echo $ii++." - ".$mod2."<br>";
echo $iii++." - ".$mod3."<br>";
$db->query("UPDATE books SET author='$mod' WHERE author='$author'");
$db->query("UPDATE books SET author='$mod2' WHERE author='$mod3'");
}
}
Т.е. при выводе на экран все в порядке, а вот в таблице получается плохо.
Класс mysql я проверял - работает вполне корректно. Все запросы выполняет как надо.