|
|
|
| Ситуация состоит в следующем.Я написал скрипт вывода картинки динамически из папки по 5 картинок в ряд.Как ПРИКРУТИТЬ К ЭТОМУ КОДУ динамический вывод к каждой из этих картинок alt и title.
<?php
$dir='images/katera/plastic/'.$myrow['fotop'].'/';
$i=0;
if ($handle = opendir($dir))
{
while (false !== ($file = readdir($handle)))
{
if ($file != "." && $file != "..")
{
echo "<a id='thumb1' href='images/katera/plastic/".$myrow['fotop']."/".$file."' class='highslide' onclick='return hs.expand(this)'><img border='0' src='images/katera/plastic/".$myrow['fotopthumb']."/".$file."' width='61' height='61' class='highslide' title='Нажмити для увеличения'></a>";
$i++;
if ($i >= 5) {echo "<br>"; $i=0;}
}
}
closedir($handle);
}
?> | |
|
|
|
|
|
|
|
для: luserz
(23.05.2011 в 17:47)
| | динамический вывод в моем понимании это при использовании AJAX
у Вас же вроде обычный тег img
title='Нажмити для увеличения'
не отображается?
каким браузером проверяете?
__
у Вас динамическое формирование HTML-кода, это немножко другое | |
|
|
|
|
|
|
|
для: luserz
(23.05.2011 в 17:47)
| | Насколько видно из кода, тэг title уже заполнен. А где находится источник alt и title-записей? Массив $myrow откуда берется и что содержит? | |
|
|
|
|
|
|
|
для: cheops
(23.05.2011 в 18:04)
| | Да верно заполнен, но не тем!Надо под каждую фотку сделать свой title!Я вот и думаю откуда их взять...можно под каждую папку с фотографиями сделать txt документ в котором будет к примеру 20 alt прописано.php код должен брать тег alt из txt документа и подставлять к определенной фотографии!Сайт сгенерирован php и данные берутся из mysql. делать в mysql отдельное поле для каждой фотографии накладно и в каждой папке разное кол-во фотографий .Можно ли также подсасывать эти alt'ы из папки грубо говоря...так же как и фото???И каким боком это можно ваплотить?? | |
|
|
|
|
|
|
|
для: luserz
(23.05.2011 в 18:51)
| | Хм... а почему в базе данных эти данные хранить накладно? Вроде даже удобно, когда все в одном месте. Причем не обязательно прямо в той же таблице, где фотографии хранятся, можно создать отдельную таблицу для alt и title и связать их с таблицей фотографий.
Да можно предумотреть текстовый файл в котором описанию фотографии будет сопоставлен её номер (или путь) из базы данных. Однако, мне всегда казалось, что удобнее такие данные размещать именно в базе данных. Файл нужно открывать, разбирать, перед этим составлять, сверяясь с базой данных... | |
|
|
|
|
|
|
|
для: cheops
(23.05.2011 в 18:57)
| | еще один плюс хранения алтьов и тайтлов в базе - это то что можно отсортировать фотографии по ним (если понадобиться)
два поля в таблице абсолютно не помешают
минусов ноль
плюсов уйма
___
работа с текстовыми файлами - для мазохистов :) | |
|
|
|
|
|
|
|
для: cheops
(23.05.2011 в 18:57)
| | Суть в том что, фотографии хранятся не в таблице, а в папке.Код подставляет только название этой папки в которой хранятся фото, и она вытягивает динамически их все по 5 в ряд.Нужно чтобы к каждой фотографии был свой alt.C базой данных они не как не связаны!Вот пример http://www.nordbriz.com/lodka_alum_wellboat_opis.php?id=3.Под главной фотографией! | |
|
|
|
|
|
|
|
для: luserz
(23.05.2011 в 19:15)
| | $myrow['fotop'] - это что? папка? и она не из базы? | |
|
|
|
|
|
|
|
для: Valick
(23.05.2011 в 19:36)
| | сюда подставляется название папки где лежат эти фотографии.Он их пакетно выводит в цикле.Как каждой из фотографии задать свой тайтл в этом же цикле!? | |
|
|
|
|
|
|
|
для: luserz
(23.05.2011 в 19:38)
| | Название папки лежит в базе...сама папка лежит на серваке! | |
|
|
|
|
|
|
|
для: luserz
(23.05.2011 в 19:39)
| | то что она на серваке это "ежу понятно" :)
а текст изобилующий восклицательными знаками признак дурного тона при сетевом общении
на лицо неверный подход к хранению фото
в Вашем случае действительно лучше создать папки alt и title в папке $myrow['fotop']
(и в папке $myrow['fotopthumb'] если к ноготкам нужны отдельные альт и тайтл)
имена файлов будут идентичными с именами фото
хотя в любом случае гемор обеспечен изначально
и дело не в том что я такой бяка и мне ненравиться Ваш (или не Ваш) подход
в общей сложности нужно каждый раз будет открывать и закрывать 10...20 файлов
а это не очень большая, но всетаки лишняя нагрузка на сервак
а если хранить все в одном файле, то замороч будет с установлением связи
чей это альт или тайтл и к какой фотке его прилепить
__
но лично я бы этого не делал, а приводил все в нормальный вид
когда имена фотографий храняться в БД, там же и альты и тайтлы и еще куча нужной информации | |
|
|
|
|
|
|
|
для: Valick
(23.05.2011 в 19:47)
| | т.е под каждый товар прописывать в базе свою фотографию, свой тайтл, свой alt.Все делать ручками?.я просто хотел ка-то это автоматизировать.А если в каждую папку сувать txt файл и он бы делал выборку из него названий, которые бы соответствовали названию картинки?Тогда это уменьшило бы кол-во работы? Если есть выриант как можно это сделать я бы выслушал?Или предложите как из этого можно положения выйти.Фотографий более 10.000 и в mysql прописывать каждую...чекнуться можно!А так закинул в папку.каким-нибудь образом в цикле вывел alt....и все? | |
|
|
|
|
|
|
|
для: luserz
(23.05.2011 в 20:16)
| | про прописывание ручками имен фото речи вообще не идет
работа руками идет вразрез с философией программирования :)
как это сделать и сколько это стоит этот вопрос выходит за рамки данного форума
ключевое слово в ваших словах это каким-нибудь образом
Вам это кажется легким потому что Вы не имеете представления об этом
как только начнете воплощать в жизнь "хапните горя"
в принципе проблемы у Вас уже очень большие и Все от неверного подхода изначально
тут нельзя помочь двумя словами и тремя строчками кода
закономерно возникет вопрос откуда Вы будете брать альты и тайтлы к 10000 фоток и каков процент их уникальности? | |
|
|
|
|
|
|
|
для: Valick
(23.05.2011 в 20:30)
| | Процент уникальности 80%. Я не прошу выложить тут код, как это сделать. Я хочу поинтересоваться как бы вы это сделали?Или кто-то другой!Понять какой лучший выход есть из данной ситуацией.Это же форум я общаюсь, если бы мне нужно было купить этот скрипт я бы наверно пошел к каму-нибудь программеру и заплатил, я хочу сам учиться и выходить из своих косяков делясь опытом и советом с другими! | |
|
|
|
|
|
|
|
для: luserz
(23.05.2011 в 20:41)
| | дык об этом то и речь, процент не очень радует, это получается из 10000 фоток Вам руками придется прописать 8000*2 строк :)
___
извини я тут "бухаю" в соседнем разделе, всетаки софттайм по осени уже в школу пойдет)) 7 лет как-никак :) | |
|
|
|
|
|
|
|
для: Valick
(23.05.2011 в 20:45)
| | так мы так и не пришли к выводу.Каким образом Вы бы реализовали эту затею? | |
|
|
|
|
|
|
|
для: luserz
(23.05.2011 в 20:46)
| | мне сложно сказать об этом, так как я не могу вообразить объективных причин по которым я бы попал в такую ситуацию. те изначально я бы делал по- другому.
вот я и пытаюсь стать на Ваше место и хоть как-то "устаканить" образовавшуюся в голове кашу.
сколько времени у меня есть на подумать? | |
|
|
|
|
|
|
|
для: Valick
(23.05.2011 в 20:52)
| | А как бы вы поступили бы?Время есть всегда) | |
|
|
|
|
|
|
|
для: luserz
(23.05.2011 в 20:56)
| | вот так бы поступил я изначально:
1 вариант
таблица foto
минимум 4 поля
id_foto | name_foto | alt_foto | title_foto
|
(про даты создания, размеры и другую служебную инфу речь пока не идет)
потом я бы немного подумал и вынес alt и title в отделные таблицы
для экономии дискового пространства, так как изначально процент их уникальности
был бы маленьким. В последствии если процент уникальности будет переваливать за 80% можно денормализовать таблицу и вернуться к 1 варианту. (хотя это нужно будет устанавливать практически анализируя скорость работы и нагрузки скриптов)
2 вариант
таблица foto
id_foto | name_foto | id_alt | id_title
|
таблица alt
таблица title
___
лирическое отступление
3 вариант
если нужно к одной фотографии организовать более одного alt и title
то нужно добавить еще две промежуточных таблицы
но во всех вариантах таблица foto остается практически неизменной (хотя в 3 варианте поля id_alt | id_title нужно будет убрать) те будет сохраняться связь id_foto | name_foto
чем хороша эта связь:
1 id_foto - это уникальное число и можно добавить хоть 1000000 фотографий с одинаковым именем - это для скрипта всегда будут разные фото (даже если фотки будут физически одинаковые)
2 об уникальности именования фото голова ну никак не болит... об этом заботиться СУБД
3 id_foto можно (и нужно) использовать в качестве имени для хранения фото на диске | |
|
|
|
|
|
|
|
для: Valick
(24.05.2011 в 09:51)
| | можно связать 2 таблицы создав еще одно поле в котором будет понятно к какой группе они принадлежат и выводить фотографии используя это созданное поле...т.е нужно будет создавать типа upload? для того чтобы он массова закидывал фотографии в папку? | |
|
|
|
|
|
|
|
для: luserz
(24.05.2011 в 11:16)
| | не совсем понял о чем Вы толкуете | |
|
|
|
|
|
|
|
для: Valick
(24.05.2011 в 13:51)
| | так мысли в слух. У меня еще один вопрос как лучше реализовать хранение фотографий, на этом примере? Можно ли создать одну папку и запихать туда 8.000 фотографий, как реализовано в joomle или будет большая нагрузка на сервер?Меня интересует как реализовано к примеру хранение фото на auto.ru...Это большое кол-во фото в 1 папке или они автоматом создают папки под каждую машину?Сталкивались ли вы хоть раз с этим? | |
|
|
|
|
|
|
|
для: luserz
(25.05.2011 в 10:39)
| | нет не сталкивался, но думаю тут лучше придерживаться правила золотой середины.
под каждую машину папки создавать я бы однозначно не стал.
вообще если честно организация БД (фундамента проекта) - это большая часть работы. | |
|
|
|
|
|
|
|
для: Valick
(25.05.2011 в 10:44)
| | Мне кажется что когда 8.000 фотографий в папке нужную тежеловато будет найти)А не подскажите где можно почитать про это фундаментальное строительство БД? | |
|
|
|
|
|
|
|
для: luserz
(25.05.2011 в 10:49)
| | начните с нормализации баз данных (нормализации таблиц)
ну и учебник по MySQL от авторов форума не помешает (грубо говоря, точнее очень даже пригодиться ;) )
и самое главное на время изучения Вам придется забыть РНР и остальные языки программирования, знания по ним будут только мешать. Когда используется БД то РНР нужно стремиться использовать только для вывода данных в браузер, весь функционал нужно стремиться перенести на плечи СУБД | |
|
|
|
|
|
|
|
для: Valick
(25.05.2011 в 16:19)
| | Спасибо огромное!С удовольствием прочту! | |
|
|
|