|
|
|
| Хочу сделать сайт знакомств... вот. Как организовать поиск? Может кто подскажет что куда заносить при регистрации?? :) | |
|
|
|
|
|
|
|
для: Job
(29.05.2007 в 00:15)
| | В SQL базу?...
В каждый столбик свои данные, Рост, Вес, Возраст... | |
|
|
|
|
|
|
|
для: Бамси
(29.05.2007 в 00:18)
| | Да, но потом как поиск сделать? Можно примеры? Если не сложно...
А если на файлах? | |
|
|
|
|
|
|
|
|
для: Job
(29.05.2007 в 01:20)
| | >А если на файлах?
Реализовать на файлах такой проект - на два-три порядка более сложная задача. | |
|
|
|
|
|
|
|
для: Trianon
(29.05.2007 в 09:57)
| | >Реализовать на файлах такой проект - на два-три порядка более сложная задача.
Значит я крутой? :)
Я вот что придумал, при регистрации всё распределяется по папкам
Если парень в папке boy создаётся папка с ориентацией (getero bi gay) в папке ориентации создаётся папка с годом рождения, в папке года рождения папка города. И только в эту папку заносится файл с именем пользователя...
И поиск тогда уже можно будет осуществлять...
Но в лакале то всё быстро работает, а вот на сервере..... не знаю как будет...
А можете показать как в MySQL Сделать? Я пока не брался за его изучение... :) | |
|
|
|
|
|
|
|
для: Job
(29.05.2007 в 11:37)
| | > Значит я крутой? :)
Выкидывайте код, мы оценим 'степень крутизны'...
:-)
> Если парень в папке boy создаётся папка с ориентацией (getero bi gay) в папке ориентации создаётся папка с годом рождения, в папке года рождения папка города. И только в эту папку заносится файл с именем пользователя...
Как в атомной физике:
....результат отличается от движения в потенциальной яме бесконечной глубины, где отрицательная энергия дискретных уровней неограниченно растёт по абсолютной величине. Различие обусловлено степенью крутизны потенциальной функции.
> И поиск тогда уже можно будет осуществлять...
И в SQL тоже...
> Но в лакале то всё быстро работает, а вот на сервере..... не знаю как будет...
Ход мыслей правильный
Думаю стоит забыть про файлы и взять учебник по MySQL, определенно поможет... | |
|
|
|
|
|
|
|
для: mefestofel
(29.05.2007 в 11:53)
| | А почему в MySQL быстрее будет? Если поиск по файлам вот так можно будет сделать допустим выбираем пол если пол женский и ищут парня, ищем в папке boy getero допустим возраст от 20 до 26 лет значит поиск разветвляется на несколько папок, ну и наконец если город который нужен, тогда просто вывести все имена пользователей...
А в MySQL всё в одной таблице будет, там же поиск дольше будет, тем более если пользователей много.
>Думаю стоит забыть про файлы и взять учебник по MySQL, определенно поможет...
Да, но время поджимает, *Стоя на коленях* пожалуйста если не сложно выложите пример занесения в базу данных, я пойму... разберусь... | |
|
|
|
|
|
|
|
для: Job
(29.05.2007 в 12:03)
| | >А почему в MySQL быстрее будет?
Потому что MySQL тоже обращается к директориям и файлам, однако написана на C причём из кода выжали по скорости всё, что только можно. PHP - интерпретатор, даже если вы выжимаете всё, быстрее чем на C у вас не выйдет. Кроме того, часть данных MySQL хранит в оперативной памяти - на PHP у вас это просто не выйдет - будете каждый раз обращаться к медленным дискам. Они конечно тоже кэшируются, но учитывая объём директорий и данных - вероятно это не сильно будет помогать, так как данные из кэша будут быстро уходить.
>пожалуйста если не сложно выложите пример занесения в базу данных
Возможно вас заинтересует тема по ссылке http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=19122. | |
|
|
|
|
|
|
|
для: Job
(29.05.2007 в 00:15)
| | Прошу прощения, но делать такой проект (если, конечно, он будет иметь приличную посещаемость) на файлах - это как в том анекдоте про бывшего гинеколога, который пришел работать автослесарем и в качестве вступительного испытания разбирал и собирал движок, набрав 10 баллов из пяти возможных. Почему десять? А потому что через выхлопную трубу.
Делать вы это будете дольше, чем даже изучать MySQL. И работать будет меееедленно-мееедленно... | |
|
|
|
|
|
|
|
для: Киналь
(29.05.2007 в 12:42)
| | Так, немного разобрался...
вот так заносятся данные
"INSERT INTO member VALUES ('имя пользователя', 'пароль', 'e-mail', 'пол', 'ориентация', 'год рождения', 'Город');"
База данных Love
Как сделать поиск? :)
И ещё сразу вопрос. Допустим если пользователь хочет изменить E-mail как это можно устроить? | |
|
|
|
|
|
|
|
для: Job
(29.05.2007 в 16:03)
| | update users set email='new@email' where id='id of user' | |
|
|
|
|
|
|
|
для: bronenos
(29.05.2007 в 16:16)
| | Ну с этим вроде всё понятно... а поиск? Как поиск? :) | |
|
|
|
|
|
|
|
для: Job
(29.05.2007 в 18:28)
| | Самый простой - это с помощью слова like:
$search = "sexy";
$q = mysql_query("SELECT * FROM uses WHERE nick LIKE '$search*'");
// найдет sexy, sexy_girl и т.д.
|
Можно (а может, и нужно) устроить полнотекстовый поиск, позволяющий использовать регулярные выражения, короткие слова и прочие навороты. Если вам навороты не нужны, то LIKE вполне хватит. | |
|
|
|
|
|
|
|
для: Киналь
(29.05.2007 в 22:11)
| | В LIKE используется не "*", а "%". | |
|
|
|
|
|
|
|
для: Unkind
(29.05.2007 в 22:31)
| | А как результаты вывести?
Делаю так
<?
require_once("config.php");
$search = "Job";
$query = ("SELECT * FROM member WHERE name LIKE '$search%'");
// member это название таблицы а name поле где искать да?
if(!mysql_query($query)) exit(mysql_error());
else echo "<center>Успешный запрос<br></center>";
?>
|
ничего не происходит :( | |
|
|
|
|
|
|
|
для: Job
(02.06.2007 в 15:03)
| |
<?php
require_once("config.php");
$search = "Job";
$query = ("SELECT * FROM member WHERE name LIKE '$search%'");
// member это название таблицы а name поле где искать да?
if(!($sql = mysql_query($query))) exit(mysql_error());
else echo "<center>Успешный запрос<br></center>";
while($member = mysql_fetch_assoc($sql))
{
echo($member["name"] . "<br />\r\n");
}
?>
|
| |
|
|
|
|
|
|
|
для: Unkind
(02.06.2007 в 16:18)
| | А как поиск по нескольким значением сделать? | |
|
|
|
|
|
|
|
для: Job
(02.06.2007 в 19:30)
| | Допучтим ищут имя пользователя Job и e-mail job@vob.ru и чтобы вывелись результаты только соответсвующие запросу.... | |
|
|
|
|
|
|
|
для: Job
(02.06.2007 в 22:48)
| |
SELECT * FROM `tbl` WHERE `name` = 'Job' AND `email` = 'job@vob.ru';
|
Если нужно - замените "=" на "LIKE". | |
|
|
|
|
|
|
|
для: Unkind
(02.06.2007 в 23:08)
| | Отлично! Спасибо!
А как сделать поиск допучтим от 19 до 35 лет?
вот такой запрос:
SELECT * FROM `member` WHERE `pol` = '$pol' AND `orient` = '$orient' AND `god` = '$god';
|
| |
|
|
|
|
|
|
|
для: Job
(03.06.2007 в 14:18)
| |
SELECT * FROM `member` WHERE `pol` = '$pol' AND `orient` = '$orient' AND `god`>=1972 AND `god`<=1988;
|
| |
|
|
|
|
|
|
|
для: Job
(29.05.2007 в 00:15)
| | Спасибо всем огромное, вы очень помогли! | |
|
|
|