Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: вывод данных ячейки с разбивкой на несколько
 
 автор: Kien   (09.08.2007 в 15:37)   письмо автору
 
 

Добрый день, такая проблема: есть таблица в базе. Есть определенная ячейка, в которой записаны имя и фамилия. Эту ячейку надо разбить на две(в одной вывести имя а во второй вывести фамилию).

Тип ячейки сейчас стоит как VARCHAR, наверно надо поменять....

Может быть кто-нибудь знает как можно сделать?

   
 
 автор: Faraon   (09.08.2007 в 15:39)   письмо автору
 
   для: Kien   (09.08.2007 в 15:37)
 

Это можно сделать функцией explode() по пробелу, после вывода из базы этого поля

   
 
 автор: Kien   (09.08.2007 в 16:02)   письмо автору
 
   для: Faraon   (09.08.2007 в 15:39)
 

а можно кусочек кода какого-нибудь?

   
 
 автор: Faraon   (09.08.2007 в 16:55)   письмо автору
 
   для: 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>";

}

?>

   
 
 автор: Kien   (10.08.2007 в 14:48)   письмо автору
 
   для: Faraon   (09.08.2007 в 16:55)
 

Спасибо, бсе работает, но возникает проблема:

В базу все это дело грабится с определенной страницы и записывается с большим количеством пробелов между словами. Поэтому можно ли как-нибудь установить только один пробел при записи в базу?

Может можно отделить первое слово до пробела, а все остальное записать как второе слово?

   
 
 автор: Trianon   (10.08.2007 в 14:55)   письмо автору
 
   для: Kien   (10.08.2007 в 14:48)
 

почему бы не сделать это средствами php?

   
 
 автор: Faraon   (10.08.2007 в 15:06)   письмо автору
 
   для: Kien   (10.08.2007 в 14:48)
 

Если много пробелов можно воспользоваться регуляркой при выводе

$fio=$row[fio];
preg_match("/(.*?)\s(.*?)/isU", $fio, $out);
  print $out[1]." ".$out[2];

   
 
 автор: oradev   (09.08.2007 в 17:31)   письмо автору
 
   для: 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;
  

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования