Я пытаюсь создать систему планирования с использованием PHP и MySQL. У меня есть это, поэтому я могу просматривать/редактировать/удалять сотрудников, оборудование и клиентов. Последнее, что мне нужно сделать, это составить расписание. У меня есть следующие таблицыНе могу понять, как сделать эту форму
-- Lookup table for employee positions.
CREATE TABLE `EmployeePosition` (
`EmployeePositionID` INTEGER AUTO_INCREMENT NOT NULL,
`Name` VARCHAR(100) NOT NULL,
CONSTRAINT `PK_Position` PRIMARY KEY (`EmployeePositionID`),
CONSTRAINT `UK_Position_Name` UNIQUE (`Name`)
);
-- Lookup table for eqipment types.
CREATE TABLE `EquipmentType` (
`EquipmentTypeID` INTEGER AUTO_INCREMENT NOT NULL,
`Name` VARCHAR(100) NOT NULL,
CONSTRAINT `PK_EquipmentType` PRIMARY KEY (`EquipmentTypeID`),
CONSTRAINT `UK_EquipmentType_Name` UNIQUE (`Name`)
);
-- Employee information.
CREATE TABLE `Employee` (
`EmployeeID` INTEGER AUTO_INCREMENT NOT NULL,
`Email` VARCHAR(100) NOT NULL,
`FirstName` VARCHAR(100) NOT NULL,
`LastName` VARCHAR(100) NOT NULL,
`EmployeePositionID` INTEGER NOT NULL,
`HomePhone` VARCHAR(32),
`CellPhone` VARCHAR(32),
`AccessLevel` TINYINT NOT NULL DEFAULT 0,
`IsDisabled` TINYINT NOT NULL DEFAULT 0,
`PwdHash` CHAR(40) NOT NULL DEFAULT 'X',
CONSTRAINT `PK_Employee` PRIMARY KEY (`EmployeeID`),
CONSTRAINT `FK_Employee_EmployeePositionID` FOREIGN KEY (`EmployeePositionID`) REFERENCES `EmployeePosition` (`EmployeePositionID`),
CONSTRAINT `UK_Employee_Email` UNIQUE (`Email`)
);
-- Customer information.
CREATE TABLE `Customer` (
`CustomerID` INTEGER AUTO_INCREMENT NOT NULL,
`Name` VARCHAR(100) NOT NULL,
`Address1` VARCHAR(100),
`Address2` VARCHAR(100),
`City` VARCHAR(100),
`State` VARCHAR(2),
`ZipCode` VARCHAR(20),
`Phone` VARCHAR(32),
`Fax` VARCHAR(32),
`IsDisabled` TINYINT NOT NULL DEFAULT 0,
CONSTRAINT `PK_Customer` PRIMARY KEY (`CustomerID`),
CONSTRAINT `UK_Customer_Name` UNIQUE (`Name`)
);
-- Equipment information.
CREATE TABLE `Equipment` (
`EquipmentID` INTEGER AUTO_INCREMENT NOT NULL,
`Number` VARCHAR(32) NOT NULL,
`EquipmentTypeID` INTEGER NOT NULL,
`IsDisabled` TINYINT NOT NULL DEFAULT 0,
CONSTRAINT `PK_Equipment` PRIMARY KEY (`EquipmentID`),
CONSTRAINT `FK_Equipment_EquipmentTypeID` FOREIGN KEY (`EquipmentTypeID`) REFERENCES `EquipmentType` (`EquipmentTypeID`),
CONSTRAINT `UK_Equipment_Number` UNIQUE (`Number`)
);
-- Basic job information.
CREATE TABLE `ScheduledJob` (
`ScheduledJobId` INTEGER AUTO_INCREMENT NOT NULL,
`CustomerID` INTEGER NOT NULL,
`JobDate` DATETIME NOT NULL,
`ReportTime` DATETIME NOT NULL,
`StartTime` DATETIME NOT NULL,
`JobDescription` MEDIUMTEXT NOT NULL,
CONSTRAINT `PK_ScheduledJob` PRIMARY KEY (`ScheduledJobId`),
CONSTRAINT `FK_ScheduledJob_CustomerID` FOREIGN KEY (`CustomerID`) REFERENCES `Customer` (`CustomerID`)
);
-- Employees tied to jobs.
CREATE TABLE `ScheduledEmployee` (
`ScheduledEmployeeID` INTEGER AUTO_INCREMENT NOT NULL,
`ScheduledJobID` INTEGER NOT NULL,
`EmployeeID` INTEGER NOT NULL,
`Notes` MEDIUMTEXT,
CONSTRAINT `PK_ScheduledEmployee` PRIMARY KEY (`ScheduledEmployeeID`),
CONSTRAINT `FK_ScheduledEmployee_ScheduledJobID` FOREIGN KEY (`ScheduledJobID`) REFERENCES `ScheduledJob` (`ScheduledJobID`),
CONSTRAINT `FK_ScheduledEmployee_EmployeeID` FOREIGN KEY (`EmployeeID`) REFERENCES `Employee` (`EmployeeID`),
CONSTRAINT `UK_ScheduledEmployee` UNIQUE (`ScheduledJobID`, `EmployeeID`)
);
-- Equipment tied to jobs.
CREATE TABLE `ScheduledEquipment` (
`ScheduledEquipmentID` INTEGER AUTO_INCREMENT NOT NULL,
`ScheduledJobID` INTEGER NOT NULL,
`EquipmentID` INTEGER NOT NULL,
`Notes` MEDIUMTEXT,
CONSTRAINT `PK_ScheduledEquipment` PRIMARY KEY (`ScheduledEquipmentID`),
CONSTRAINT `FK_ScheduledEquipment_ScheduledJobID` FOREIGN KEY (`ScheduledJobID`) REFERENCES `ScheduledJob` (`ScheduledJobID`),
CONSTRAINT `FK_ScheduledEquipment_EquipmentID` FOREIGN KEY (`EquipmentID`) REFERENCES `Equipment` (`EquipmentID`),
CONSTRAINT `UK_ScheduledEquipment` UNIQUE (`ScheduledJobID`, `EquipmentID`)
);
форма я пытаюсь сделать должен выглядеть примерно так:
+-------------------------------------------------------------------------------------------------
ScheduledJobID JobDate ReportTime StartTime CustomerID EmployeeID EquipmentID JobDescription
+-------------------------------------------------------------------------------------------------
CustomerID, EmployeeID, EquipmentID все должны быть dropown коробки, которые я могу выбрать из информации, уже в база данных . Я не знаю, с чего начать ... Может кто-нибудь мне помочь. Я знаю, как сделать выпадающие списки, поскольку я уже использую их в моих добавленных формах.
В основном я хочу показать дату работы, время, чтобы сообщить в офис, время, чтобы сообщить клиенту (StartTime), Клиент, с которым мы работаем, Сотрудники на работе, оборудование на работе, и описание работы .... Мы являемся сервисной компанией, и именно так мы планируем. Мы в настоящее время делаем это на бумаге, и я пытаюсь вовлечь нас в XXI век.
SELECT * из таблицы заданий и LEFT JOIN все оборудование и сотрудников таблицы на это. Затем просто отобразите его. Я не совсем уверен, что вы имеете в виду в раскрывающемся меню ... можете ли вы подробно остановиться на этом? – Tularis
Извините. Что я имею в виду - это список ... со стрелкой вниз и он отображает данные из определенной строки в базе данных, которые вы можете выбрать – user3251779
, каков будет запрос к LEFT JOIN двух таблиц в один ... i знаю, как это сделать с другой таблицей ... но не с двумя – user3251779