Перейти к содержимому


- - - - -

Сравнение массивов


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 agf

agf
  • Новичок

  • Пользователь
  • 8 сообщений

Отправлено 18.08.2010 - 01:18

Есть 2 массива  $_GET[]; и $config[];
$_GET[]; - тут хранится инфа о задействованных полях, которые используются в поиске по базе
$config[]; - тут инфа(т.е. конфигурационный файл) структура базы данных
нужно эти два массива сравнить, и те поля, которые совпадают использовать в SELECTe запросе бд
пока что мысли - два вложенных цикла, которые пробегают весь массив, но нету представлений куда складывать инфу о совпавших полях, а потом как вставить все это дело в селект запрос

#2 pahan76

pahan76
  • Консультант

  • Пользователь
  • 990 сообщений
  • Пол:Мужчина
  • Город:Химки, М.О.

Отправлено 18.08.2010 - 09:44

Как все сложно  :)
1)

Цитата

нужно эти два массива сравнить, и те поля, которые совпадают
$result=array_intersect($config,$_GET)
Получишь пересечение массивов. Т.е. в $result будут только те элементы $config`а, которые есть в $_GET
2)

Цитата

$config[]; - тут инфа(т.е. конфигурационный файл) структура базы данных
А он тебе вообще не нужен  :) Введи скрытое поле, в которое пиши имя таблицы в которой ищешь. И все.
Да и GET конечно удобен при отладке, но дико не удобен в реальной работе. Используй POST.
3)

Цитата

куда складывать инфу о совпавших полях
Проще всего - сразу в строку, которую ты скормишь БД в качестве SELECT-запроса  :)
4)

Цитата

как вставить все это дело в селект запрос
Мегалол!
Простейший пример:
mysql_query("select Blocked from Users where mysql_user_name='".$_POST['login']."'");


#3 РоБоТ

РоБоТ
  • Пользователь

  • Пользователь
  • 252 сообщений
  • Пол:Мужчина
  • Город:Moscow
  • Интересы:WeB-Programming

Отправлено 05.01.2013 - 13:47

Не стоит забывать об mysql_escape
А то пишешь простейший запрос, но насчет инъекций не предупреждаешь...




Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей