|
|
|
| Добрый день, такая проблема: есть таблица в базе. Есть определенная ячейка, в которой записаны имя и фамилия. Эту ячейку надо разбить на две(в одной вывести имя а во второй вывести фамилию).
Тип ячейки сейчас стоит как VARCHAR, наверно надо поменять....
Может быть кто-нибудь знает как можно сделать? | |
|
|
|
|
|
|
|
для: Kien
(09.08.2007 в 15:37)
| | Это можно сделать функцией explode() по пробелу, после вывода из базы этого поля | |
|
|
|
|
|
|
|
для: Faraon
(09.08.2007 в 15:39)
| | а можно кусочек кода какого-нибудь? | |
|
|
|
|
|
|
|
для: Kien
(09.08.2007 в 16:02)
| | Типа такого
<?php
$query=mysql_query("SELECT fio FROM table");
while($row=mysql_fetch_assoc($query)){
$arr=explode(" ",$row[fio]);
print "Имя $arr[0]<br>Фамилия $arr[1]<br><br>";
}
?>
|
| |
|
|
|
|
|
|
|
для: Faraon
(09.08.2007 в 16:55)
| | Спасибо, бсе работает, но возникает проблема:
В базу все это дело грабится с определенной страницы и записывается с большим количеством пробелов между словами. Поэтому можно ли как-нибудь установить только один пробел при записи в базу?
Может можно отделить первое слово до пробела, а все остальное записать как второе слово? | |
|
|
|
|
|
|
|
для: Kien
(10.08.2007 в 14:48)
| | почему бы не сделать это средствами php? | |
|
|
|
|
|
|
|
для: Kien
(10.08.2007 в 14:48)
| | Если много пробелов можно воспользоваться регуляркой при выводе
$fio=$row[fio];
preg_match("/(.*?)\s(.*?)/isU", $fio, $out);
print $out[1]." ".$out[2];
|
| |
|
|
|
|
|
|
|
для: Kien
(09.08.2007 в 16:02)
| | Кусочек кода можно:
SELECT SUBSTR (ename, 1, INSTR (ename, ' ') - 1) AS NAME,
SUBSTR (ename,
INSTR (ename, ' ') + 1,
LENGTH (ename) - INSTR (ename, 1, 2)
)
FROM emp;
|
| |
|
|
|