[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Поиск в БД
Эли4ка
Скажите пожалуйста,как лучше сделать поиск картинок на сайте?Информацию о файле грузить в БД,а потом искать по этой информации?



Спустя 59 минут, 29 секунд (4.11.2011 - 06:17) imbalance_hero написал(а):
да.

Спустя 6 часов, 33 минуты, 9 секунд (4.11.2011 - 12:51) Эли4ка написал(а):
imbalance_hero
спасибо.

Спустя 2 часа, 4 минуты, 58 секунд (4.11.2011 - 14:56) sergeiss написал(а):
На самом деле, вопрос не совсем понятен. Что за картинки, какой интерфейс с юзером предполагается, по каким параметрам будет поиск и т.д. и т.п.
Может быть, надо будет показывать превьюшки - или это будет только поиск по описанию? Может быть, для каждой картинки ТС хочет сделать разделы и подразделы, внутри которых искать?

Короче говоря, ответить можно только зная задачу.

Спустя 13 часов, 12 минут, 21 секунда (5.11.2011 - 04:08) Эли4ка написал(а):
<?php
include ('connect.php');

$last_name = $_POST['last_name'];
//Выбираем все записи где в поле "Фамилия" что то записано
$sql="SELECT * FROM members WHERE last_name='$last_name'";
//В переменной $res сохраняем результаты выборки
$res=mysql_query($sql);
echo 'Выбранные данные:';
//В цикле выводим по очереди все полученные строки
while ($memberinfo=mysql_fetch_array($res))
{
echo '<br /> <br />
'
.$memberinfo["last_name"].' <br />

'
;
}
?>



<html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<
title>Страница управления</title>
</
head>
<
body>

<
form method='post' action='/get_data.php'>
Введите фамилию: <input type='text' size='30' name='last_name' /><br />

<
input type='submit' value='Поискать' />

</
body>
</
html>


Когда переменная пуста запрос к БД все равно идет..почему?где неточность?

Спустя 2 часа, 29 минут, 53 секунды (5.11.2011 - 06:38) fire написал(а):
А что ему должно это запрещать ? Я не вижу никакого условия в вашем скрипте которое бы зарещало выполнять запрос если данных нет

Спустя 2 часа, 48 минут, 40 секунд (5.11.2011 - 09:26) Эли4ка написал(а):
точно..а как сделать чтобы если условие пустое возвращало на начало поиска?

Спустя 14 минут, 49 секунд (5.11.2011 - 09:41) imbalance_hero написал(а):
Эли4ка
Ну так проверяй, ввёл ли что-то пользователь в $_POST['last_name'], на !empty.

Спустя 30 минут, 51 секунда (5.11.2011 - 10:12) Эли4ка написал(а):
imbalance_hero
понятно..сделала с помощью if..else ..

Спустя 16 минут, 25 секунд (5.11.2011 - 10:28) Renden написал(а):
Эли4ка
Хм.. а говорить о том что нужно обрабатывать\проверять POST данные которые идут в mysql запрос надо или ты об этом знаешь smile.gif? И зачем тебе mysql_fetch_array , assoc быстрее)

Спустя 1 час, 30 минут, 28 секунд (5.11.2011 - 11:59) johniek_comp написал(а):
<?php
include ('connect.php');

$last_name = $_POST['last_name'];
if (empty($_POST['last_name'])) {
echo 'Введите слово для поиска';
} else {
$ok = htmlspecialchars($last_name);
$ok = trim($last_name);
//Выбираем все записи где в поле "Фамилия" что то записано
$sql=mysql_query("SELECT * FROM `members` WHERE last_name='$last_name'");
//В переменной $res сохраняем результаты выборки
$res=mysql_query($sql);
echo 'Выбранные данные:';
//В цикле выводим по очереди все полученные строки
while ($memberinfo=mysql_fetch_assoc($res))
{
echo '<br /> <br />
'
.$memberinfo["last_name"].' <br />

'
;
}
}

?>



<html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<
title>Страница управления</title>
</
head>
<
body>

<
form method='post' action='/get_data.php'>
Введите фамилию: <input type='text' size='30' name='last_name' /><br />

<
input type='submit' value='Поискать' />

</
body>
</
html>

попробуй-ка :)

Спустя 51 минута, 49 секунд (5.11.2011 - 12:51) Эли4ка написал(а):
Renden
да я для себя скрипт делала..конечно знаю..этот скрипт переписывать и переписывать еще надо до конечного варианта..
johniek_comp
спасибо..

Спустя 51 минута, 4 секунды (5.11.2011 - 13:42) Renden написал(а):
Эли4ка
Цитата
да я для себя скрипт делала..конечно знаю..этот скрипт переписывать и переписывать еще надо до конечного варианта..

Имхо я бы тогда написал как-то так, посмотри комментарий - я вправду не понял зачем?
Свернутый текст

include ('connect.php');

if (!empty($_POST['last_name']) && mb_strlen($_POST['last_name']) >= 6)
{
$sql = mysql_query("SELECT last_name
FROM `members`
WHERE last_name='"
.mysql_real_escape_string(trim($_POST['last_name']))."'");
echo 'Выбранные данные:';
/* Непонятно зачем тут цикл, если запрос делает WHERE а не LIKE много однофамильцев чтоль?,
а если и много смысл несколько раз 1 и тоже выводить или этот скрипт типа просто пример? :) */

while ($info = mysql_fetch_assoc($sql))
echo '<p>'.$info["last_name"].'</p>';
}
else
echo 'Введите слово для поиска, слово не должно быть меньше 3 букв';

Спустя 46 минут, 41 секунда (5.11.2011 - 14:29) alexbel2404 написал(а):

mb_strlen($_POST['last_name']) >= 6

и
echo 'Введите слово для поиска, слово не должно быть меньше 3 букв';

Не стыковачка какая-та)

Спустя 23 минуты, 34 секунды (5.11.2011 - 14:52) Renden написал(а):
alexbel2404
Латиница в utf-8 занимает 2 байта, т.е в 2 раза больше..

Спустя 47 минут, 53 секунды (5.11.2011 - 15:40) alexbel2404 написал(а):
Если используется mb_strlen, то она вернет, ровно столько, сколько есть символов, если использовать просто strlen, то она вернет в два раза больше.

Спустя 11 часов, 45 минут, 47 секунд (6.11.2011 - 03:26) Эли4ка написал(а):
ооо..цепная реация..
Renden
а как тогда лучше реализовать?

Спустя 11 часов, 12 минут, 53 секунды (6.11.2011 - 14:39) Renden написал(а):
Эли4ка
Это тебе виднее как лучше, я просто думаю что для поиска в данном случае LIKE всеже лучше например запрос:

$sql = mysql_query("SELECT last_name
FROM `members`
WHERE last_name
LIKE '%"
.mysql_real_escape_string(trim($_POST['last_name']))."'");

при запросе например Иван выведет:
Иванова
Иванов
Иванхренегознает :)
Если такие фамилии у тя есть в БД..

Спустя 1 час, 37 минут, 15 секунд (6.11.2011 - 16:16) neadekvat написал(а):
Цитата (Renden @ 6.11.2011 - 15:39)
при запросе например Иван выведет:
Иванова
Иванов
Иванхренегознает smile.gif

Да прям? "%" то у тебя в начале стоит.

Спустя 21 час, 5 минут, 30 секунд (7.11.2011 - 13:21) Эли4ка написал(а):
а что делает % этот знак?я в мануалах не нашла?

Спустя 13 минут, 36 секунд (7.11.2011 - 13:35) sergeiss написал(а):
Цитата (Эли4ка @ 7.11.2011 - 14:21)
а что делает % этот знак?я в мануалах не нашла?

Интересно... И где люди только такие мануалы находят? Или искать не умеют в них (второе более вероятно) smile.gif Я вот мускулем не пользуюсь, но и то именно в его мануале за 3 секунды нашел:
Цитата
With LIKE you can use the following two wildcard characters in the pattern:

Character Description
% Matches any number of characters, even zero characters
_ Matches exactly one character


Спустя 18 часов, 12 минут, 16 секунд (8.11.2011 - 07:47) Эли4ка написал(а):
спасибо..а что за мануал..можно ссылочку в ЛС для скачки..

Спустя 16 минут, 10 секунд (8.11.2011 - 08:03) sergeiss написал(а):
Он у меня давно уж скачан был. Не помню, откуда. Возможно, что отсюда http://www.mysql.ru/docs/, один из мануалов.

Спустя 1 минута, 12 секунд (8.11.2011 - 08:05) Эли4ка написал(а):
спасибо Вам.скачаю и я)

Спустя 4 часа, 54 минуты, 4 секунды (8.11.2011 - 12:59) Эли4ка написал(а):
скажите пожалуйста а как реализовать передачу данные методом пост от переключателей?--условными операторами?

Спустя 37 минут, 37 секунд (8.11.2011 - 13:36) m4a1fox написал(а):
Эли4ка
Ну вроде переключатели только!

Спустя 20 минут, 12 секунд (8.11.2011 - 13:57) Эли4ка написал(а):
m4a1fox
я немного не правильно выразилась..вот так понятнее?
есть два переключателя если выбрали первый то выполняет одно действие..если другой переключатель другое действие..
и скажите разве этот код верно написан?

$ok = htmlspecialchars($last_name);
$ok = trim($last_name);
//Выбираем все записи где в поле "Фамилия" что то записано
$sql=mysql_query("SELECT * FROM `members` WHERE last_name='$last_name'");
//В переменной $res сохраняем результаты выборки

может надо так?-
$ok = htmlspecialchars($last_name);
$ok = trim($last_name);
//Выбираем все записи где в поле "Фамилия" что то записано
$sql=mysql_query("SELECT * FROM `members` WHERE last_name='$ok'");
//В переменной $res сохраняем результаты выборки

Спустя 8 минут, 2 секунды (8.11.2011 - 14:05) m4a1fox написал(а):
Эли4ка
Цитата
$ok = htmlspecialchars($last_name);
$ok = trim($last_name);
//Выбираем все записи где в поле "Фамилия" что то записано
$sql=mysql_query("SELECT * FROM `members` WHERE last_name='$ok'");
//В переменной $res сохраняем результаты выборки

Да, верно заметила.

Но можно и так

$ok = htmlspecialchars(trim($last_name));
//Выбираем все записи где в поле "Фамилия" что то записано
$sql=mysql_query("SELECT * FROM `members` WHERE `last_name`='".$ok."' ");
//В переменной $res сохраняем результаты выборки

///////
P.S.
Может и ошибаюсь, но можно попробовать и так

//Выбираем все записи где в поле "Фамилия" что то записано
$sql=mysql_query("SELECT * FROM `members` WHERE `last_name` = '".htmlspecialchars(trim($last_name))."'");
//В переменной $res сохраняем результаты выборки

А вдруг :)

Спустя 18 часов, 10 секунд (9.11.2011 - 08:05) Эли4ка написал(а):
спасибо..а можно рекомендации на вопрос выше?

Спустя 46 минут, 9 секунд (9.11.2011 - 08:51) Эли4ка написал(а):
а что делает этот код?
if (isset($_GET['query']))
$query = $_GET['query'];
if (isset($_GET['search']))
$search = $_GET['search'];
if (isset($_GET['domain']))
$domain = $_GET['domain'];
if (isset($_GET['type']))
$type = $_GET['type'];
if (isset($_GET['catid']))
$catid = $_GET['catid'];
if (isset($_GET['category']))
$category = $_GET['category'];
if (isset($_GET['results']))
$results = $_GET['results'];
if (isset($_GET['start']))
$start = $_GET['start'];
if (isset($_GET['adv']))
$adv = $_GET['adv'];

Спустя 10 минут, 11 секунд (9.11.2011 - 09:01) imbalance_hero написал(а):
Эли4ка
Полный бред smile.gif Инициализирует переменные, когда можно работать напрямую с $_GET или $_POST smile.gif

Спустя 3 минуты, 30 секунд (9.11.2011 - 09:05) Эли4ка написал(а):
скажите,а можно ли таким путем проверять ввел ли что-то пользователь или нет?

Спустя 4 минуты, 36 секунд (9.11.2011 - 09:09) imbalance_hero написал(а):
!empty на то, что тебе надо.

Спустя 1 минута, 55 секунд (9.11.2011 - 09:11) Эли4ка написал(а):
понятно,спасибо.

Спустя 2 часа, 59 минут, 57 секунд (9.11.2011 - 12:11) Эли4ка написал(а):
а как узнать вес изображения,функцию можно..и как узнать какие цвета у изображения на фото?А также-как создать оригинальному изображению его копии только с другими расширениями?допустим gif,bmp,tiff ??

Спустя 4 часа, 12 минут, 10 секунд (9.11.2011 - 16:23) imbalance_hero написал(а):
Эли4ка
gb - библиотека для работы с графикой на php smile.gif

Спустя 16 часов, 31 минута, 12 секунд (10.11.2011 - 08:54) Эли4ка написал(а):
imbalance_hero
нет,мне функции нужны..про библиотеку я знаю..

Спустя 1 час, 41 минута, 15 секунд (10.11.2011 - 10:36) sharki написал(а):

Спустя 11 минут, 1 секунда (10.11.2011 - 10:47) Ramzil_Nixon написал(а):
Цитата (Эли4ка @ 5.11.2011 - 01:08)
Когда переменная пуста запрос к БД все равно идет..почему?где неточность?


<?php
include ('connect.php');

if(!empty($_POST['last_name']))
{
$last_name = $_POST['last_name'];
//Выбираем все записи где в поле "Фамилия" что то записано
$sql="SELECT * FROM members WHERE last_name='$last_name'";
//В переменной $res сохраняем результаты выборки
$res=mysql_query($sql);
echo 'Выбранные данные:';
//В цикле выводим по очереди все полученные строки
while ($memberinfo=mysql_fetch_array($res))
{
echo '<br /> <br />
'
.$memberinfo["last_name"].' <br />

'
;
}
}

else
{
// Сюда можете ввести сообщение которое будет выводитсья пользователя в случае если он ничего не ввел, если ничего не хотите сделать, то просто уберите else { ... }
}
?>


Ну вроде так

Спустя 21 час, 58 минут, 22 секунды (11.11.2011 - 08:45) Эли4ка написал(а):
sharki
глянула..конечно не совесем поняла но буду копаться..
Ramzil_Nixon
спасибо.

Спустя 4 часа, 52 минуты, 12 секунд (11.11.2011 - 13:37) Эли4ка написал(а):
Подскажите пожалуйста в чем ошибка этого кода?
<?php
include('config.php');
$searchq = $_GET['name'];
$getName = mysql_query('SELECT * FROM 'select' WHERE 'date' LIKE %'.addslashes($searchq).'% ');
while ($row = mysql_fetch_array($getName))
echo $row['name'] . '<br/>';
?>

Спустя 7 минут, 38 секунд (11.11.2011 - 13:45) imbalance_hero написал(а):
Эли4ка
А по коду не видно проблем с кавычками?

Спустя 20 часов, 35 минут, 9 секунд (12.11.2011 - 10:20) Эли4ка написал(а):
точно..спасибо..как я не заметила?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.