Здравствуйте! вот пытаюсь научиться вывести картинки из директории /image/...jpg в <div> внутри которого организую таблицу в одну ячейку пока-кол-во строк зависит от количестdо картинок...подключился менеджером sql (на хостинг он называется cPanal->phpmyAdmin) руками создал таблицу mesto c полями id_mesto (int), contetnmesto (text), opismesto (text), otziv (text). далее снова через cPanal->phpmyAdmin руками создал две записи 1, /image/1.jpg, место1,отл 2, /image/bashnya.jpg, место2,удорвл Код (Text): <div id="centecont"> <b>Текст</b> <?php $db2=mysqli_connect("localhost","e18366_dbuser","paswd1","e18366_db"); $query2="Select * `e18366_db`.`mesto"; $result2=mysqli_query($db2,$query2); if (!$result2){ echo "No Select from mesto"; } echo "<table>"; for ($i=0;$i++;$i<length($result2)) { echo "<tr><th><img src='".$result2[i][0]."'></tr></tr>"; } mysqli_close($db2); ?> </div> выводит почему-то вот: почему так получается-не могу понять((( connect произошёл, select-наэлементарный....в трёх соснах заблудился...
прочитал.... до $db2=mysqli_connect...... поставил строку mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); далее для отладки использовал после $result2=mysqli_query($db2,$query2); echo mysql_error(); 62 строка-это сл строка: Код (Text): $result2=mysqli_query($db2,$query2); только я всё равно не могу понять, что именно не нравится((с такой ошибкой впервые сталкиваюсь
нашёл в чём эта причина и подправил select Код (Text): $query2="Select * from `e18366_db`.`mesto`"; но выводит всё равно не то...вывело только слова ТЕКСТ, а картинку нет... Добавлено спустя 3 минуты 55 секунд: попробовал ещё вот в этом месте записать сл образом Код (Text): echo "<tr><th><img src='".$result2[i][1]."'></th></tr>"; всё равно не выводит картинку...только слово ТЕКСТ
Т.Е. в итоге получился такой код Код (Text): <div id="centecont"> <b>Текст</b> <?php mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $db2=mysqli_connect("localhost","e18366_dbuser","paswd1","e18366_db"); $query2="Select * from `e18366_db`.`mesto`"; $result2=mysqli_query($db2,$query2); echo mysql_error(); if (!$result2){ echo "No Select from mesto"; } echo "<table>"; for ($i=0;$i++;$i<length($result2)) { echo "<tr><th><img src='".$result2[i][1]."'></th></tr>"; } mysqli_close($db2); ?> </div> Ошибка уже не выскакивает, но картинка не выводится, толкьо слово ТЕКСТ вот структура mesto http://www.fayloobmennik.net/4316357 вот что хранится в таблице mesto скриншот: http://www.fayloobmennik.net/4316354 всё же логично делаю...понять не могу Добавлено спустя 3 минуты 19 секунд: подправил вот эту строку Код (Text): for ($i=0;$i++;$i<=length($result2)) { браузер видет вот эту html-код страницы: строка с ячейкой не создаётся почему-то
если нет сообщения об ошибке это не означает что её нет, капай выше, узнай почему ячейка не создаётся, посмотри for работает или нет
В итоге начитался и победил частично...получился такой код: Код (Text): <div> <b>Текст</b> <?php mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $db2=mysqli_connect("localhost","e18366_dbuser","passwd1","e18366_db"); $query2="Select * from `e18366_db`.`mesto`"; $result2=mysqli_query($db2,$query2); // print_r ($date1); // echo mysql_error(); if (!isset ($result2)){ echo "No Select from mesto"; } echo "<table>"; while ($date1=mysqli_fetch_assoc($result2)) { echo "<tr> <td>ячейка1</td> <td><img src='".$date1['contetnimg']."'></td> </tr>"; } echo "</table>"; mysqli_close($db2); ?> </div> Изображение выводит, но не масштабировано(( Т.Е. картинки все разные по размеру хранятся, а мне бы как-то нужно к единому масштабу выводить-т.е. определить ширину и высоту ячеек, в которые выводятся картинки...пока читаю как можно сделать-на данный момент синтаксис не нашёл...судя по всему это как-то при помощи опций дополнительный в тэге <img> делается...мб кто посоветует как лучше всего это делать-т.е. как рациональнее, чтобы ошибок не допускать...
при загрузке нарезать нужного размера изображения, например. а потом при показе выбирать один из вариантов наиболее подходящий под то куда выводится изображение.
А нельзя к примеру хранить разного размера файлы с изображениями .jpg и выводить в заранее определённый масштаб ячейки через опции тэга img всю картинку? Ведь согласись мне сидеть нарезать каждую картинку не есть рационально так работать...
а теперь на русском свою мысль можешь? моя мысль была такая. есть у нас на сайте допустим блок альбомов или изображения альбома куда мы выводим 100х100 изображения - режем под это файлики 100х100. а в режиме просмотра изображений мы допустим выводим 1024х768. и под это тоже файлы нарезаны. почему при загрузке нарезаем? потому что если у меня нормальная камера то мои пользователи могут не захотеть грузить плитку изображений альбома каждое из которых может десятками мегабайт измерятся. то есть лимиты на уровне хтмл не совсем то что на самом деле нужно.
Блин, туплю...по подробнее можешь написать...вроде частично понял, но чувствую не до конца...если не трудно конечно... как я понял...до тэга img мне нужно написать функцию, которая отредактирует вложенные файлы jpg в директории и сохранит обрезанные в иную директорию или в кэш...а уже потом в тэге img отображать уже именно эти отредактированные файлы, так? Т.е. это каждый раз происходить будет "на лету" при каждом обращении web-клиента (браузера) к данной страницы....или я не в ту степь понял или не так
пользователь открывает страницу сайта с формой загрузки файлов пользователь выбирает файлы пользователь отправляет файлы твой сайт получает файлы и регистрирует их в бд. один файл - одна запись, логично? твой сайт сообщает пользователю что файлы загружены. радостный пользователь бежит пить шампанское ибо праздник на его улице да тем временем твой сайт где-то в фоновом режиме берет каждый файл пользователя и для каждого одно файла создает нужно кол-во файлов разных размеров в зависимости от того какие размеры ты используешь на своем сайте очередь будет зависеть от архитектуры сайта и от посещаемости и вот шампанское у пользователя остыло, он откупоривает бутылку, обновляет страницу в своем альбоме на твоем сайте и вуаля - сервер отдает ему самую оптимальную картинку, которую не так давно нарезал. у тебя с алгоритмами проблема, догадываешься?
Так)))догадываюсь, поэтому пытаюсь этот пробел убрать) вообщем смотри...впринципе алгоритм понятен, но вот не совсем понятно-так сказать ближе к синтаксису вот этот момент1 т.е. написать php-скрипт ещё один -который запускается cron'ом и режит файлы в директории /image/ все jpg файлы на различные размеры и вот этот момент2: немного не понятно как сервер поймёт какой размер того или иного файла jpg наиболее ОПТИМАЛЕН для одного клиента одного размера, а для другого-другой размер одной и той же картинки можешь подсказать как реализовать момент 1 и момент2-или хотя бы где можно почитать без воды-так сказать конкретика и лаконичность описано...я извиняюсь, но реально навыка нет-поэтому такие вопросу лузерские
момент1 - когда файл загружен тогда и запускается шинковка. несколько юзеров залили файлы - шинковка одна на всех чтоб сервак не полег. что надо нашинковать шинковка получает из бд или любым удобным способом. момент2 - немного с термином промахнулся. плитка и шоу - два разных размера. путь к файлы ты выбираешь на этапе генерации страницы. то есть если ты в шоу случайно дашь ссылку на плитку - посетитель под лупой не рассмотрит. а если на этапе плитки будешь давать шоу - от тебя уйдут за лишний трафик. то есть в данном случае ты на этапе генерации выбираешь оптимальное изображение. сервак тупо статику отдает. ежли хочешь нагрузить сервак лишней логикой то можешь написать конечно обертку которая будет выдавать оптимальную картинку именно опираясь на сведения о клиентах. но по мне так это не задача статик-сервера.
Одна поправка...юзеры у меня не заливают файлы-я сам их туда по ftp заливаю, я ищу нужную картинку или фотографирую-и картинки и фото могут быть изначально разного расширения и размеров-поэтому я туда заливаю в изначальном различном варианте-поэтму и мне нужно реализовать в скрипте некое стандартизацию по размеру и расширению для показа юзерам в соответствующем div'е уф...дай ссылки где можно на пальцах понять...в целом твою мысль понял, но честно признаюсь очень трудно воспринял...как реализовать теперь ещё труднее понять после твоего коммента((
ссылку на гугл дать? новички такие новички... ребят, ну надо не знать инструмент, а уметь его применять. всё что я тут описываю это некоторая макрозадача, которая дробится на мелкие подзадачи, которые в свою уже очередь делятся на однозначные лексемы. и уже под эти лексемы подбирается лексема языка программирования на котором решается макрозадача. что тебе не понятно из того что я тут расписал? боюсь что вообще всё. почитай мануал, посмотри какие функции и методы дали тебе разработчики языка. это кирпичики. попробуй из этих кирпичиков что-нибудь сделать. это будет программа. по ссылкам которые я дам ты ничего не поймешь потому что ты не понимаешь алгоритма. и ты еще и еще придешь с тупыми вопросами. потому что ты не умеешь формулировать задачу и разбивать ее на мелкие части. я вот в свое время на просьбу протестировать программиста просил нарисовать алгоритм приготовления чая. ты способен справиться с такой задачей? опиши мне алгоритм приготовления чая.
Ладно не будем про чай,а то я совсем запутаюсь в итоге смотри беру твоё коммент и как ты говоришь разбираю по кирпичикам: допустим у меня лежат в папке /image/ три файла jpg ggg.jpg имеющий размер 300х500 ррр.jpg имеющий размер 700х400 uuu.jpg имеющий размер 900х600 Это изначальные такие файлы с такими параметрами Далее следуя логике я читаю про тег <img>, которым я фактически показываю юзеру эти файлы...у данного тега следуя мануалу на него в гугле имеется атрибуты height -Высота изображения width-Ширина изображения P.S.1 Т.е. в моём коде я должен дописать сл. Код (Text): echo "<tr><th><img src='".$result2[$i][0]."' width="100" height="100"></tr></tr>"; Мне нужно все рассматриваемые файлы вывести к примеру размером 100х100 т.е. до тэга img мне реализовать следующие функции функция 1 -создаёт в директории /image/директорию /image100 P.S.2 Код (Text): $dir100 = '/image/image100'; mkdir($dir100, 0700, true); -обходит директорию /image/ и формирует массив имён файлов в директории /image/ P.S.3- пока затрудняюсь...ищу такую функцию в гугле -берёт каждый файл по имени из полученного массива файлов и шинкует его в из изначального размера в размер 100х100 P.S.4- не знаю такой функции-пытаюсь найти в гугле функция 2 - после выполнения функций 1 -обходит директорию /image/image100 , формирует массив $masjpg100 из полученных имён файлов P.S.5 аналогично как в P.S.3 -заносит имена файлов в БД в поле в данном случае "contetnimg" каждую строчку P.S.6 думаю так Код (Text): $db1=mysqli_connect("localhost","e18366_dbuser","password1","e18366_db"); $query1="INSERT INTO `e18366_db`.`mesto` (`contetnimg`, `opismesto`, `otziv`) VALUES ('/image/image100/$masjpg100', 'картинка', 'отсутствует')"; $result=mysqli_query($db1,$query1); if (!$result){ echo "No INSERT NAMEJPG for BD_mesto"; } mysqli_close($db1); и тогда после выполнения данных функций уже сейчас написанный мной скрипт выведит картинки размерами 100х100 в div'е в ячейке размерами 100х100 Код (Text): <div id="centecont"> <b>Текст</b> <?php $db2=mysqli_connect("localhost","e18366_dbuser","paswd1","e18366_db"); $query2="Select * `e18366_db`.`mesto"; $result2=mysqli_query($db2,$query2); if (!$result2){ echo "No Select from mesto"; } echo "<table>"; for ($i=0;$i++;$i<length($result2)) { echo "<tr><th><img src='".$result2[i][0]."' width="100" height="100"></tr></tr>"; } mysqli_close($db2); ?> </div> фалы соответсвенно создадутся в директории /image/image100 и должны отобразиться юзеру в размере 100х100 пока в гугле не нашёл, что ищу по вышеуказанному тексту...в поисках
это как? Добавлено спустя 1 минуту 1 секунду: вот как лучше бы почитал чтоб потом бреда не нести Добавлено спустя 2 минуты 25 секунд: пока ты очень сильно тычешь пальцем в небо. потому что ничего не понимаешь. но пытаешься уже что-то сделать. примерно так рождаются романы дарьи донцовой.
давай ты сейчас сядешь и распишешь всё что я сказал но поэтапно. подробно и ответственно. а я через пару часиков вернусь и проверю в нужном ли ты направлении думаешь. два часа на описание системы хватит? только ты давай не пальцев в небо тычь а прям серьезно подумай что юзер по-твоему делает, что сервак, что еще что-то. обрисуй всю картину.
ок, только я уже понимаю , что мозги у меня сегодня уже замыливаются((в итоге я ещё больше запутался, чем изначально(( я лучше завтра попробую снова посмотреть на ситуацию и продолжу в разработке-попробую обрисовать картину