Вопрос № 118420: Здрасте, подскажите, будьте добры!
Скрипт внутренняя почта… есть две таблицы! 1. Отправленные сообщения (mail_input) и таблица 2. Входящие сообщения (mail)
Не могу объединить две таблицы:
Что бы получилось примерно след<br...Вопрос № 118438: Доброго времени суток уважаемые эксперты вообщем у меня такая проблема.
Я хочу создать генератор гостевых книг.
По моему планированию человек который хочет создать гостевую книгу заходит на страницу конструктора,
в поле вводит название го...Вопрос № 118484: Здравстуйте. Подскажите, пожалуйста, почему не работет функция copy() ? Проверяю загружен ли файл is_uploaded_file($_FILES['userfile']['tmp_name']), потом пишу copy($_FILES['userfile']['tmp_name'], $path); - выдает ошибку
" ...[function.cop...Вопрос № 118507: Зравствуйте. столкнулся с вот таким вопросом. в PHP используются 2 метода GET и POST. но если с передачей данных GET все понятно - значение параметров передается в адресе-запросе, то POST формирует массив. Каким образом?...
Вопрос № 118.420
Здрасте, подскажите, будьте добры!
Скрипт внутренняя почта… есть две таблицы! 1. Отправленные сообщения (mail_input) и таблица 2. Входящие сообщения (mail)
Не могу объединить две таблицы:
Что бы получилось примерно след
Id1 Исходящие из таблицы 1;
Id2 Входящие из таблицы 2;
Id3 Исходящие из таблицы 1;
И так далее … все это отсортировано по дате из двух таблиц
Как это можно организовать?!
Свои соображения сделать временную таблицу и там отсортировать, но не могу сделать два запроса, нигде не могу найти синтаксис правильный.
Может еще какие идие будут?! =(
Спасибо!
Отправлен: 14.01.2008, 13:21
Вопрос задал: Clever0k (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Миленин Александр
Здравствуйте, Clever0k!
Если таблицы имеют примерно такой вид:
ID | DATE | MESSAGE | FROM | TO
то предлагаю обьединить их в mail, предварительно добавив столбец (например direction [in|out] либо [0|1]) для определения напревления, получится нечто вроде:
ID | DATE | MESSAGE | FROM | TO | DIRECTION
1|806565650|Hello|3|5|out - где 3,5 id пользователей или логины
Обьединение производится простым перебором mail_input в цыкле, сортировка в самой базе не требуется, для сортировки в запросе следует добавить ORDER BY(например ORDER BY `date` DESC. DESC - в обратном порядке(с конца) )
Ответ отправил: Миленин Александр (статус: 9-ый класс)
Ответ отправлен: 14.01.2008, 13:42 Оценка за ответ: 5 Комментарий оценки: Спасибо! Как только написал экспертам в мануале наткнулся на оператор UNION который решает мою задачку! Благодарю за участие!
Отвечает: Nexus
Здравствуйте, Clever0k!
Согласен с предыдущим ответом - входящие и исходящие нужно хранить в одной таблице. Только direction не нужен, т.к. тогда будут дублироваться данные (собственно, как и сейчас) - одно и то же письмо хранится как отправленное для одного пользователя, и как входящее для другого. Чтобы два раза не хранить текст нужно сделать поля типа DISPLAY_IN_INBOX и DISPLAY_IN_SENT которые будут выставляться в false если один из пользователей "удалил" у себя письмо.
Ответ отправил: Nexus (статус: Студент)
Ответ отправлен: 14.01.2008, 14:33 Оценка за ответ: 5 Комментарий оценки: просто хранение в двух таблицах я подсмотрел в CMS WCPS а принцип внутренней почты на одном сайте знакомств CXX.ru несколько дней бился над задачкой!
Вопрос № 118.438
Доброго времени суток уважаемые эксперты вообщем у меня такая проблема.
Я хочу создать генератор гостевых книг.
По моему планированию человек который хочет создать гостевую книгу заходит на страницу конструктора,
в поле вводит название гостевой книги.
А код действует таким образом
1) создается переменная которой присваевается значение переданной методом POST из формы к примеру $pagename
2) на сервере создается файл с названием $pagename.php
3) в этот файл записывается сам скрипт гостевой книги
вот сам скрипт этого генератора:
посмотрите на переменную $gb ей присваивается сам код гостевой книги
который должен записаться в выше созданный текстовый файл,
так обьясните пожалуйста в какие кавычки мне нужно заключить код гостевой книге чтобы при записи переменной $gb в файл, переменная {$pagename} которая находится в коде гостевой книги перешла в то значение которое ей присвоили
а не записалаь в файл "как есть" .
Отвечает: Nexus
Здравствуйте, Ивкин Михаил Николаевич!
Не уверен что правильно понял вопрос... Т.е. есть код гостевой книги, там есть например формочка и нужно чтобы при записи в файл, имя которого получено от юзера, в action формы прописывалось его имя, так? Тогда нужно сделать шаблон файла, в котором прописать, например, {pagename}, а при записи в файл делать следующее:
если таких замен нужно делать много - нужно предварительно сформировать два массива - что нужно заменять, и на что нужно заменять, и в ф-цию замены подставлять именно их.
Ответ отправил: Nexus (статус: Студент)
Ответ отправлен: 14.01.2008, 17:56
Отвечает: Большаков Владимир Андреевич
Здравствуйте, Ивкин Михаил Николаевич!
Насколько я понял вопрос, вы хотите передать значение переменной вместа текста $pagename, так? Тогда заключать всю эту строку нужно в двойные кавычки.
Или, как вариант, можно использовать оператор конкатенации( "." - точка )
Пример использования:
$filename="file".$filename.".php";
Здравстуйте. Подскажите, пожалуйста, почему не работет функция copy() ? Проверяю загружен ли файл is_uploaded_file($_FILES['userfile']['tmp_name']), потом пишу copy($_FILES['userfile']['tmp_name'], $path); - выдает ошибку
" ...[function.copy]: failed to open stream: Permission denied LOCATION: ... ".
Спасибо.
Отвечает: Селев Валерий
Здравствуйте, Щедный Александр Владимирович!
Проверьте права на запись в директорию, в которую пробуете копировать, для пользователя, из-под которого запускается РНР.
Ответ отправил: Селев Валерий (статус: 7-ой класс)
Ответ отправлен: 14.01.2008, 20:42
Отвечает: Serge R. Bochkareff
Здравствуйте, Щедный Александр Владимирович!
Для копирования файла в вашу папку не хватает прав для пользователя под которым запущен php.
если у вас php работает как модуль апача, то он работает с правами nobody/nobody (как обычно)
вообщем, вам необходимо дать разрешение на запись на папку куда вы хотите скопировать ваш файл.
Ответ отправил: Serge R. Bochkareff (статус: 1-ый класс)
Ответ отправлен: 15.01.2008, 11:57
Вопрос № 118.507
Зравствуйте. столкнулся с вот таким вопросом. в PHP используются 2 метода GET и POST. но если с передачей данных GET все понятно - значение параметров передается в адресе-запросе, то POST формирует массив. Каким образом?
Отправлен: 15.01.2008, 00:46
Вопрос задал: Greblin (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Миленин Александр
Здравствуйте, Greblin!
GET отличается от POST'a тем, что GET передаёт данные В ЗАГОЛОВКЕ, а POST после заголовка.
Пример GET запроса:
GET index.php?var1=11&var2=22 HTTP/1.1
Host: ru.wikipedia.org
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Connection: close
В результате в index.php массив $_GET будет содержать var1 и var2
Как видно из запроса в методе POST данные передаются после заголовка и будут находиться в массиве $_POST
Рекомендую к прочтению:
http://ru.wikipedia.org/wiki/HTTP
http://www.phpclub.ru/detail/article/http_request
Ответ отправил: Миленин Александр (статус: 9-ый класс)
Ответ отправлен: 15.01.2008, 01:05 Оценка за ответ: 5 Комментарий оценки: спасибо за ссылку на нужную литературу