Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 1
Регистрация: 03.06.2014
Сообщений: 112

Поиск по нескольким таблицам

06.12.2014, 12:00. Показов 1264. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть две таблицы, нужно реализовать поиск по ним. Поиск по дной работает, а надо сделать по двум
Пробовала так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php 
require_once './config.php';
require_once "functions.php";
db(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
if($_POST['submit_search']){
    
    $search = mysql_real_escape_string($_POST['search']);
    
    if(mb_strlen($search,'UTF-8') < 4){
        $_SESSION['res'] = "<script>alert(\"Поисковый запрос должен содержать не менее 4-х символов\");</script>";
        header("Location: {$_SERVER['PHP_SELF']}");
        exit();
    }else{
        $res=mysql_query("SELECT `staty_id`, `title`, `short_text` FROM `staty` WHERE MATCH(title, short_text, content) AGAINST('{$search}') AND `visible`='1'")  UNION ALL ("SELECT `firma_id`, `title`, `short_text` FROM `firma` WHERE MATCH(title, short_text, content) AGAINST('{$search}') AND `visible`='1'") or die(mysql_error());
 
 
        if(mysql_num_rows($res) > 0){
            /* если что-то найдено */
            while($row_search = mysql_fetch_assoc($res)){
                $result[] = $row_search;
            }
        }else{
            $_SESSION['res'] = "<script>alert(\"Ничего не найдено\");</script>";
            header("Location: {$_SERVER['PHP_SELF']}");
            exit();
        }
    }
    
}
 
?>
и вывод
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<div id="contents">
 
<span class='view_article'><h1>Результаты поиска</h1></span>
 
<?php
echo $_SESSION['res'];
unset($_SESSION['res']);
 
if(count($result) > 0){
    foreach($result as $item){ ?>
        
        <div class="staty1">
        <h1><a href="<?php echo $site_url; ?>view_article.php?staty_id=<?php echo $item['staty_id']; ?>"> <?php echo htmlspecialchars($item['title']); ?></a></h1>
        <?php echo $item['short_text']; ?>
        <hr size="1" /> 
        </div>
        
    <?php }
}
 
?>  
<?php
echo $_SESSION['res'];
unset($_SESSION['res']);
 
if(count($result) > 0){
    foreach($result as $item){ ?>
        
        <div class="staty1">
        <h1><a href="<?php echo $site_url; ?>view_firma.php?firma_id=<?php echo $item['firma_id']; ?>"> <?php echo htmlspecialchars($item['title']); ?></a></h1>
        <?php echo $item['short_text']; ?>
        <hr size="1" /> 
        </div>
        
    <?php }
}
 
?>  
    </div>
Что-то не так, не могу сообразить
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.12.2014, 12:00
Ответы с готовыми решениями:

Поиск по нескольким таблицам
Доброе время суток! Подскажите пожалуйста, каким образом можно осуществить поиск по нескольким таблицам? имеется 3 таблицы $search =...

Поиск по нескольким таблицам с разной структурой
Требуется осуществить поиск по нескольким таблицам с разной структурой. Например, есть 3 таблицы: table1: id, name, adress, telefon ...

Поиск по нескольким таблицам на PHP + MySQL
Здравствуйте! Такой вопрос, как сделать строку поиска на сайте для нескольких таблиц, которые не похожи по структуре. На выходе должно...

7
9 / 9 / 8
Регистрация: 09.01.2012
Сообщений: 70
07.12.2014, 17:07
UNION пишут в запросе вроде.

Добавлено через 5 минут
Ну и естественно запросы должны возвращать одинаковые столбцы с одинаковыми типами данных
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
07.12.2014, 17:27
iracwet,
PHP
1
$res=mysql_query("SELECT `staty_id`.`staty`, `title`.`staty`, `short_text`.`staty`, `firma_id`.`firma`, `title`.`firma`, `short_text`.`firma` FROM `staty`,`firma` WHERE MATCH(title, short_text, content) AGAINST('{$search}') AND `visible`='1'") or die(mysql_error());
0
1 / 1 / 1
Регистрация: 03.06.2014
Сообщений: 112
08.12.2014, 15:54  [ТС]
Пишет ошибку
Unknown column 'staty_id.staty' in 'field list'
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
09.12.2014, 19:35
Цитата Сообщение от iracwet Посмотреть сообщение
Пишет ошибку
Unknown column 'staty_id.staty' in 'field list'
нет такого поля в таблеце.
0
1 / 1 / 1
Регистрация: 03.06.2014
Сообщений: 112
09.12.2014, 19:54  [ТС]
понятно, что нет такого поля в таблице. не правильный запрос к бд получается, количество столбцов в обоих таблицах одинаковое, названия столбцов, кроме firma_id и staty_id тоже одинаковые, если по очереди обращаться к этим таблицам, то вывод получается только по одной,
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
09.12.2014, 22:00
iracwet, проверь еще раз названия
0
1 / 1 / 1
Регистрация: 03.06.2014
Сообщений: 112
09.12.2014, 22:19  [ТС]
В таблице staty столбцы: staty_id,title,keywords,description,date ,short_text,content,category,visible,vie ws
В таблице firma столбцы: firma_id,title,keywords,description,date ,short_text,content,katalog,visible,view s
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.12.2014, 22:19
Помогаю со студенческими работами здесь

Поиск по нескольким таблицам с разной (не одинаковой структурой))
Подскажите как сделать поиск по нескольким таблицам с разной структурой но по одному полю типа text. пробовал и JOIN и UNION . не...

Запрос с нескольким таблицам БД
Всем привет!) Помогите, пожалуйста, разобраться с запросом к бд. Есть таблица jobs: id, u_id, contract_id Есть таблица users: ...

Запрос к нескольким таблицам в базе
Мне так и не ответили может это возможно? У меня запрос к разным записям сделать получилось. а как из записи doska_photos выбрать только...

Запрос поиска по нескольким таблицам
Здравствуйте форумчане, не могу сообразить как организовать поиск по сайту не только по новостям, но и по комментариям тоже. Значит есть...

Как использовать INSERT INTO к нескольким таблицам?
Здравствуйте, столкнулся с такой проблемой. У меня есть три таблицы, также у меня есть форма html с input и мне нужно через форму...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru