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

Поиск по введённым параметрам в MySQL

25.06.2011, 19:31. Показов 3911. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть БД MySQL.Мне нужно сделать поиск по ней.Пользователь с помощью формы выбирает страну.Скрипт полностью выводит строки из БД в которых совпадает название страны .Тоесть если совпала и страна то он выводит название страны и компании а также остальные ячейки из этой страны.(Совпадений страны может быть несколько)
Пример БД:
country company product price
Россия MyCompany beton 100$
Россия Alalaa soup 10$



PHP
1
2
$search_country=$_POST["country"];
$search_company=$_POST["company"];
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.06.2011, 19:31
Ответы с готовыми решениями:

Организация поиска в БД по параметрам введенным в форме
Как грамотнее сделать обработку формы для поиска по параметрам в базе данных (я использую MySQL)?.. Т.е.: Например есть интернет...

Организация поиска в БД по параметрам введенным в форме
Как грамотнее сделать обработку формы для поиска по параметрам в базе данных (я использую MySQL)?.. Т.е.: Например есть интернет...

Необходимо осуществить поиск по параметрам и вывести в таблицу StringGrid список людей по этим параметрам
procedure TForm1.Button1Click(Sender: TObject); // Поиск по параметрам var i: integer; x, y: string; z: tpats; flag:...

5
 Аватар для MegaAce
332 / 306 / 155
Регистрация: 14.02.2010
Сообщений: 662
25.06.2011, 20:51
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
<?php
 
 $sql = 'SELECT * FROM `company` JOIN `country` ON `company`.`comp_countr` = `country`.`countr_id` WHERE `comp_countr`="'.$_POST['country'].'" AND `comp_name` LIKE "'.trim($_POST['company']).'" LIMIT 1';
 $result = mysql_query($sql);
 if($row = @mysql_fetch_assoc($result)) //знаю что плохая проверка, но впадло писать((
 {
   echo '<div style="padding:10px; border:1px solid #f00;">Компания ',$row['comp_name'],' в стране ',$row['count_name'],' специализируется на ',$row['comp_type'],' и имеет прибиль ',$row['comp_price'],'</div>';
 }
 else 
 { 
   $sql = 'SELECT * FROM `company` JOIN `country` ON `company`.`comp_countr` = `country`.`countr_id` WHERE `comp_countr`="'.$_POST['country'].'"';
   $result = mysql_query($sql);
   echo '<strong>Возможно вы имели ввиду:</strong><br />';
   while($row = mysql_fetch_assoc($result))
     echo '<div>Компания ',$row['comp_name'],' в стране ',$row['count_name'],' специализируется на ',$row['comp_type'],' и имеет прибиль ',$row['comp_price'],'</div>';
 }
 
 $sql = 'SELECT * FROM `country`';
 $result = mysql_query($sql);
 echo '<form method="post"><select name="country"><option></option>';
 while($row = mysql_fetch_assoc($result))
 {
   echo '<option value="',$row['countr_id'],'"';
   if($row['countr_id'] == $_POST['country'])
   {
     echo ' selected = "selected" ';
   } 
   echo '>',$row['count_name'],'</option>';
 }
 echo '</select><br /><input type="text" name="company" value="',$_POST['company'],'" /><br /><input type="submit" name="OK" /></form>';
 
 mysql_close($conn);
?>
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TABLE IF NOT EXISTS `company` (
  `comp_id` INT(5) NOT NULL AUTO_INCREMENT,
  `comp_countr` INT(3) NOT NULL,
  `comp_name` VARCHAR(30) NOT NULL,
  `comp_type` VARCHAR(10) NOT NULL,
  `comp_price` INT(5) NOT NULL,
  PRIMARY KEY (`comp_id`)
) ENGINE=MyISAM
 
CREATE TABLE IF NOT EXISTS `country` (
  `countr_id` INT(3) NOT NULL AUTO_INCREMENT,
  `count_name` VARCHAR(30) NOT NULL,
  PRIMARY KEY (`countr_id`)
) ENGINE=MyISAM
2
126 / 93 / 18
Регистрация: 09.01.2011
Сообщений: 467
26.06.2011, 02:44
Кстати, не забудьте добавить фильтры на полученные данные. А то рискуете быть дефейснуты
0
0 / 0 / 1
Регистрация: 03.08.2011
Сообщений: 8
03.08.2011, 16:17
Спасибо, очень помогло, не знал что такое простое решение может быть.
0
0 / 0 / 1
Регистрация: 03.08.2011
Сообщений: 8
05.08.2011, 12:30
а что такое быть дефейснутым
0
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
05.08.2011, 13:39
hitler35, нельзя сразу в запрос вставлять данные из $_GET, $_POST и т.п. Их надо вначале экранировать через addslashes или mysql_real_escape_string. Дефейснуть (изменить саму страницу) тут вряд ли получится, но сделать SQL-инъекцию и получить доступ к БД можно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.08.2011, 13:39
Помогаю со студенческими работами здесь

Не ищет по параметрам оператор LIKE mysql
Здравствуйте уважаемые коллеги (хотя я без профильного образования, я любитель самоучка)! Проблема в следующем: Простая форма...

Выборка из таблицы mysql по двум параметрам
Здравствуйте все! Нужно из таблицы mysql сделать выборку строки по двум значениям. В базе есть таблица со столбцами id, user_wmid,...

Выборка из mysql из одного столбца по нескольким параметрам
Приветствую! Провожу выборку из таблицы, нужно из одного столбца выбрать значения равные одному и так же второму параметру. Делаю...

Как выбрать из базы MySQL значения по 2 параметрам
Столкнулся со следующей проблемой. Существует таблица MySQL из которой нужно сделать выборку по 2 -м столбцам. Тоесть цикл должен...

Поиск совпадений в массиве с введенным значением
Добрый день! Подскажите пожалуйста, как можно найти совпадение в массиве с введенным значением? Пробую так: for (index = 0; index...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru