Имя:    Пароль:      Помнить меня       
Unsorted   ~  Software  ~  Development and Design  ~  Помощь по PHP Все вопросы по PHP сюда
На страницу «  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25  »
Doctor_Mozg
Сообщение  21 Ноя 2006, 16:37  Ссылка : Ответить с цитатой
Возраст: 38 Пол: Мужской  Доверенный пользователь
C нами с 25.01.2005
Репутация: 133

Язык программирования, разработанный специально для динамической генерации веб-страниц. Намного превосходит возможности SSI. Имеет функции работы с базами данных (MySQL), создания графических файлов Jpeg и PNG (библиотека GD), обработки XML-документов и многие другие.
В начало
Профиль : Фотоальбом : Личное Сообщение : ICQ
Олег
Сообщение  17 Июн 2009, 16:34  Ссылка : Ответить с цитатой
Возраст: 45 Пол: Мужской  Доверенный пользователь
C нами с 27.03.2005
Репутация: 205.2

Павлин, когда элемент ассоциативного массива встречается внутри текстовой строки - ключ пишется без кавычек, такой вот причудливый syntax. Улыбочка

Т.е. вместо
  echo "<td>$row['ids']</td>\n";
писать так:
  echo "<td>$row[ids]</td>\n";
И в последующих строках так же.

_____________________________
Уточняйте значение слов, и вы избавите человечество от половины своих заблуждений. Рене Декарт
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail
Олег
Сообщение  17 Июн 2009, 21:10  Ссылка : Ответить с цитатой
Возраст: 45 Пол: Мужской  Доверенный пользователь
C нами с 27.03.2005
Репутация: 205.2

Павлин, прочитал описания полей. Уже лучше, чем ничего, но, по-моему, есть в них какая-то путаница.

Во-первых, осталось неясным содержимое некоторых таблиц (не отдельных полей, а записей в целом). Каждая запись должна по идее соответствовать какому-то объекту (сущности). Каким объектам соответствуют записи таблиц `ceti` и `distrib`, и в чём между ними разница (список полей идентичен)? Судя по наличию полей `idtov` и `kollich`, можно предположить, что каждая запись хранит сведения о продаже (передаче?) некоторого количества некоторого товара? Если да, то кем и кому (пользователем магазину? наоборот?..)?

С пользователями более-менее понятно (исключая загадочный "период"), идём дальше.

С товарами тоже было бы понятно, если бы не ссылка на некого "пользователя". Если каждая запись соответствует абстрактному наименованию товара (например, "Snickers"), то оно не может быть связано с конкретным пользователем; если же каждая строчка — партия товара, находящаяся у конкретного пользователя, то среди полей должен быть его (пользователя) идентификатор.

Загадочная таблица `periods`, судя по списку полей, сопоставляет дню (например, "23 февраля 2005") некое наименование периода. Что бы это значило?

_____________________________
Уточняйте значение слов, и вы избавите человечество от половины своих заблуждений. Рене Декарт
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail
Павлин
Сообщение  17 Июн 2009, 21:41  Ссылка : Ответить с цитатой
Возраст: 38 Пол: Мужской 
C нами с 08.05.2009
Репутация: 5.6

Цитата:


Последний раз редактировалось: Павлин (02 Июл 2009, 13:32), всего редактировалось 1 раз

_____________________________
Прошу не тыкать в мануал его и так предостаточно!!!
В начало
Профиль : Личное Сообщение : Сайт : SkypeID : ICQ
Олег
Сообщение  17 Июн 2009, 22:06  Ссылка : Ответить с цитатой
Возраст: 45 Пол: Мужской  Доверенный пользователь
C нами с 27.03.2005
Репутация: 205.2

Павлин, давайте по порядку. Если структура БД будет адекватно отражать описываемые процессы — отчёты можно будет делать, какие угодно. Итак, какова схема описываемого процесса? Например, какой путь проделывают товары? Куда попадают, кому передаются, куда идут дальше и т.д.?

Что касается периодов — если они всегда по 28 дней — можно вообще не делать с ними таблиц, а генерировать диапазоны в PHP. Впрочем, если хочется иметь таблицу — не стоит хранить в ней данные с такой избыточностью. Достаточно трёх полей: `period_id`, `start` и `end` (первый и последний день периода).

Добавлено спустя 4 минуты 32 секунды:

Да, и про разницу между двумя первыми таблицами не забудьте. Подмигивание

_____________________________
Уточняйте значение слов, и вы избавите человечество от половины своих заблуждений. Рене Декарт
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail
Павлин
Сообщение  18 Июн 2009, 8:01  Ссылка : Ответить с цитатой
Возраст: 38 Пол: Мужской 
C нами с 08.05.2009
Репутация: 5.6

Олег, Я только за!
Цитата:
Например, какой путь проделывают товары? Куда попадают, кому передаются, куда идут дальше и т.д.?

1.Наша компания->Дистрибюторы (Пользователи)->Конечный магазин.
2.Мы даём товар->Дистрибюторам они находят магазины и продают-> магазинам.
3.Дистрибюторы для отчётности раньше лепили XLS файлики и присылали по почте, а именно отчет содержал наименование тов. магазины, в какой период продано, количество и т.д.
4.К концу периода по предоставлению этого отчета им начисляются бонусы в зависимости от продаж и они получали свои кровные.
5.Магазины в отчете по сути ни какой роли не несут. Пример: Я (Пользователь)вася, продал в первом периоде (Магазину)Пете 25 коробок мороженного не имея гроша за душой и прошу расчитать мне зарплату из расчета проделанной работы.
Наша компания(Работодатель) отпускает товар Васе не берёт за товар денег у Васи, Вася товар реалезует, делает отчет, товар отвозят агенты и отдают счета на оплату (Магазину) Но Вася же не будет ждать когда Петя расплатится и он вынужден делать отчет чтоб вовремя получить своё бабло.
Цитата:
Что касается периодов — если они всегда по 28 дней — можно вообще не делать с ними таблиц, а генерировать диапазоны в PHP. Впрочем, если хочется иметь таблицу — не стоит хранить в ней данные с такой избыточностью. Достаточно трёх полей: `period_id`, `start` и `end` (первый и последний день периода).

Ну тут надо подумать Улыбочка
В году 365 дней, а 13 периодов* на 28 дней это равно шас калькулятор достану Улыбочка это равно 364 дня В итоге мы получаем по вашему уже не 13 периодов а 13 и один день, а комп поймет что уже 14 период начался, а тупой вася не глянув какой период отобразился начнет забивать отчет и он упадет в 14 период итог Вася не доволен почему у него за один день не досчитали к его зарплате пару тыщ Я в шоке!
Ну а если я тупо назначу каждому дню свой период то можно исходя из текущей даты сверив с таблицей и вывести точный период.

_____________________________
Прошу не тыкать в мануал его и так предостаточно!!!
В начало
Профиль : Личное Сообщение : Сайт : SkypeID : ICQ
Олег
Сообщение  18 Июн 2009, 8:27  Ссылка : Ответить с цитатой
Возраст: 45 Пол: Мужской  Доверенный пользователь
C нами с 27.03.2005
Репутация: 205.2

Павлин, хорошо, движемся в нужном направлении. Однако Вы таки забыли ответить на вопрос: в чём разница между таблицами `ceti` и `distrib`?

_____________________________
Уточняйте значение слов, и вы избавите человечество от половины своих заблуждений. Рене Декарт
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail
Павлин
Сообщение  18 Июн 2009, 8:37  Ссылка : Ответить с цитатой
Возраст: 38 Пол: Мужской 
C нами с 08.05.2009
Репутация: 5.6

А как понять когда MYSQL а когда PHP ругается? Я убрал ковычки с кода теперь следущая ошибка
Цитата:
Fatal error: Call to undefined function mysql_fetchrow() in Z:\home\test1.ru\www\index3.php on line 16
$userz="3";
$sql2 = "SELECT  users*, d.idk, d.idtov AS idtov_d,  
d. klientd, d.kollich2, d.ids AS d.ids_d, d.idtov AS idtov_d, 
c.idc, c.idtov AS idtov_c, c.clientc, c.kollich, c.ids AS ids_c  
             FROM `users` m, 
                LEFT JOIN distrib AS d ON u.ids = d.ids
                LEFT JOIN ceti AS c ON u.ids = c.ids
             WHERE u.period='" . $userz . "'
             GROUP BY u.ids";
@$result = mysql_query($sql2);

echo "<table>";
while($row = mysql_fetchrow($sql2 , $result))
{
  echo "<tr>";
  echo "<td>$row[ids]</td>\n";
  echo "<td>$row[Names]</td>\n";
  echo "<td>$row[LogName]</td>\n";
  echo "<td>$row[yearsid]</td>\n";
  echo "<td>$row[period]</td>\n";
  echo "</tr>";
}
  echo "</table>";


echo "<table>";
while($row = mysql_fetch_row($sql2 , $result))
{
  echo "<tr>";
  echo "<td>$row[idk]</td>\n";
  echo "<td>$row[idtov_d]</td>\n";
  echo "<td>$row[klientd]</td>\n";
  echo "<td>$row[kollich2]</td>\n";
  echo "<td>$row[ids]</td>\n";
  echo "</tr>";
}
  echo "</table>";

echo "<table>";
while($row = mysql_fetch_row($sql2 , $result))
{
  echo "<tr>";
  echo "<td>$row[idc]</td>\n";
  echo "<td>$row[idtov]</td>\n";
  echo "<td>$row[kollich]</td>\n";
  echo "<td>$row[ids]</td>\n";
  echo "</tr>";
}
  echo "</table>";
// Запрос позволит сделать также и Сводную табл. по ids
// Например
echo "<table>";
while($row = mysql_fetch_row($sql2 , $result))
{
  echo "<tr>";
  echo "<td>$row[ids]</td>\n";
  echo "<td>$row[Names]</td>\n";
  echo "<td>$row[LogName]</td>\n";
  echo "<td>$row[yearsid]</td>\n";
  echo "<td>$row[period]</td>\n"; 
  echo "<td>$row[idk]</td>\n";
  echo "<td>$row[idtov]</td>\n";
  echo "<td>$row[klientd]</td>\n";
  echo "<td>$row[kollich2]</td>\n";
  echo "<td>$row[idc]</td>\n";
  echo "<td>$row[idtov]</td>\n";
  echo "<td>$row[kollich]</td>\n";
  echo "</tr>";
}
  echo "</table>";



mysql_close($db);
?>

_____________________________
Прошу не тыкать в мануал его и так предостаточно!!!
В начало
Профиль : Личное Сообщение : Сайт : SkypeID : ICQ
Олег
Сообщение  18 Июн 2009, 8:49  Ссылка : Ответить с цитатой
Возраст: 45 Пол: Мужской  Доверенный пользователь
C нами с 27.03.2005
Репутация: 205.2

Павлин писал(а):
А как понять когда MYSQL а когда PHP ругается?
MySQL сам по себе ругаться не умеет (некуда ему ругаться кроме логов собственных). Для того, чтобы услышать его мольбы, нужно самому спросить у функции mysql_error(), в чём проблема. Также PHP может по доброте душевной выводить некоторые сообщения о неудачах в функциях, работающих с MySQL, например, так:
Цитата:
PHP Warning: mysql_connect(): Access denied for user 'root'@'localhost' (using password: NO) in C:\temp\test.php on line 1

Павлин писал(а):
Я убрал ковычки с кода теперь следущая ошибка
Цитата:
Fatal error: Call to undefined function mysql_fetchrow() in Z:\home\test1.ru\www\index3.php on line 16
Очепятка (пропущен подчерк): mysql_fetch_row().

Добавлено спустя 25 секунд:

И ответьте на вопрос выше, пожалуйста. Злой Весело

_____________________________
Уточняйте значение слов, и вы избавите человечество от половины своих заблуждений. Рене Декарт
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail
Павлин
Сообщение  18 Июн 2009, 9:07  Ссылка : Ответить с цитатой
Возраст: 38 Пол: Мужской 
C нами с 08.05.2009
Репутация: 5.6

Цитата:


Последний раз редактировалось: Павлин (02 Июл 2009, 13:36), всего редактировалось 1 раз

_____________________________
Прошу не тыкать в мануал его и так предостаточно!!!
В начало
Профиль : Личное Сообщение : Сайт : SkypeID : ICQ
Олег
Сообщение  18 Июн 2009, 12:06  Ссылка : Ответить с цитатой
Возраст: 45 Пол: Мужской  Доверенный пользователь
C нами с 27.03.2005
Репутация: 205.2

Павлин, не флудите, по чём зря. http://ru.php.net/manual/ru/function.mysql-fetch-row.php Текст запроса ей совсем не нужен, только результат ($result).

Вы вопрос про таблицы (выше) игнорируете из каких-нибудь соображений?

_____________________________
Уточняйте значение слов, и вы избавите человечество от половины своих заблуждений. Рене Декарт
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail
Suber
Сообщение  18 Июн 2009, 12:09  Ссылка : Ответить с цитатой
Возраст: 39 Пол: Мужской  Доверенный пользователь
C нами с 21.02.2005
Репутация: 132.4

Олег, имхо вы зря тратите свое время Улыбочка
Moderation by Рыся @ 18 Июн 2009, 12:19:
Предупреждение: флуд.
В начало
Профиль : Личное Сообщение
Павлин
Сообщение  18 Июн 2009, 12:33  Ссылка : Ответить с цитатой
Возраст: 38 Пол: Мужской 
C нами с 08.05.2009
Репутация: 5.6

Олег, Я его просто не заметил
Цитата:
чём разница между таблицами `ceti` и `distrib`?

Я вообще думаю их обединить в одну и сбавиться от лишних полей, это как я их создал изначально так и остались. Они одинаковы только в них разница в том что есть прямые продажи и сетевые вот и фсё

Добавлено спустя 5 минут 42 секунды:

Suber, А вот и не флуд это а просьба о помощи кто то может разбираться а кому то надо и помочь!

Добавлено спустя 4 минуты 51 секунду:

Suber, Для того чтоб объяснить надо много терпения у Олега оно есть и я за это уважаю, а у вас походу его нет и что из за этого надо влезть в разговор и объявить о флуде, хотя можно было проигнорировать, а от оповещения по этой теме на время отказаться! Подмигивание

_____________________________
Прошу не тыкать в мануал его и так предостаточно!!!
В начало
Профиль : Личное Сообщение : Сайт : SkypeID : ICQ
Suber
Сообщение  18 Июн 2009, 12:53  Ссылка : Ответить с цитатой
Возраст: 39 Пол: Мужской  Доверенный пользователь
C нами с 21.02.2005
Репутация: 132.4

Павлин, Улыбочка а че не объединить их в 1 таблицу добавив столбец "ТипПродаж" ?

про нормальные формы слышали? советую почитать книжку какую-нить по БД.
В начало
Профиль : Личное Сообщение
Павлин
Сообщение  18 Июн 2009, 13:08  Ссылка : Ответить с цитатой
Возраст: 38 Пол: Мужской 
C нами с 08.05.2009
Репутация: 5.6

Улыбочка


Последний раз редактировалось: Павлин (02 Июл 2009, 13:23), всего редактировалось 1 раз

_____________________________
Прошу не тыкать в мануал его и так предостаточно!!!
В начало
Профиль : Личное Сообщение : Сайт : SkypeID : ICQ
Олег
Сообщение  18 Июн 2009, 13:40  Ссылка : Ответить с цитатой
Возраст: 45 Пол: Мужской  Доверенный пользователь
C нами с 27.03.2005
Репутация: 205.2

Павлин писал(а):
Я вообще думаю их обединить в одну
Вот-вот, я как раз к этому и подводил. Улыбочка

Тогда я бы предложил так и назвать таблицу: `Sales` (продажи); и поля тоже как-то попонятней для удобства обозвать, скажем, так:
`S_ID` (Sale ID) — уник. ид-тор продажи (порядковый номер);
`S_UID` (User ID) — ид-тор продавшего пользователя (из таблицы пользователей);
`S_AID` (Article ID) — ид-тор проданного товара (из таблицы товаров);
`S_Amount` — количество проданного товара (число);
`S_Client` — название (и т.п.) купившего магазина (можно сделать таблицу с магазами, тогда здесь тоже будет только ид-тор);
`S_Date` — дата продажи (она ведь важна? или номер периода);
`S_Type` — тип продажи: (прямая/сетевая, что бы это ни значило))).

Далее, таблица `Users` (пользователи):
`U_ID` (User ID) — уник. ид-р пользователя;
`U_Name` — имя пользователя (ФИО);
`U_Login` — логин пользователя;
`U_Year` — год рождения (возраст апдейтить устанете!).

Таблица `Articles` (товары):
`A_ID` (Article ID) — уник. ид-р товара;
`A_Name` — наименование товара;
`A_Package` — вид упаковки;
`A_Volume` — объём (если Вы имели в виду тот объём, о котором я подумал... ну или здесь и далее другие свойства товара, но никак не остатки на складах!).

Ну и таблица `Periods` (периоды):
`P_ID` (Period ID) — уник. ид-р периода;
`P_Start` — дата начала периода;
`P_End` — дата окончания периода.

Похоже на правду? Какие ещё данные нужно хранить? Если, например, нужно знать количество каждого товара на складе у каждого пользователя — лучше делать это в отдельной таблице с полями UID, AID и Amount. (Если известно, сколько товара было передано пользователю, и сколько он продал — количество товара на складе можно вычислять автоматически, но с ростом объёма базы эта операция может стать довольно долгой, т.ч. отдельная таблица, вероятно, не помешает).

Ну и, если с тем, что выше, всё в порядке — можно, наверно, вернуться к основному вопросу. Что там нужно было вывести в таблицу? Сформулируйте, пожалуйста, аккуратно, а-то "period=$userz" — не понятно.

Ситуация с начальством знакома "до боли"... Очень любят у нас взять в штат такого замечательного "админа", чтобы он и сеть поднял, и сервером рулил, и секретаршам с почтой помогал, и компы чинил, и провода тянул, и мини-АТС ещё желательно настраивал... Ну да в Вашем случае это на пользу: навыки пригодятся по-любому.

_____________________________
Уточняйте значение слов, и вы избавите человечество от половины своих заблуждений. Рене Декарт
В начало
Профиль : Фотоальбом : Блог : Личное Сообщение : E-mail
Показать сообщения:   
На страницу «  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25  »

Unsorted   ~  Software  ~  Development and Design  ~  Помощь по PHP

Ответить на тему

Перейти:  





Powered by phpBB   © Unsorted Team  support@unsorted.me  promo@unsorted.me  Полезные скрипты