Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RFpro.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Хватов Сергей
Статус: Академик
Рейтинг: 24
∙ повысить рейтинг »
SAW
Статус: Студент
Рейтинг: 0
∙ повысить рейтинг »
Асмик Гаряка
Статус: Советник
Рейтинг: 0
∙ повысить рейтинг »

∙ PHP / Perl / Python

Номер выпуска:1333
Дата выхода:22.11.2020, 20:45
Администратор рассылки:Коцюрбенко Алексей Владимирович (Старший модератор)
Подписчиков / экспертов:25 / 16
Вопросов / ответов:3 / 10

Консультация # 89124: Здравствуйте! Пишу интернет-магазин и столкнулся с такими вопросами: 1) в результате запроса к БД я получаю массив результатов, содержащий информацию о товарах. Сначала с помощью функции mysql_fetch_array() я создаю список цветов товара (для того чтобы посетитель мог по ним сортировать товар). а ниже хочу поместить список товаров (из этого ...
Консультация # 166482: Здравствуйте! При роследнем обновлении сайта по ftp заметил, что в каждой директории лежит странный файл под названием rikersd.php Особенно это странно, что я такого действа не совершал... smile Подозрение на вирус, но DrWeb 5.0 молчит. А вы что ск...
Консультация # 173821: Уважаемые эксперты подскажите пожалуйста ресурсы начинающему программисту. В данный момент изучаю php на курсах, но к сожалению информацию дают очень поверхностно, галопом по Европе так сказать. Через неделю заканчиваютя, а я так чувствую, что в голове кроме синтасика php ничего нет. Суть вот в чем. Делаю для себя интернет-магазин. Начала писать...

Консультация # 89124:

Здравствуйте!
Пишу интернет-магазин и столкнулся с такими вопросами:
1) в результате запроса к БД я получаю массив результатов, содержащий информацию о товарах. Сначала с помощью функции mysql_fetch_array() я создаю список цветов товара (для того чтобы посетитель мог по ним сортировать товар). а ниже хочу поместить список товаров (из этого же запроса). Вопрос в следующем: можно ли как-то вернуться к началу результата запроса после того, как выбрал от туда цвета. Я не смог ничего придумать и просто повторил этот же запрос второй раз.
2) у товара есть фото большого размера, нужно выводить еще и маленькую. Что лучше сделать: в каком-то редакторе сделать маленькую копию фотографии или просто выводить её уменьшенную с помощь параметров width и height. Задача состоит в том чтобы, страница загружалась как можно быстрее.

Заранее благодарен.

Дата отправки: 29.05.2007, 16:47
Вопрос задал: BerdArt
Всего ответов: 5
Страница онлайн-консультации »


Консультирует Yurio:

Здравствуйте, BerdArt!
На счет первого вопроса к сожалению не отвечу, а вот насчет второго - однозначно делать "превьюшки" товаров. Я сам писал каталог товаров, и выбрал такой путь решения данной задачи, так как таким образом:
1. Уменьшается траффик сервера
2. ЗНАЧИТЕЛЬНО ускоряется время загрузки страницы, так как если оставлять картинки е изменяя их размер, а просто сжимать их тегами, картинка передается в первоначальном размере, а "сжимается" уже напосредственно в браузере конечного пользователя Вашего сайта.

Консультировал: Yurio
Дата отправки: 29.05.2007, 16:57
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует PVS:

Здравствуйте, BerdArt!
1)Можно: int mysql_data_seek (int result_identifier, int row_number)
2)Задавая width и height Вы ничего не выигрываете: грузится вся картинка (не уменьшеная) и уже в бровзере уменьшается. Так что лучше создать уменьшеную копию, но не обязательно в редакторе, можно и графическими функциями php в момент загрузки фото на сайт (если сервер мощный, то можно создавать во время просмотра, но так медленнее будет)

Консультировал: PVS
Дата отправки: 29.05.2007, 17:04
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Straight:

Здравствуйте, BerdArt!
1) Не стоит использовать функцию mysql_fetch_array() непосредственно в коде формирования страницы. Создайте с ее помощью массив информации, а уже этот массив используйте в цикле при формировании страницы - два раза и более. Такой подход решает не только Вашу проблему, но и отделяет механизм хранения/чтения информации от механизма формирования страницы - это поможет Вам если Вы вдруг решите поменять дизайн сайта.
2) Однозначно нужно делать маленькие копии. Во-первых, это уменьшает траффик, а во-вторых, браузеры выполняют масштабирование изображений с качеством, далеким от желаемого. Кстати, графические функции PHP также в этом плане далеки от идеала.

Консультировал: Straight
Дата отправки: 29.05.2007, 17:10
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Nexus:

Здравствуйте, BerdArt!

1) а точно ли запрос один и тот же? с цветами ты ж наверное выдергиваешь с distinct, чтобы они не повторялись? В принципе ты можешь либо вытащить сначала цвета с distinct\'ом, а потом вторым запросом весь список товаров. Либо получить массив - табличку с названием товара и цветом через mysql_fetch_assoc, а потом пробежаться по ней и отрисовать все товары и все цвета, но цвета придется проверять на несовпадение... Например, при отрисовке цвета создавать в массиве элемент с ключем - названием цвета. На несовпадение проверять через array_key_exists. в реализации вариант с двумя запросами конечно проще, а на счет скорости - не знаю, думаю на большой базе он будет медленнее.

2) при загрузке картинки нужно создавать ее уменьшенную копию и выводить ее. если ты задашь width и height у тебя все-равно будет подгружаться большая картинка, а потом масштабироваться браузером, так что этот вариант не годится. код ресайза картинки в аттаче

Приложение:

Консультировал: Nexus
Дата отправки: 29.05.2007, 17:11
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Цепковский Антон Сергеевич:

Здравствуйте, BerdArt!

1) Делаем примерно так:
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . mysql_error());
mysql_select_db("mydb");

$result = mysql_query("SELECT id, name, color FROM mytable");

while ($row = mysql_fetch_array($result)) {
printf ("ID: %s color: %s", $row[0], $row[2]);
}

while ($row = mysql_fetch_array($result)) {
printf ("ID: %s name: %s", $row[0], $row[1]);
}

mysql_free_result($result);
?>

Результат запроса хранится в переменной $result, в первом цикле перебираете все полученные записи и работаете с цветами товаров, во втором поновой перебираете записи и работаете непосредственно с товарами.

2. В идеале, конечно в ручном режиме делать маленькие картинки и оптимизировать для web\'а. Не выводите маленькие картинки, уменьшая размер картинки при помощи параметров width и height - картинка все равно будет загружаться большая, только потом браузер будет изменять размер перед выводом.
Я бы сделал так: написал скрипт на php, который на лету уменьшает размер большой картинки. Но данный метод требует серьезной проработки: ведь картинки могут быть разных форматов (gif, jpeg, png) и разных размеров и пропорций. Но все это решаемо при использовании библиотеки GD или GD2 - вот пример уменьшения исходной картинки в 2 раза:
<?php
// The file
$filename = \'test.jpg\';
$percent = 0.5;

// Content type
header(\'Content-type: image/jpeg\');

// Get new dimensions
list($width, $height) = getimagesize($filename);
$new_width = $width * $percent;
$new_height = $height * $percent;

// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

// Output
imagejpeg($image_p, null, 100);
?>

В данном случае можно сохранив скрипт под названием resample.php и настроив прием имени исходной картинки из $_GET-массива использовать на странице теги <img src="resample.php?file=test.jpg"> и Вы будете получать уменьшенную в 2 раза картинку. Т.е. ссылка resample.php?file=test.jpg - это ссылка на картинку.

С уважением,
Антон Цепковский.

Приложение:

Консультировал: Цепковский Антон Сергеевич
Дата отправки: 30.05.2007, 02:11
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 166482:

Здравствуйте!
При роследнем обновлении сайта по ftp заметил, что в каждой директории лежит странный файл под названием rikersd.php
Особенно это странно, что я такого действа не совершал... smile
Подозрение на вирус, но DrWeb 5.0 молчит. А вы что скажете?
Содержание файла привожу ниже.

Дата отправки: 05.05.2009, 00:55
Вопрос задал: Шевченко Максим Викторович
Всего ответов: 1
Страница онлайн-консультации »


Консультирует HookEst:

Здравствуйте, Шевченко Максим Викторович!
Это скрипт, который позволяет отправлять файлы или сообщения по email через Ваш сервер, посредством HTTP запроса. DrWeb, конечно, будет молчать...
Использование таких имен функций как "VEsnJlkN" и "ueyrHNFD", а также вывод "PageNotFound" указывает на то, что скорее всего этот скрипт Вам принесли злоумышленики, а не, например, "хостер". Возможно Ваш домен хотят использовать для рассылки спама. Меняйте пароль доступа на ftp да удаляйте все эти скрипты. Вообще-то нужно удалять все что не Ваше и не "хостера".
Успехов.

Консультировал: HookEst
Дата отправки: 05.05.2009, 02:42

5
нет комментария
-----
Дата оценки: 01.01.2008, 00:00

Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 173821:

Уважаемые эксперты подскажите пожалуйста ресурсы начинающему программисту.
В данный момент изучаю php на курсах, но к сожалению информацию дают очень поверхностно, галопом по Европе так сказать. Через неделю заканчиваютя, а я так чувствую, что в голове кроме синтасика php ничего нет. Суть вот в чем. Делаю для себя интернет-магазин. Начала писать в html, но поскольку прас большой дело сие неблагодарное. Подскажите пожалуйста книгу или сайт, на котором более-менее понятно все расписано для новичка. Спасибо.

Дата отправки: 29.10.2009, 16:08
Вопрос задал: Лилиана Ноевна
Всего ответов: 4
Страница онлайн-консультации »


Консультирует Товарищ Бородин:

Здравствуйте, Лилиана Ноевна.
Я Вам могу посоветовать книжный интернет-магазин books.ru. Сей интернет-магазин содержит достаточно большое число книг как по непосредственно PHP, так и по PHP в прикладном аспекте. В том числе и по интернет-магазинам я там видел достаточно большую подборку, но таких книг я не покупаю, ибо предпочитаю, во-первых, допереть самостоятельно, а во-вторых, я заложник стиля smile И на чистом PHP я уже писать программы отвык напрочь, а в книжках не учат писать интернет-магазины с помощью Zend Framework. Поэтому посоветовать конкретную книжку не смогу.

Я бы Вам советовал поглубже изучить сам PHP - так Вы сможете лучше написать свой магазин. В книжке Вы получите в лучшем случае несколько вариантов того, как сделать тот или другой "узел".

Между тем, такое приложение, как интернет- магазин, подразумевает следующие "узлы":

  • ACL - access control list - Контроль доступа к ресурсам
  • Распределение пользователей по группам(например, гость, зарегистрированный участник - клиент, администратор)
  • Каталогизация товаров
  • Система обработки пользовательских заказов
  • Ну и, естественно, должен быть такой модуль в приложении, который отвечает за оплату заказа клиентом


Все это требует не только соответствующей структуры базы данных, но и соответствующего PHP-кода. Из книжки по созданию интернет-магазинов Вы этому вряд ли научитесь(я могу об этом говорить с уверенностью, потому что в литературе по PHP ориентируюсь неплохо - библиотека у меня достаточно большая, а вообще, книг по PHP я передержал в руках уже несчетно).
Лучший вариант для Вас - изучать язык, а по мере того, как Вам понадобится что-то писать, спрашивать здесь. Я Вам с удовольствием помогу в решении конкретной задачи.
С уважением, Товарищ Бородин

Консультировал: Товарищ Бородин
Дата отправки: 29.10.2009, 16:54
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Волков Алексей:

Здравствуйте, Лилиана Ноевна.
очень рекомендую найти, в частности, именно эту книгу - Голышев С., Кузнецов А. В., Симдянов И. PHP 5 на примерах - однако и другие книги этих авторов отличаются удивительной доступностью изложения.
Что касается процитированной книги, то она хороша тем, что содержит основные приёмы программирования на примере написания простых вариантов "узлов", о которых говорил уважаемый Товарищ Бородин. Крайне рекомендую.
И, конечно, не забывайте сайт PHP - это поможет Вам не "изобретать велосипед".
С уважением,
Волков Алексей

Консультировал: Волков Алексей
Дата отправки: 29.10.2009, 17:59
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Cimus:

Здравствуйте, Лилиана Ноевна!
Книг по PHP действительно много и выбор затруднителен. И во всём многообразии достаточно редко попадаются качественные издания.
Прочитав книжку невозможно написать Интернет-магазин, хотя можно глубже изучить сам язык.
Сейчас у меня на полке стоит около 7 книг и ещё больше в электронном виде, но порекомендовать могу только одну, написанную авторами PHP и ZEND ENGINE 2.

PHP 5. Библиотека профессионала (3-е издание)
Издательство: Вильямс, 2006 г.
Мягкая обложка, 944 стр.
ISBN 5-8459-0735-7, 0-13-046346-9
Авторы - Леон Аткинсон, Зеев Сураски

В данной книге Вы найдёте ответы на вопросы - как управлять структурами данных, применять регулярные и математические выражения, работать с графикой, организовывать интерфейс с СУБД MySQL, познакомитесь с паттернами программирования, освоите ООП и найдёте для себя достаточно много интересного. Книга написана на языке, который понятен начинающим, в ней нет «заумных фраз» , все примеры достаточно подробно комментируются. На мой взгляд, это отличная книга для тех, кто хочет изучить PHP.

Купить и полистать можно на ozon.ru.

Консультировал: Cimus
Дата отправки: 29.10.2009, 22:56
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Maska:

Здравствуйте, Лилиана Ноевна!

Посоветовала бы прочитать книгу Лаура Томсон, Люк Веллинг "Разработка Web-приложений на РНР и MySQL". Первая часть книги посвящана непосредственно основам php. Во второй части книги разобраны практическкие примеры разработки web-приложений, в частности вопросы авторизации, витрины и построения покупательской корзины, с побробным описанием и примеров скриптов.

Также, для работы с фукциями может пригодиться справочник по php c сайта разработчиков http://www.php.net/docs.php, в справочнике содержиться подробная информация по функциям языка и примерами их использования.

С уважением, maska!

Консультировал: Maska
Дата отправки: 02.11.2009, 03:52
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное