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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Поиск фамилии по алфавиту пропуская инициалы автора

Сообщения:  [1-5] 

 
 автор: Dobryy   (10.09.2006 в 18:34)   письмо автору
 
   для: oppo   (10.09.2006 в 18:33)
 

нз, я тоже когда-то не знал на этом форуме подсказали :)
http://softtime.ru/forum/read.php?id_forum=3&id_theme=18277&page=1

   
 
 автор: oppo   (10.09.2006 в 18:33)   письмо автору
 
   для: Dobryy   (10.09.2006 в 18:25)
 

дошло mid частный случай аля id

   
 
 автор: Dobryy   (10.09.2006 в 18:25)   письмо автору
 
   для: oppo   (10.09.2006 в 18:10)
 

как то всё оч чложно описано.
1. есть такая штука как постраничная навигация она в большенстве случаев осуществляется так

SELECT * FROM `table` WHERE MID(name,1,1) = 'A'

т.е. выберется все записи на букву "а"

2. соответственно, если первая буква фамилии будет шестая(А.А. Иванов) запрос будет таков

SELECT * FROM `table` WHERE MID(name,6,1) = 'A'

ну вот сообственно решение проблемы, если я её правильно понял

ЗЫ как раз допил пиво :)))

=======================
добавил
Можно ещё при записи в БД инициалы вносить отдельно от фамилии :)
А что тоже вариант нормальный, а то вдруг кто-то впишет полное имя и отчество писателя

   
 
 автор: oppo   (10.09.2006 в 18:10)   письмо автору
 
   для: oppo   (10.09.2006 в 13:32)
 

ОФФТОП
Странно - неужели форум умер .. раньше было напишешь - 1-2 часа ответ ...
Единственный это ,наверное форум ,где нет засилья маланцев ,как на оффициальных форумах типа **** (не буду ссылки ) кот. отсылают к фак максимум .
Тут есть люди кот . разбираються в ТОНКОСТЯХ.
возможно выходной.
Я и сам придумаю .. но жалко времени - возможно ты пьешь пиво (как я )у тебя код под рукой-
а лень запостить

   
 
 автор: oppo   (10.09.2006 в 13:32)   письмо автору
 
 

Поиск по алфавиту
Варианты могут быть :
$alpha=0-9
или же $alpha=русская \английская буква

   $zf = substr(trim( $alpha), 0, 1); //получить первый символ
     if ( $zf == '0' ) { // если он 0-9  ищем по цифре
    $where[] = "b.title REGEXP '(^[0-9]{1,1})'  OR b.authors REGEXP '(^[0-9]{1,1})' ";

    elseif ( eregi("[a-z0А-Я\Ё]{1}[0-9]*", $alpha) ) {
    $alpha=strtolower(rawurldecode($alpha));
    $where[] = "b.title LIKE '".$alpha."%' OR b.authors LIKE '".$alpha."%' ";
    }

Споткнулся при поиске фамилии автора - (b.authors )
Упрямый библтотекарь желает чтоб было по дуратскому госту :
А.А.ИВАНОВ ,а нетак какя прошу ИВАНОВ .А.А
Соответственно при $alpha=И - автор А.А.ИВАНОВ не найдется потому как ловит первую букву инициалов
Подскажите можно как то это сделать
например для поиска по длинному слову в форме я сделал так

 $pos = strrpos($search, ".");
  if ($pos == TRUE) {
  $search = substr($search, ($pos+1));
   }

а как бы это для по алфавиту сделать именно для автора
Спасибо

   

Сообщения:  [1-5] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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