[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа над моим сайтом
Страницы: 1, 2
SmorodinKA
Здравствуйте. Сразу хочу сказать, что я не профессиональный программист, я вообще не программист, хотя и есть опыт создания сайтов (было дело, баловался). Вот решил создать сайт, посещенный фермерству, так как сам живу в поселке и есть небольшой хозяйство.

Сайт почти готов. В этой теме я хочу задавать неясные мне вопросы, а далее получать критику. Надеюсь, мою тему не заблокируют.

И вот у меня возник такой вопрос:

Есть в БД таблица `users`, там есть поля id_country, id_area, id_settlement. Значения для этих полей берутся из трех таблиц:

country
id
name

area
id
id_country
name

settlement
id
id_area
name

У каждого пользователя на странице мне надо вывести название страны, области и города. Как лучше сделать, чтобы не делать это тремя запросами?

Спасибо.
GET
SELECT 
`users`.`name` AS `login`,
`country`.`name` AS `country`,
`area`.`name` AS `area`,
`settlement`.`name` AS `settlement`
FROM `users`,`country`,`area`,`settlement`
WHERE
`users`.`id`='$id' AND
`country`.`id`=`users`.`id_country` AND
`area`.`id`=`users`.`id_area` AND
`settlement`.`id`=`users`.`id_settlement`


Хотя подозреваю экономичнее у юзера хранить только id_settlement, а через него уже вытащить остальное -> в обратном порядке.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
GET
Чуть поправил.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
GET
Цитата
Как лучше сделать, чтобы не делать это тремя запросами?

Кстати, иногда простые одиночные запросы лучше, чем объединение таблиц, особенно в тех случаях когда они тяжелые или используется сортировка.

_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
SmorodinKA
Сообразил вот такой код:

$query = mysql_query("SELECT `users`.`name` AS `login`, `country`.`name` AS `country`, `area`.`name` AS `area`, `settlement`.`name` AS `settlement` 
WHERE `users`.`email`='"
.$my_row['email']."' AND country`.`id`='".intval($my_row['id_country'])."' AND `area`.`id`='".intval($my_row['id_area'])."'
AND `settlement`.`id`='"
.intval($my_row['id_settlement'])."' ") or die(mysql_error());


Выдает ошибку:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `users`.`email`='0konstantin.smorodin@gmail.com' AND `country`.`id`='1' AN' at line 1

И вопрос по сайту:
Если первоначально заполнение произвести при помощи парсера с другого сайта, как на это отреагируют поисковики?
GET
Цитата
Выдает ошибку:


Забыл блог FROM

Цитата
FROM `users`,`country`,`area`,`settlement`



_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
SmorodinKA
Добрый вечер. Поздравляю всех с такой сложной ничьей в матче против сборной Англии.

Появился вопросик: визуальный редактор на сайте при добавлении материала (в частности, картинки) прописывает тег img, то есть в базу записывается <img src="xxxx">. Можно ли, при выводе информации из БД всем картинкам прописать width?

Спасибо.
Миша
Цитата (SmorodinKA @ 12.06.2016 - 18:04)
Добрый вечер. Поздравляю всех с такой сложной ничьей в матче против сборной Англии.

wink.gif Твоя правда ))

_____________
Принимаю заказы, писать в ЛС
SmorodinKA
Хорошо, изменить ширину картинки, размещенной в заметке, я могу с помощью css:

#note img {
width: 300px;
}


Вот как сделать, чтобы изменение происходило только, если ширина картинки более 300px?
Миша
Не совсем понял что требуется - js:
var width_img = document.getElementById("imgID").width;
if (width_img <= 300) {
document.getElementById("imgID").style.width = "250px";
}


_____________
Принимаю заказы, писать в ЛС
SmorodinKA
Медведь

Надо выбрать все <img>, расположенные в рамках одного <div> и назначить им ширину 300px, если их ширина более этих самых 300px.
Миша
Эти изображения (ссылки на них) получаешь из DB? Если да, то покажи как они хранятся в базе данных.

_____________
Принимаю заказы, писать в ЛС
SmorodinKA
Медведь

Они хранятся в виде текста, например:

"Шла Маша по шоссе и сосала шушку <br> <img src="sushka.jpg">"

Поле имеет тип text.
kaww
Цитата (SmorodinKA @ 14.06.2016 - 01:41)
Надо выбрать все <img>, расположенные в рамках одного <div>
SmorodinKA
kaww

Получился вот такой код:

      function Load() {
var elems = document.querySelectorAll("#note img");
for (var i = 0, cnt = elems.length; i < cnt; i++) {
if (elems[i].width > 300) {
elems[i].style.width = '300px';
}
}
}


Можно его как-то оптимизировать?
Быстрый ответ:

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