PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (142): В начало « ... 134 135 136 137 [138] 139 140 141 142 »

> Найдено сообщений: 2118
Zuldek Отправлено: 17 Марта, 2011 - 10:28:12 • Тема: сложный запрос • Форум: SQL и Архитектура БД

Ответов: 10
Просмотров: 117
category

cat_id инкремент индекс
root_cat (0 если нет РОДИТЕЛЬСКОЙ (исправил!) категории, если есть родитель то = cat_id дочерней категории)
name

item

id инкремент индекс
id_category индекс (= category.cat_id Связь с таблицей категорий)
image

Задача извлечь все значения поля image для всех товаров категории и всех её вложенных категорий по переданному в $_POST['id_cat'] (равен category.cat_id)

Прошу помочь составить сложный SELECT. либо подсказат ькак правильно извлечь нужный параметр, возможно одним SELECTOM не обойтись Недовольство, огорчение

Мой запрос, судя по нулевому кол-ву извлекаемых значений, неправильный.

CODE (htmlphp):
скопировать код в буфер обмена
  1. $query="SELECT item.image from item,category WHERE category.cat_id=".$_POST['id_cat']."
  2. AND (item.id_category=category.cat_id OR item.id_category=category.root_cat)
  3. AND category.root_cat=".$_POST['id_cat'].";
Zuldek Отправлено: 01 Февраля, 2011 - 09:23:15 • Тема: Скрытие id заказа, реализация. • Форум: Программирование на PHP

Ответов: 11
Просмотров: 812
Invert пишет:
Подходит вариант?

В вашем примере пришлось-бы дополнительно хранить хеши всех заказов в бд, чтобы сравнивать их с отправленными на изменение/оплату заказами.
Думаю пока ограничится хранением id заказа в сессии.
Скрывать id заказов желательно потому, что он в большинстве платёжных систем используется для формирования ключа к транзакциям по платежам. По этмоу ключу в частности проверяется оплачен-ли конкретный заказ. Кроме Id-заказа в ключ включается id магазина, пароль для магазина и т.п.
Zuldek Отправлено: 01 Февраля, 2011 - 09:02:01 • Тема: Captcha • Форум: Если скрипт не работает

Ответов: 7
Просмотров: 2831
if(!(isset($_SESSION["captcha"]) && isset($_POST["captcha"]) && $_SESSION["captcha"] === $_POST["captcha"]))
Zuldek Отправлено: 31 Января, 2011 - 21:43:48 • Тема: Скрытие id заказа, реализация. • Форум: Программирование на PHP

Ответов: 11
Просмотров: 812
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.       $num=0;
  3.       $name="order_id".$num;
  4.       while($res = mysql_fetch_array($reselt)) {
  5.       $num++
  6.       echo $res['orders_shname'];
  7.       $_SESSION['order_id'][$num] = $reselt['order_id'];
  8.       echo "<a href="pay.php>Оплатить</a>";
  9.       }

и в целевом скрипте что-то вроде if(isset( $_SESSION['order_id'])) {
//скидываем элемент с неизвестным $num чтобы достать его по ключу "0" с массива
sort($_SESSION['order_id']);
$order_id=$_SESSION['order_id'][0];
...
}
Как-то так наверно с получением id.
Теперь с отправкой его в платёжную систему.
Я правильно понимаю что тут опять надо избежать отправки post-запроса из формы с размещением id_заказа и прочих параметров в полях типа hidden и надо реализовывать как-то по-другому?
Zuldek Отправлено: 31 Января, 2011 - 12:22:26 • Тема: Создание категорий на PHP and MySQL • Форум: Программирование на PHP

Ответов: 8
Просмотров: 1528
[родительская группа]группа[дочерняя группа]. в скобках редактируемые поля/списки с ID (и)или названиями групп.
Zuldek Отправлено: 31 Января, 2011 - 10:26:49 • Тема: Создание категорий на PHP and MySQL • Форум: Программирование на PHP

Ответов: 8
Просмотров: 1528
В последнем проекте делали почти как сказал тов. Мелкий: одна таблица для всех категорий, с двумя доп. полями - "id родителя" и "id дочки"
Цитата:
Не в тему, но может подскажете, как вывести эти категории в админке, я не могу не чего придумать (товар может быть привязан только к 1 категории)

А чего там думать то. Выводим список категорий верхнего уровня (у кого нет родителей), потом через каждую выводим список её дочерних категорий и так далее пока не дойдём до категорий, у которых нет дочерних категорий. Иными словами ничем не отличается от вывода категорий в самом каталоге, разве что с добавлением средств управления.
Zuldek Отправлено: 31 Января, 2011 - 10:21:46 • Тема: Скрытие id заказа, реализация. • Форум: Программирование на PHP

Ответов: 11
Просмотров: 812
CODE (htmlphp):
скопировать код в буфер обмена
  1. while($res = mysql_fetch_array($reselt)) {
  2. echo $res['orders_shname'];
  3. $_SESSION['order_id'] = $reselt['order_id'];
  4. echo "<a href="pay.php>Оплатить</a>";
  5. }

Так присвоить значение не можем потому, что $_SESSION['order_id'] будет хранить последнее значение $reselt['order_id'] из цикла
то есть надо отдельное значение для каждого заказа..
CODE (htmlphp):
скопировать код в буфер обмена
  1. //Добавляем счётчик
  2. $num=0;
  3. $name="order_id".$num;
  4. while($res = mysql_fetch_array($reselt)) {
  5. $num++
  6. echo $res['orders_shname'];
  7. //и пишем в сессию разные значения для всех заказов
  8. $_SESSION['$name'] = $reselt['order_id'];
  9. echo "<a href="pay.php>Оплатить</a>";
  10. }

На целевой странице ищем в $_SESSION элемент содержащий в имени "order_id" и берём его значение за ID заказа. Правильно?
Или можно сделать как-то по-изящнее?
Zuldek Отправлено: 31 Января, 2011 - 08:08:26 • Тема: Скрытие id заказа, реализация. • Форум: Программирование на PHP

Ответов: 11
Просмотров: 812
Тогда как в таком случае идентифицировать на странице оплаты/удаления нужную переменную сессии?
Если мы выводим в журнале заказов
CODE (htmlphp):
скопировать код в буфер обмена
  1.       $_SESSION['1order_id'] = $reselt['order_id'];
  2.       $_SESSION['2order_id'] = $reselt['order_id'];
  3. ...

Тогда придётся, наверно, передавать в $_POST время создания заказа, сумму и иные не секретные параметры, по которым идентифицировать заказ и брать нужную переменную сессии, правильно?
Либо как-то инициировать запись в сессию при щелчке на кнопку Оплатить/удалить... чтобы был только один $_SESSION['order_id'] ?
Zuldek Отправлено: 31 Января, 2011 - 07:38:41 • Тема: Скрытие id заказа, реализация. • Форум: Программирование на PHP

Ответов: 11
Просмотров: 812
На странице журнала заказов есть неопределённое число заказов, выводимых в цикле из бд. И у каждого заказа, соответственно, ссылки/кнопки - удалить, оплатить, получить и т.д.
Чтобы работать с заказом на страницах оплаты и проч., необходимо передать их id. Для скрытия id от юзера, как я понял (подсказали), лучше всего записывать его в сессию а не передавать в скрытом поле hidden в $_POST.
То есть делать нужно
CODE (htmlphp):
скопировать код в буфер обмена
  1. $_SESSION['order_id'] = $reselt['order_id'];
Но вот как в этом случае организовать записи id в сессию и в какой момент осуществлять запись значения сессии?
Ведь выводится может много заказов, не для каждого же создавать отдельную переменную сессии?
Zuldek Отправлено: 28 Января, 2011 - 16:53:36 • Тема: Скрытие id заказа • Форум: Программирование на PHP

Ответов: 5
Просмотров: 430
Всё ясно. Попробую реализовать.
Zuldek Отправлено: 28 Января, 2011 - 15:04:50 • Тема: Скрытие id заказа • Форум: Программирование на PHP

Ответов: 5
Просмотров: 430
Спасибо за ответ. Система работы и отслеживания заказов уже организована. В настоящее время id заказа простое число. и требуется мне фактически лишь во время перенаправление юзера на страницу оплаты на сайте магазина, и, через неё, перенаправление на оплату уже на сайт платёжной системы. Дописать id заказа в сессию я пожалуй и могу, - перенаправлю юзера на страницу оплаты магазина где все данные будут в POST, id заказа в сессии. Но платёжная система может принимать заказы исключительно через POST или GET запросы... (речь о робокассе).
Zuldek Отправлено: 28 Января, 2011 - 13:29:02 • Тема: Скрытие id заказа • Форум: Программирование на PHP

Ответов: 5
Просмотров: 430
C журнала заказов юзер может быть отправлен на оплату заказа. Для этого придётся передавать на страницу оплаты сайта магазина id заказа.
Этот же id используется для отправки заказа на сервер платёжной системы и он же фигурирует в ответном отчёте системы об оплате/не оплате счёта.

Как можно эффективнее всего сформировать и скрыть id заказа, чтобы он уходил на сервер платёжной системы, и его можно было бы использовать при пере направлении на страницу оплаты заказа на сайте самого магазина?
Zuldek Отправлено: 27 Января, 2011 - 08:36:57 • Тема: Оцените сайт с т.з. разработчика. • Форум: Программирование на PHP

Ответов: 5
Просмотров: 737
lelectrohardl пишет:
Есть сайт. Если не трудно, оцените его, пожалуйста.

Сайт дал загрузить файл с мета-тэгами содержащими исполняемый код, потому вероятно наличие дыры в безопасности. Если изображение соответствующим образом обрабатывается, делая их бесполезными, то всё в порядке. На Одноклассниках в своё время не стоял такой фильтр... .
Zuldek Отправлено: 27 Января, 2011 - 08:11:12 • Тема: Облако тэгов, но не простое, а... • Форум: Программирование на PHP

Ответов: 10
Просмотров: 1477
Если не привязываться ни к какой CMS/имеющейся структуре бд, + стоит задача подсчёта реального тематического "веса" тега в статье, то я бы реализовал "счётчик семантического веса" Так:

1. При создании статьи/страницы/раздела (в зависимости от архитектуры сайта), регулярные выражения процеживают весь контент на предмет вхождения определённых слов (PHP, Basic и проч.) Откуда вам брать рег-выражения думайте сами. Структуру вашег опроекта я не знаю. Они могут формироваться налету исходя из таблицы с тегами, заносимыми в бд из админки/из поля "теги" в форме создания статьи/ формироваться автоматически исходя из определённого количества вхождений слов в статье и комментариях к ней... .
2. Профильтровали контент, выяснили что MSSQL в статье - 20, PHP - 15.
3. Структура таблицы веса тегов:
tag_id | tag_word | tag_weight | tag_link

4. Определяем правило подсчёта веса тега в отдельной статье. Допустим вы решите что вес 4 (что это уж решайте сами, - количество повторений в тексте, либо условный вес в диапазоне от 1 до 10, проставляемый через админку. Я бы, например, ограничил диапазон диапазон значений 100, и просчитвал бы его, например, так - 5 очков за наличие тега в заголовке статьи, 5 очков за повторение тега в заголовке статьи. + по одному очку за каждое повторение тега в тексте статьи.
5. Далее, я бы принял некую пороговую величину веса (10), до достижения которой мы не считаем его вес в статье.
6. Я бы прикинул какого размера у меня будет облако тегов и решил сколько одинаковых тегов разного веса я там могу выводить. Например 3. Но так, как программисты очень любят усложнять себе жизнь, я бы пошёл дальше и сделал бы управление этим параметром $porog через админку модуля "облако тегов".
6. И так, прошлись рег-выражениями по статье. Если какойто вес есть и набрано MSSQL в статье - 20, PHP - 15.
7. То Смотрим все tag_id где tag_word == тегам нашей статьи, отбирая по возрастанию веса тегов статьи (как пример, - от 20 для MSSQL) с лимитом $porog, если у меня отобрались в массиве значения - 19, 25, 61, то я записываю в таблицу tags нашу статью, вместо статьи с весом 19. (в бд будет при таком же отборе 20, 25, 61). А именно, апдейтим запись где вес 19, вставляя наш новый вес, и параметр tag_link, который может быть ссылкой на статью, либо её числовым идентификатором.

P.S. Не буду исправлять в посте. Выборку из таблицы нам надо делать только одного id, у которого наименьший tag_weight. И если вес тега статьи >, то перезаписывать строку в таблице. В таблице всё, включая, при желании, и tag_word можно хранить в числовых полях, как числовые индексы, с которыми субд будет работать очень быстро даже при большом их количестве, хотя сомневаюсь что их перевалит когда-нибудь за 500.

Вот такой вот маленький Яндекс. Надо научится писать лаконично...
Zuldek Отправлено: 27 Января, 2011 - 07:35:34 • Тема: наложение ватемарка при загрузке файла • Форум: Программирование на PHP

Ответов: 13
Просмотров: 907
Если вы работаете с удалённым сервером, то проверьте физическое наличие создаваемого результирующего файла в указанной директории, а также время создания файла. Если файла там не будет, а так скорее всего и есть, смотрите лог сервера.
Цитата:
$newnameUchkuma
я php 1 мксяц а Вы видно меньше ,я же описал что работает
ведь я полагаю раз
<input type="file" name="FILE" size="20" />&nbsp;&nbsp;';
то и массиф
$_FILE а не $FILES.

Дочитал. Массив с данными по загруженным файлам тут $_FILES.
Цитата:
то и массиф
$_FILE а не $FILES
- Бред.
Цитата:
я php 1 мксяц а Вы видно меньше
После таких сообщений помощь автору темы на этом форуме обычно заканчивается. Моя, во всяком случае, точно.

Страниц (142): В начало « ... 134 135 136 137 [138] 139 140 141 142 »
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB