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

Форум MySQL

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

 

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

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

тема: Поиск
 
 автор: Vincento   (23.12.2010 в 00:28)   письмо автору
 
 

Подскажите пожалуйста ссылку на граммотный посимвольный поиск.

У меня в поле `должность` ,к примеру, есть значения

1.Заместитель генерального директора
2.Заместитель начальника службы безопасности
3.Заместитель начальника отдела продаж
4.Заместитель начальника охраны

Человек хочет найти кого-то, но не знает его должность, помнит только что заместитель.
как это осуществить?

  Ответить  
 
 автор: Gubichev   (23.12.2010 в 01:03)   письмо автору
 
   для: Vincento   (23.12.2010 в 00:28)
 

Если используете Mysql, то можно например так
SELECT name,doljnost FROM personal WHERE doljnost LIKE 'заместитель %'

  Ответить  
 
 автор: Vincento   (23.12.2010 в 08:23)   письмо автору
 
   для: Gubichev   (23.12.2010 в 01:03)
 

Да, так работает, но так ищет только по первому слову "Заместитель", а если в должности 2 или три слова? и надо найти по второму?

  Ответить  
 
 автор: lightning.say   (23.12.2010 в 08:38)   письмо автору
 
   для: Vincento   (23.12.2010 в 08:23)
 

... LIKE '%".$_POST['doljnost']."%' - выводит записи в которых имеются любые совпадения передаваемой последовательности символов

  Ответить  
 
 автор: Vincento   (23.12.2010 в 11:30)   письмо автору
 
   для: lightning.say   (23.12.2010 в 08:38)
 

да, спасибо, это я же нашел )))

теперь возникла другая проблема.

как найти совпадения по нескольким столбцам?

я написал запрос вот такой -


$zap_poi = "SELECT * FROM tk_sotr WHERE fam LIKE '$poisk_slovo' AND name LIKE '$poisk_slovo' AND sour LIKE '$poisk_slovo' AND dolj LIKE '$poisk_slovo' AND otdel LIKE '$poisk_slovo'";


но что-то не ищет (((

когда выбираешь поиск по конкретному столбцу все нормально, ищет все!

  Ответить  
 
 автор: Vincento   (23.12.2010 в 11:44)   письмо автору
 
   для: lightning.say   (23.12.2010 в 08:38)
 

ок спасибо все было проще )))) вот я балда

$zap_poi = "SELECT * FROM tk_sotr WHERE fam LIKE '%$poisk_slovo%' OR name LIKE '%$poisk_slovo%' OR sour LIKE '%$poisk_slovo%' OR dolj LIKE '%$poisk_slovo%' OR otdel LIKE '%$poisk_slovo%' OR cab LIKE '%$poisk_slovo%'";

AND на OR )))

  Ответить  
 
 автор: lightning.say   (23.12.2010 в 14:33)   письмо автору
 
   для: Vincento   (23.12.2010 в 11:44)
 

можно вывести результаты запроса и посмотреть в каких полях есть совпадения:

<?php 
  
include "config.php"//настройи сервера
  
$zap_poi"SELECT * FROM tk_sotr WHERE fam LIKE '%$poisk_slovo%' OR name LIKE '%$poisk_slovo%' OR sour LIKE '%$poisk_slovo%' OR dolj LIKE '%$poisk_slovo%' OR otdel LIKE '%$poisk_slovo%' OR cab LIKE '%$poisk_slovo%'";

  
$cat mysql_query($zap_poi); 
  if(!
$cat) exit(mysql_erorr()); 
echo 
"<table border=1> 
<tr> 
 <td>fam</td>  
 <td>name </td>  
 <td>sour </td>  
 <td>dolj </td>  
 <td>otdel </td>  
<td>cab </td>  
</tr>"
;  
 while(list(
$fam$name $sour $dolj $otdel$cab ) = mysql_fetch_row($cat))  
  echo 
"<tr>  
 <td>
$fam</td>  
 <td>
$name </td>  
 <td>
$sour </td>  
 <td>
$dolj </td>  
 <td>
$otdel </td>  
<td>
$cab </td>  
   </tr>"
;  
  echo 
"</table>"
?>

  Ответить  
 
 автор: Vincento   (23.12.2010 в 12:07)   письмо автору
 
   для: lightning.say   (23.12.2010 в 08:38)
 

а как узнать в каком из полей было найдено соответствие?

  Ответить  
Rambler's Top100
вверх

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