Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   скрипт прайс-лист (http://forum.oszone.net/showthread.php?t=31385)

chem1 05-12-2003 17:13 215028

Нужен скрипт для создания прайс-листов. Ну типа несколько форм,  вводишь туда названия товаров, описание, цену и скрипт записывает все это в файл или базу, а затем на ее основе генерируется сам прайс-лист.
Перерыл кучу сайтов и форумов ни где ни чего, кроме вопросов где найти. Удалось нарыть прототип, "снаружи" все что нужно, что "внутри" не ясно. Короче, если кто-нибудь на своем жизненном пути что-либо подобное встречал откликнитесь!!!

Vitki 06-12-2003 00:07 215029

Посмотри тут: http://myweb.ru/

chem1 09-12-2003 13:21 215030

Не нашел.
Слишком много нюансов, видно самому придеться писать.
Думаю на php, хотя ни хрена в нем не понимаю. Может поможете, посоветуете какую-нибудь книжку на русском, желательно присутствующую в интернете. Только учтите, что я в этом вопросе полный лох.

vadimiron 09-12-2003 14:17 215031

есть неплохой курс обучения на сайте http://myphp.net.ru/

Пройдите там все уроки, а потом уже будет понятно куда далее следовать

Sean Ingumsky 10-12-2003 04:35 215032

knife
Я бы посоветовал Perl.
В любом случае, почитайте пока только основное - как писать в базу и делать выборку оттуда, и как выводить данные. Этого Вам вполне должно хватить.

chem1 08-01-2004 11:34 215033

Всем спасибо за советы, решил сам писать, параллельно изучая php. Как и советовал Sean Ingumsky изучил как писать в базу и делать выборку оттуда, и как выводить данные. Все вродебы работает, все хорошо, но апетит как известно приходт во время еды. Хочется мне теперь чтобы забитые позиции имели "срок годности", т.е. поистечении, скажем 2х недель, со времени создания данные строки автоматически удалялись из базы. Подскажите как осуществить!
P.S. Пишу на php+mySQL

Prisoner 09-01-2004 06:01 215034

Надо будет хранить поле даты создания позиции (строчки). Где угодно, когда угодно и как угодно запускать удаление записей у которых (дата_сего_дня-2_недели)>(дата_создания), это можно делать по крону на сервере хостера или ручками... как угодно.

chem1 09-01-2004 12:52 215035

Нашел 2 функции
Date() - выводит текущую дату и время в разных форматах (в зазисимости от параметров)
MkTime() - в данной записи также выдает текущую дату ввиде числа равного кол-ву секунд прошедших со времени "ч".
Я так понял, что получится что-то вроде
$a=MkTime()
$b=MkTime(параметр=2_недели)
$c=$a-$b
if ($c>даты_создания_взятой_из_базы)
{удалить}
else
{отобразить}
Но вот вопрос, в каком виде записывается "параметр=2_недели" ф-ии MkTime

Prisoner 10-01-2004 15:42 215036

неа, достаточно в какое-то время запускать скриптик с таким примерно запросом DELETE FROM <table> WHERE <expression>. Причем условие сформировать средствами php как вы и подумали... только в синтаксисе SQL

chem1 12-01-2004 14:19 215037

Prisoner
Решил "просроченую" позицию не удалять, а просто не отображать.

Разобрался я с параметрами функции mktime ():
mktime (x,x,x,x,x,x), где x=час,мин,сек,месяц,день,год соотв.
Получилось следующее:

1. Позиция добавляется

$now_date=mktime(); // временная метка на данный момент
$date1=mktime(0,0,0,1,1,2003); // временная метка произвольной даты (01.01.2003)
$date2=mktime(0,0,0,1,14,2003); //временная метка на 14 дней больше чем date1 (14.01.2003)
$time14day=$now_date+($date2-$date1); //временная метка = *сегодняшняя дата +14 дней.
$j = mysql_query ("INSERT INTO price (time14day,x,y,z) VALUES ('$time14day,$x,$y,$z')");

Конечно это, криво и каряво, но зато работает.

2. Позиция отображается

Вот тут проблема, как мне построить отображение результатов и в каком виде забить '<expression>' ?


[s]Исправлено: knife, 14:25 12-01-2004[/s]

Prisoner 12-01-2004 15:08 215038

Можно просто добавлять позиции ни о чем не заботясь, а вывод делать так:
Код:

SELECT
   *  
FROM
  `price`
WHERE
  TO_DAYS(`price`.`<дата_занесения>`) > (TO_DAYS(NOW()) - 14)
ORDER BY
  `price`.`<дата_занесения>`

т.е. выводятся все записи не старше 14 дней...

chem1 12-01-2004 17:54 215039

Огромное спасибо Prisoner.
Я почему-то думал, что это надо делать средствами PHP, а оказалось sql.
P.S. Если кому-то интересно, то я нашел подробности на http://www.mysql.com/doc/ru/Date_and...functions.html

Prisoner 12-01-2004 18:29 215040

На основе этих мануалов собственно и решение :)


Время: 20:45.

Время: 20:45.
© OSzone.net 2001-