Вопрос № 56702: Есть на сайте много картинок и ,соответственно, хочется к ним сделать превьюшки. Вручную долго, да и это не наши методы!
Есть скрипт (в приложении), который все это делает, только почему-то из GIF'ов он делает нормальные картинки, а из JPEG и PN...Вопрос № 56713: Подскажите, в как помещать дату в таблицу (MySQL). Дата нужна в таком виде Y-n-d H:i:s (обязательно). Вопрос в том, как потом сделать выборку из таблицы не по всей отформатированной дате, а по трем вариантам: по году, по году и месяцу, по году и меся...Вопрос № 56734: Добрый день!
При изучении PHP и MySQL в программу вставил фрагмент,
(echo "<pre>" .....echo "</pre>") из www.php.su/mysql/?function.
Если фрагмент стоит перед выдачей таблицы на экран,
то таблица выводи...Вопрос № 56783: Уважаемые эксперты! Прошу научить, как правильно написать скрипт запроса для вставки данных из текстового файла (по количеству полей, разделенных точкой с запятой) в таблицу базы данных MySQL. Я пробовал $sql = "LOAD DATA LOCAL INFILE '$txt_file...Вопрос № 56807: Уважаемые эксперты, хотелось бы узнать ваше мнение. Я начинающий. В интернету много готовых скриптор. Просмотривая их,
я обратил внимание, что многие избегают использовать для хранения и обработки данных базы MySQL и использование обычных текстовых ф...
Вопрос № 56.702
Есть на сайте много картинок и ,соответственно, хочется к ним сделать превьюшки. Вручную долго, да и это не наши методы!
Есть скрипт (в приложении), который все это делает, только почему-то из GIF'ов он делает нормальные картинки, а из JPEG и PNG почти черно-белые, блеклые какие-то, в общем, лажа полная!(даже при качестве=100)
Пробовал
imagecreatefromjpeg(...)
а потом
imagecopyresized(...)
и
imagejpeg(...) ,
т.е. сохранить в памать вставить в новый рисунок и вывести
в браузер - такая-же история...
Вопрос, как всегда: что делать?
PHP 4.3.3
Приложение:
Отправлен: 25.09.2006, 23:23
Вопрос задал: Mo-skin (статус: 2-ой класс)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: HookEst
Здравствуйте, Mo-skin!
Попробуйте вместо строки
$thumb=imagecreate($x,$y);
использовать
$thumb=imagecreatetruecolor($x,$y);
Ответ отправил: HookEst (статус: 3-ий класс)
Ответ отправлен: 26.09.2006, 09:35 Оценка за ответ: 5 Комментарий оценки: Спасибо, все верно, хотя вчера ночью и сам разобрался.
Отвечает: PVS
Здравствуйте, Mo-skin!
Что-то у Вас не то. ImageJPEG уже выводит результат в бровзер, а то, что Вы потом дописываете через echo вполне вероятно портит картинку
Ответ отправил: PVS (статус: Студент)
Ответ отправлен: 26.09.2006, 10:32 Оценка за ответ: 4 Комментарий оценки: Ксожалению это не так, но, к счастью,- я ужеразобрался. Спасибо за участие!
Отвечает: Zysoftik
Здравствуйте, Mo-skin!
В дополнение, хотел бы сказать, что вместо imagecopyresized(...) лучше использовать imagecopyresampled(...). Это улучшит качество получаемых изображений. Хотя все зависит от размера конечного изображения.
Ответ отправил: Zysoftik (статус: 6-ой класс)
Ответ отправлен: 27.09.2006, 10:16 Оценка за ответ: 5 Комментарий оценки: Спасибо за совет, може когда-ни'ть пригодится.
Вопрос № 56.713
Подскажите, в как помещать дату в таблицу (MySQL). Дата нужна в таком виде Y-n-d H:i:s (обязательно). Вопрос в том, как потом сделать выборку из таблицы не по всей отформатированной дате, а по трем вариантам: по году, по году и месяцу, по году и месяцу и дню (время вообще не должно приниматься во внимание). Если отформатировать дату в php и в таком виде поместить в таблицу, то по отдельному элементу (напр. только по году) поиск не проходит. В общем, нужно так, чтобы в sql-запросе можно было выбирать варианты
поиска. Каким образом?
Отправлен: 26.09.2006, 01:04
Вопрос задал: Defalex (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Козлов А. С.
Здравствуйте, Defalex!
1. Поместить дату можно так:
$query = "INSERT INTO имя_таблицы (data) VALUES ('2006-09-26 00:00:00');";
mysql_query($query);
2. Выборки делаются так:
// Выборка года
$query = "SELECT * FROM имя_таблицы WHERE LEFT(data, 4) = '2006';";
mysql_query($query);
// Выборка месяца
$query = "SELECT * FROM имя_таблицы WHERE LEFT(data, 7) = '2006-09';";
mysql_query($query);
// Выборка дня
$query = "SELECT * FROM имя_таблицы WHERE LEFT(data, 10) = '2006-09-26';";
mysql_query($query);
Цифра в LEFT(time, 10) указывает на то сколько чисел в дате необходимо учитывать
--------- Вы доставили мне истинное удовольствие парни, взвалив на меня Ваши проблемы (М. Фрай).
Ответ отправил: Козлов А. С. (статус: 8-ой класс)
Ответ отправлен: 26.09.2006, 07:17 Оценка за ответ: 5 Комментарий оценки: Спасибо огромное! Именно то что нужно!
Отвечает: PVS
Здравствуйте, Defalex!
Сохраняйте в текстовом поле, тогда нужные Вам условия записываются как:
"dt_field like '".$year."-%'"
"dt_field like '".$year."-".$month."-%'"
"dt_field like '".$year."-".$month."-".$day." %'"
Более того. Можете использовать только последние условие, а вместо ненужных параметров подставлять строку "__" (два нижних подчеркивания), которая в условии поиска заменяєт два любые символа (% - любое количество произвольных символов)
Ответ отправил: PVS (статус: Студент)
Ответ отправлен: 26.09.2006, 10:24 Оценка за ответ: 5
Отвечает: Дмитрий Иванов
Здравствуйте, Defalex!
ну это в принципе стандартный вариант даты и если ты выбрал тип ячейки DATATIME то у тебя не должно быть проблемм с использованием стандартных функций MySQL
MONTH(date) DAY(date) или YEAR(date)
как пример:
select * from mytab where YEAR(mydate)='2006' and MONTH(date)='11' and DAY(date) ='1'
но в принципе могут быть и другие варианты
к тому же прочитай http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
тебе станет многое более понятно.
--------- ставя оценку - подумай, может ты не все описал
Ответ отправил: Дмитрий Иванов (статус: Практикант)
Ответ отправлен: 26.09.2006, 13:34 Оценка за ответ: 5 Комментарий оценки: Спасибо! Всегда понятнее, когда тебе кто-то на примере покажет, чем штудировать инструкции. А тип ячейки именно DATATIME формата 0000-00-00 00:00:00
Вопрос № 56.734
Добрый день!
При изучении PHP и MySQL в программу вставил фрагмент,
(echo "<pre>" .....echo "</pre>") из www.php.su/mysql/?function.
Если фрагмент стоит перед выдачей таблицы на экран,
то таблица выводится с пустыми полями.
Если фрагмент поместить после, то таблица заполняется полями.
Это мне не понятно.
И второй вопрос - что находится в переменной $res и как там размещены данные, выбранные по запросу из базы данных?
(У меня установлен ДЕНВЕР под Windows XP)
Спасибо.
Приложение:
Отправлен: 26.09.2006, 10:29
Вопрос задал: Eliz (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Козлов А. С.
Здравствуйте, Eliz!
1. В описании функции mysql_result() написано следующее:
"Вызовы функции mysql_result() не должны смешиваться с другими функциями, работающими с результатом запроса".
Вероятно всего при вызове это функции первой происходит обнуление переменной $res и в вывод таблицы идет пустым.
2. В переменной $res хранится упорядоченный набор данных, аналогичный двумерному массиву в PHP. А именно, массив строк, каждая из которых состоит из одной или нескольких ячеек.
while(mysql_num_rows($res)){
...
}
--------- Вы доставили мне истинное удовольствие парни, взвалив на меня Ваши проблемы (М. Фрай).
Ответ отправил: Козлов А. С. (статус: 8-ой класс)
Ответ отправлен: 26.09.2006, 11:07 Оценка за ответ: 5 Комментарий оценки: Спасибо за четкий ответ.
Отвечает: HookEst
Здравствуйте, Eliz!
Функция mysql_query() возвращает ТОЛЬКО УКАЗАТЕЛЬ на результат(тип RESOURCE, а не ARRAY), А НЕ САМ РЕЗУЛЬТАТ.
Сами данные можно получить функциями mysql_fetch_array(),mysql_fetch_row(),mysql_fetch_assoc() или mysql_result().
mysql_fetch_...() функции можно использовать ТОЛЬКО ОДИН РАЗ для каждой записи, вызовы функции mysql_result() не должны смешиваться с другими функциями, работающими с результатом запроса. Пройдите по записям 1 раз, заполните массив данными запроса, а вот этот массив уже можно использовать хоть сколько и для вывода <PRE> и для вывода <TABLE>.(можно также использовать mysql_data_seek(0), чтобы вернуться к первой записи).
И если $cehid к Вам приходит в запросе я бы предварительно установил бы его тип в integer(только если $cehid -число)
И не пишите while(mysql_num_rows($res)){...} - возможен бесконечный цикл.
Удачи.
Приложение:
Ответ отправил: HookEst (статус: 3-ий класс)
Ответ отправлен: 26.09.2006, 12:34 Оценка за ответ: 5 Комментарий оценки: Спасибо за ответ, и приложение. Все стало понятно. Кроме того мне надо пользоваться более четкой литературой с описанием функций.
Вопрос № 56.783
Уважаемые эксперты! Прошу научить, как правильно написать скрипт запроса для вставки данных из текстового файла (по количеству полей, разделенных точкой с запятой) в таблицу базы данных MySQL. Я пробовал $sql = "LOAD DATA LOCAL INFILE '$txt_file' INTO TABLE $datatable fields terminated by ';//' lines terminated by '
' "; и у меня работало на старых версиях PHP и MySQL. А сейчас установил: MySQL 4.1.16-max и PHP Version 4.4.2 и не получается импортировать данные.
Отправлен: 26.09.2006, 16:12
Вопрос задал: Vicbar (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Дмитрий Иванов
Здравствуйте, Vicbar!
если средствами PHP, то :
Приложение:
--------- ставя оценку - подумай, может ты не все описал
Ответ отправил: Дмитрий Иванов (статус: Практикант)
Ответ отправлен: 26.09.2006, 16:38 Оценка за ответ: 5 Комментарий оценки: Спасибо, помогли!
Отвечает: Козлов А. С.
Здравствуйте, Vicbar!
Так же можно воспользоваться следующим кодом:
Приложение:
--------- Вы доставили мне истинное удовольствие парни, взвалив на меня Ваши проблемы (М. Фрай).
Ответ отправил: Козлов А. С. (статус: 8-ой класс)
Ответ отправлен: 27.09.2006, 07:20 Оценка за ответ: 5
Вопрос № 56.807
Уважаемые эксперты, хотелось бы узнать ваше мнение. Я начинающий. В интернету много готовых скриптор. Просмотривая их, я обратил внимание, что многие избегают использовать для хранения и обработки данных базы MySQL и использование обычных текстовых файлов приветствуется. Хотелось бы узнать, почему.
Отвечает: Бородин Александр Олегович
Здравствуйте, Гузенко Руслан Николаевич!
Не все хостеры предоставляют базы данных. Кроме того, использование БД подтормаживает приложение.
--------- Ничто не сближает людей так, как совместное преступление. Или покупка телевизора.
Отвечает: Игорь Елизаров
Здравствуйте, Гузенко Руслан Николаевич!
Скорее всего это связано с тем, что халявный хостинг , тот же самый народ.ру не всегда поддерживает ПХП, а тем более MySQL.
Хотя, конечно, на мой взгляд, все- таки с базами данных лучше..
Ответ отправил: Игорь Елизаров (статус: 6-ой класс)
Ответ отправлен: 26.09.2006, 21:12
Отвечает: Uman
Здравствуйте, Гузенко Руслан Николаевич!
Из распространённых причин могу назвать только две
1) На некоторых хостинг - планах не предусмотрена MySql
2) Некоторые "левые" хостинг компании очень часто угражают пользователям закрытием их счёта из-за "огромной" нагрузки на сервер
Мой совет Вам таков, если Вы не планируете писать чего либо масштабного, то лучше используйте для хранения данных файлы.
Ответ отправил: Uman (статус: 2-ой класс)
Ответ отправлен: 26.09.2006, 21:38
Отвечает: PVS
Здравствуйте, Гузенко Руслан Николаевич!
Ну не всегда же на сервере есть поддержка MySQL, а вот поддержка текстовых файлов - всегда :-)
На самом деле истина где-то посредине и если MySQL используется, то обычно для хранения "малокалиберной" информации (пользователи, права доступа, структура сайта), а собственно наполнение хранится в текстовом виде (огромадный текст извлекать из базы дольше). Но это не непоколебимое правило и каждый пишет ссобразно своим (пользовательским) потребностям и возможностям.
Ответ отправил: PVS (статус: Студент)
Ответ отправлен: 27.09.2006, 09:59