0

Ok, before I start, DANIWEB is my last resort to get help. it seems the people on the other sites are having trouble understanding and/or helping me with this... anyway, here is what I am trying to do: I have a website with a folder structure that I allow users to browse to select a category where they can upload they’re relevant pdf documents, for instance, the root folder is “data”, then they have to select a grade, like grade 12 or 11 or 10 whatever, then a subject say “geography”, “maths” or whatever, inside the selected subject they have to pick a sub category say: if they selected “geography” then ”erosion” is a subtopic for geography. This works well with the folder structure on the website, but I want to change the system to use a sql database with the relevant tables instead of folders. I have already created the sql database and written a php script to connect to the database, now I need to get the rest done…. Can anyone help me write this code, I will put dedicated pages on my website advertising your help!!! I am truly desperate

Regards
Gabriel Roos

Edited by pritaeas: Removed email.

4
Contributors
22
Replies
162
Views
3 Years
Discussion Span
Last Post by Gabrielroos
0

now I need to get the rest done

Are you looking for someone to write it for you, or do you have specific smaller problems you want help with? In case of the latter, please describe the first issue.

0

Hi, yes, I seem to be fairly useless with writing my own code, if I can find someone to do it for me I will give all credits to that person as well as create a dedicated page on my own website for his/her benefit... I really am desperate...

0

Can we at least see your database table structure? Also, it would be nice if you can provide a wish list as in SCRUM prioritize wish list or back log. It will be a lot easier to estimates how much work is needed.

0

as far as I know a sql database will allow pdf files to be uploaded in binary streams which is very secure? anyway, I know a bit about html and php but not sure about cms...I will do some reasearch...

0

Hi veedeoo... can I mail you my database? or do you need access to my cpanel, the site is empty and useless at the moment? I dont mind making this a community project?

0

Hi,

GitHub or sourceForge are cool either one would be nice, all you need to do is go to your myPHPAdmin and then click on the database table for this project and then click on the export button. On the export page, select sql, click go, download should commence. After the download, save the file as text file or you can leave it with .sql extension.

You can either include it to your response or upload it to your server and give us the link, or send it to your github account e.g. myaccount.

If you take the github or sourceforge route, then it will be very helpful to include all of your pHP files in there.

1

Attached image is a good example of a cms backlog or wish list. I just finished developing it 3 days ago. It took me months but it came out pretty cool I think. It is now in alpha version awaiting to be scrutinized by my fellow geeks.

The idea is to be able to monitor the progress or at least see the panoramic view of the entire project. Most importantly is the ease of designing the database.

Edited by veedeoo: info added

Attachments cmsdesign.jpg 298.19 KB
0

ok, here is the database, its all related to education, the afrikaans is a language subject for instance...

0

database extention changed crom sql to txt

Attachments
-- phpMyAdmin SQL Dump
-- version 4.0.8
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Nov 12, 2013 at 12:43 PM
-- Server version: 5.1.70-cll
-- PHP Version: 5.3.17

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `edynam0_mysql`
--

-- --------------------------------------------------------

--
-- Table structure for table `EDUDATA_mysql`
--

CREATE TABLE IF NOT EXISTS `EDUDATA_mysql` (
  `edudataid` int(11) NOT NULL,
  `filename` varchar(150) NOT NULL,
  `filecontent` blob NOT NULL,
  `subtopicid` int(11) NOT NULL,
  `sortkey` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Table structure for table `SUBJECT_mysql`
--

CREATE TABLE IF NOT EXISTS `SUBJECT_mysql` (
  `subjectid` int(11) NOT NULL,
  `subjectname` varchar(50) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `SUBJECT_mysql`
--

INSERT INTO `SUBJECT_mysql` (`subjectid`, `subjectname`) VALUES
(12, 'Accounting'),
(92, 'Afrikaans FAL'),
(76, 'Business Studies'),
(17, 'Economics'),
(93, 'English FAL'),
(91, 'English HL'),
(28, 'Geography'),
(94, 'History'),
(75, 'Information Technology'),
(22, 'Life Orientation'),
(73, 'Life Sciences'),
(70, 'Mathematical Literacy'),
(7, 'Mathematics'),
(11, 'Physical Science');

-- --------------------------------------------------------

--
-- Table structure for table `SUBTOPIC_mysql`
--

CREATE TABLE IF NOT EXISTS `SUBTOPIC_mysql` (
  `subtopicid` int(11) NOT NULL,
  `topicid` int(11) NOT NULL,
  `subtopicname` varchar(80) NOT NULL,
  `sortkey` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `SUBTOPIC_mysql`
--

INSERT INTO `SUBTOPIC_mysql` (`subtopicid`, `topicid`, `subtopicname`, `sortkey`) VALUES
(3, 164, 'Physical Education', 1),
(6, 1, 'Adapting to Challenges In Business Environments', 1),
(7, 96, 'Adjustments, Closing Transfers, General Ledger', 1),
(14, 2, 'Algebra', 1),
(15, 3, 'Algebra', 1),
(16, 4, 'Algebra', 1),
(21, 5, 'Analytical Geometry', 1),
(22, 6, 'Analytical Geometry', 1),
(23, 7, 'Analytical Geometry', 1),
(26, 8, 'Apartheid in South Africa 1940''s to 1960''s', 1),
(27, 194, 'Application Development', 1),
(28, 195, 'Application Development', 1),
(31, 10, 'Avenues of Acquiring a Business', 1),
(36, 71, 'Biodiversity - Classification of Microorganisms', 1),
(38, 70, 'Biodiversity & Classification', 1),
(39, 12, 'Bookkeeping of Non-profit Organisations (Clubs)', 1),
(40, 13, 'Bookkeeping of Partnerships', 1),
(42, 16, 'Budgeting', 1),
(43, 17, 'Budgeting', 1),
(44, 20, 'Business Plans', 1),
(46, 22, 'Business Sectors', 1),
(47, 23, 'Business Sectors & Their Environments', 1),
(48, 50, 'Calculation of Costs in a Manufacturing Environment', 1),
(51, 24, 'Capitalism & the USA 1900 to 1940', 1),
(65, 15, 'Cash Budgets', 1),
(71, 28, 'Challenges of the Micro Environment', 1),
(74, 34, 'Chemical Industry', 1),
(75, 129, 'Chemistry of Life', 1),
(76, 220, 'China: 1368 to 1644', 1),
(77, 36, 'Civil Resistance 1970''s to 1980''s in South Africa', 1),
(78, 37, 'Civil Society Protests', 1),
(80, 39, 'Close Corporations', 1),
(81, 40, 'Colonial Expansion', 1),
(82, 27, 'Careers & Career Choices', 1),
(83, 44, 'Communism in Russia 1900 to 1940', 1),
(87, 45, 'Companies: Unique Transactions', 1),
(89, 134, 'Components & Features of the Macro Environment', 1),
(90, 151, 'Components & Features of the Micro Business Environment', 1),
(91, 141, 'Components of the Market Environment', 1),
(92, 209, 'Composition & Structure of the Atmosphere', 1),
(94, 127, 'Compulsory & Non-compulsory Insurance', 1),
(98, 189, 'Computers and Society', 1),
(99, 190, 'Computers and Society', 1),
(100, 191, 'Computers and Society', 1),
(101, 200, 'Concepts of Stress, Crisis & Change Management', 1),
(104, 186, 'Social & Environmental Responsibility', 1),
(105, 46, 'Contemporary Socioeconomic Issues that Impact on Business', 1),
(107, 117, 'Control Factors', 1),
(111, 49, 'Corporate Social Responsibility', 1),
(112, 51, 'Cost Accounting', 1),
(113, 52, 'Cost Accounting: Manufacturing Concepts', 1),
(115, 53, 'Creative Thinking', 1),
(116, 54, 'Creative Thinking & Its Contribution to Business', 1),
(117, 55, 'Creative Thinking & Problem Solving', 1),
(120, 72, 'Darwinism & Natural Selection', 1),
(121, 59, 'Data Handling', 1),
(122, 60, 'Data Handling', 1),
(123, 61, 'Data Handling', 1),
(124, 56, 'Data Representation', 1),
(125, 57, 'Database Design', 1),
(126, 58, 'Database Design', 1),
(132, 48, 'Definition of a Contract', 1),
(134, 63, 'Democracy & Human Rights', 1),
(136, 19, 'Development of a Research Instrument & The Assessment of Needs & Desires', 1),
(137, 69, 'Differential Calculus', 1),
(139, 62, 'Democracy & Human Rights', 1),
(140, 130, 'DNA Code of Life', 1),
(141, 233, 'Doppler Effect', 1),
(142, 112, 'Drainage Systems in South Africa', 1),
(150, 76, 'Electric Circuits', 1),
(156, 75, 'Electrostatics', 1),
(161, 132, 'Energy Transformations to Support Life: Photosynthesis', 1),
(163, 9, 'Entrepreneurial Qualities & Success Factors', 1),
(164, 77, 'Entrepreneurship Qualities', 1),
(167, 187, 'Social & Environmental Responsibility', 1),
(169, 188, 'Social & Environmental Responsibility', 1),
(173, 81, 'Ethics', 1),
(174, 82, 'Ethics', 1),
(175, 83, 'Ethics', 1),
(176, 84, 'Euclidean Geometry & Measurement', 1),
(177, 85, 'Euclidean Geometry & Measurement', 1),
(178, 86, 'Euclidean Geometry & Measurement', 1),
(179, 87, 'European Expansion', 1),
(183, 18, 'Factors that Impact Business Location Decisions', 1),
(187, 88, 'Final Accounts of Sole Trade', 1),
(188, 89, 'Finance', 1),
(189, 90, 'Finance', 1),
(190, 91, 'Finance', 1),
(191, 94, 'Finance, Growth & Decay', 1),
(192, 95, 'Financial Accounting of Partnerships: Analysis & Interpretation', 1),
(193, 97, 'Fixed Assets', 1),
(194, 98, 'Fixed Assets', 1),
(201, 11, 'Forms of Ownership', 1),
(202, 99, 'Forms of Ownership', 1),
(203, 100, 'Forms of Ownership & Their Impact on the Business Operation', 1),
(205, 101, 'Functions', 1),
(206, 102, 'Functions', 1),
(207, 103, 'Functions', 1),
(208, 104, 'GAAP Principles', 1),
(209, 105, 'GAAP Principles', 1),
(210, 106, 'GAAP Principles', 1),
(217, 232, 'Geometrical Optics', 1),
(221, 205, 'Hardware', 1),
(222, 206, 'Hardware', 1),
(231, 113, 'Human Rights, Inclusivity & Environmental Issues', 1),
(232, 32, 'Hydrosphere', 1),
(234, 114, 'Ideas of Race in the Late 19th & 20th Centuries', 1),
(236, 47, 'Impact & Challenges of Contemporary Socioeconomic Issues on Business Operations', 1),
(237, 136, 'Impact of Recent Legislation on Business', 1),
(238, 163, 'Physical Education', 1),
(240, 115, 'Independent Africa', 1),
(242, 116, 'Indigenous Bookkeeping', 1),
(247, 118, 'Internal Control', 1),
(248, 119, 'Internal Control', 1),
(249, 120, 'Internal Control', 1),
(255, 124, 'Interrelationship between Micro, Market & Macro Environment Features', 1),
(256, 204, 'Introduction to Computers', 1),
(257, 193, 'Introduction to Solution Development', 1),
(258, 148, 'Introduction to Vectors & Scalars', 1),
(259, 125, 'Inventory Systems', 1),
(260, 126, 'Inventory Systems', 1),
(271, 68, 'Development of the Self in Society', 1),
(272, 33, 'Lithosphere', 1),
(276, 74, 'Magnetism', 1),
(277, 137, 'Management & Leadership', 1),
(279, 138, 'Maps, Plans & Other Representations', 1),
(280, 139, 'Maps, Plans & Other Representations', 1),
(281, 140, 'Maps, Plans & Other Representations', 1),
(282, 107, 'Mapwork Skills', 1),
(283, 108, 'Mapwork Skills', 1),
(284, 109, 'Calculations', 1),
(285, 217, 'Marketing Activities', 1),
(288, 142, 'Matter & Classification', 1),
(289, 145, 'Measurement', 1),
(290, 146, 'Measurement', 1),
(291, 147, 'Measurement', 1),
(295, 38, 'Mid-latitude Cyclones', 1),
(298, 143, 'Molecular Structure', 1),
(299, 150, 'Momentum & Impulse', 1),
(301, 149, 'Motion in Two Dimensions', 1),
(304, 152, 'Nationalism', 1),
(306, 41, 'Networks', 1),
(307, 42, 'Networks', 1),
(308, 43, 'Networks', 1),
(313, 153, 'Number Patterns, Sequences, Series', 1),
(314, 154, 'Number Patterns, Sequences, Series', 1),
(315, 155, 'Number Patterns, Sequences, Series', 1),
(316, 156, 'Numbers & Calculations With Numbers', 1),
(317, 157, 'Numbers & Calculations With Numbers', 1),
(318, 158, 'Numbers & Calculations With Numbers', 1),
(320, 144, 'Optical Phenomena & Properties of Materials', 1),
(326, 159, 'Patterns, Relationships & Representations', 1),
(327, 160, 'Patterns, Relationships & Representations', 1),
(328, 161, 'Patterns, Relationships & Representations', 1),
(331, 29, 'Physical & Chemical Change', 1),
(332, 162, 'Physical Education', 1),
(333, 67, 'Development of the Self in Society', 1),
(336, 165, 'Population Distribution & Density', 1),
(342, 167, 'Presentation of Business Information', 1),
(343, 166, 'Presentation of Business Reports', 1),
(344, 168, 'Presentation of Information & Data Response', 1),
(345, 21, 'Primary, Secondary & Tertiary Sectors', 1),
(346, 169, 'Probability', 1),
(347, 170, 'Probability', 1),
(350, 171, 'Probability', 1),
(351, 172, 'Probability', 1),
(354, 173, 'Probability', 1),
(355, 174, 'Probability', 1),
(358, 135, 'Problem Solving Skills', 1),
(362, 218, 'Production Systems', 1),
(363, 175, 'Professionalism & Ethics', 1),
(364, 176, 'Professionalism & Ethics', 1),
(368, 177, 'Quality of Performance within Business Functions', 1),
(369, 31, 'Reaction Rate', 1),
(372, 178, 'Reconciliations', 1),
(373, 179, 'Reconciliations', 1),
(376, 203, 'Study Skills', 1),
(380, 133, 'Reproduction in Vertebrates', 1),
(381, 26, 'Careers & Career Choices', 1),
(383, 64, 'Democracy & Human Rights', 1),
(396, 183, 'Salaries & Wages', 1),
(398, 66, 'Development of the Self in Society', 1),
(399, 184, 'Self-Management', 1),
(401, 185, 'Skills for Practical Investigation', 1),
(405, 192, 'Social Responsibility of Business towards the Immediate Community', 1),
(414, 14, 'Source Documents', 1),
(415, 219, 'South Africa 1899 to 1910', 1),
(416, 19
0

Hi,

After looking at your database file, I just noticed that non of them were assigned as primary or auto-incremented. It will be defficult to sort by relationship, parent-to-child relationship without any pilot table ( the table that can be use as reference as we conduct a JOIN query).

For example, the table called SUBJECT_mysql should make the subjectid column as auto-incremented. By doing so, we can easily search subject name, and then use the queried subjectid for something else later on.

Another example, is the table called TOPIC_mysq. We can set the topicid column as auto-incremented and then on the SUBTOPIC_mysql topic table the topicid column is equivalent to the topicid of TOPIC_mysql table, and once again make the subtopicid as auto-incremented. By using this type of a database design, we can sort the children of all topics using only the topicid. This is pretty similar to category - sub-category - sub-sub-category relationship design model presented in the mySQL consortium some years ago.

What i want you to provide us is a simple block diagram on how the users will interact with your website. Please take a look at the attached image on my previous response. That is the only clearer way we can make an effective database design, because it is the anticipation of all transactions between the users and the application.

Give us the diagram, and I will do my best to rewrite your database structure. We cannot proceed writing codes without the operational core of the application.

0

I might left a cloudy ideas. So, here is a simple flow of the design.

Let us take Chemistry as the subject of interest.

parent
CourseId = 1
CouseName = Chemistry

Sub-Field of concentration in chemistry ( this will act as child)
subId = 2 , parentId = 1 ( chemistry), subCourseName = generalChemistry
subId = 3 , parentId = 1 (chemistry), subCourseName = Organic Chemistry
subId = 4 , parentId = 1 (chemistry), subCourseName = BioChemistry

Grand Children of Chemistry
sub_subId= 3 , parentId = 2, GrandParentId = 1, tags = valence eletron, oxidation reduction, intro to neuclear chemistry, pdfFileName = generalChem, available = 1 ( switch to true or false if the pdf file is available).

sub_subId= 4 , parentId = 3, GrandParentId = 1, tags = aromatic, isomerism of organic compound, organic bases and acids, pdfFileName = organicChem, available = 1 ( switch to true or false if the pdf file is available).

Edited by veedeoo: info added

0

Good morning veedeoo... ok, I changed n few things in the database, see attatched. I have also made a diagram of how the whole thing should work... Thank you so much for your willingness to help me with this, I realy appreciate it...

Attachments
-- phpMyAdmin SQL Dump
-- version 4.0.8
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Nov 13, 2013 at 09:01 AM
-- Server version: 5.1.70-cll
-- PHP Version: 5.3.17

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `edynam0_mysql`
--

-- --------------------------------------------------------

--
-- Table structure for table `EDUDATA_mysql`
--

CREATE TABLE IF NOT EXISTS `EDUDATA_mysql` (
  `edudataid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `filename` varchar(150) NOT NULL,
  `filecontent` blob NOT NULL,
  `subtopicid` int(11) NOT NULL,
  `sortkey` int(11) NOT NULL,
  PRIMARY KEY (`edudataid`),
  UNIQUE KEY `edudataid` (`edudataid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Table structure for table `SUBJECT_mysql`
--

CREATE TABLE IF NOT EXISTS `SUBJECT_mysql` (
  `subjectid` int(11) NOT NULL,
  `subjectname` varchar(50) NOT NULL,
  PRIMARY KEY (`subjectid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `SUBJECT_mysql`
--

INSERT INTO `SUBJECT_mysql` (`subjectid`, `subjectname`) VALUES
(12, 'Accounting'),
(92, 'Afrikaans FAL'),
(76, 'Business Studies'),
(17, 'Economics'),
(93, 'English FAL'),
(91, 'English HL'),
(28, 'Geography'),
(94, 'History'),
(75, 'Information Technology'),
(22, 'Life Orientation'),
(73, 'Life Sciences'),
(70, 'Mathematical Literacy'),
(7, 'Mathematics'),
(11, 'Physical Science');

-- --------------------------------------------------------

--
-- Table structure for table `SUBTOPIC_mysql`
--

CREATE TABLE IF NOT EXISTS `SUBTOPIC_mysql` (
  `subtopicid` int(11) NOT NULL,
  `topicid` int(11) NOT NULL,
  `subtopicname` varchar(80) NOT NULL,
  `sortkey` int(11) NOT NULL,
  PRIMARY KEY (`subtopicid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `SUBTOPIC_mysql`
--

INSERT INTO `SUBTOPIC_mysql` (`subtopicid`, `topicid`, `subtopicname`, `sortkey`) VALUES
(3, 164, 'Physical Education', 1),
(6, 1, 'Adapting to Challenges In Business Environments', 1),
(7, 96, 'Adjustments, Closing Transfers, General Ledger', 1),
(14, 2, 'Algebra', 1),
(15, 3, 'Algebra', 1),
(16, 4, 'Algebra', 1),
(21, 5, 'Analytical Geometry', 1),
(22, 6, 'Analytical Geometry', 1),
(23, 7, 'Analytical Geometry', 1),
(26, 8, 'Apartheid in South Africa 1940''s to 1960''s', 1),
(27, 194, 'Application Development', 1),
(28, 195, 'Application Development', 1),
(31, 10, 'Avenues of Acquiring a Business', 1),
(36, 71, 'Biodiversity - Classification of Microorganisms', 1),
(38, 70, 'Biodiversity & Classification', 1),
(39, 12, 'Bookkeeping of Non-profit Organisations (Clubs)', 1),
(40, 13, 'Bookkeeping of Partnerships', 1),
(42, 16, 'Budgeting', 1),
(43, 17, 'Budgeting', 1),
(44, 20, 'Business Plans', 1),
(46, 22, 'Business Sectors', 1),
(47, 23, 'Business Sectors & Their Environments', 1),
(48, 50, 'Calculation of Costs in a Manufacturing Environment', 1),
(51, 24, 'Capitalism & the USA 1900 to 1940', 1),
(65, 15, 'Cash Budgets', 1),
(71, 28, 'Challenges of the Micro Environment', 1),
(74, 34, 'Chemical Industry', 1),
(75, 129, 'Chemistry of Life', 1),
(76, 220, 'China: 1368 to 1644', 1),
(77, 36, 'Civil Resistance 1970''s to 1980''s in South Africa', 1),
(78, 37, 'Civil Society Protests', 1),
(80, 39, 'Close Corporations', 1),
(81, 40, 'Colonial Expansion', 1),
(82, 27, 'Careers & Career Choices', 1),
(83, 44, 'Communism in Russia 1900 to 1940', 1),
(87, 45, 'Companies: Unique Transactions', 1),
(89, 134, 'Components & Features of the Macro Environment', 1),
(90, 151, 'Components & Features of the Micro Business Environment', 1),
(91, 141, 'Components of the Market Environment', 1),
(92, 209, 'Composition & Structure of the Atmosphere', 1),
(94, 127, 'Compulsory & Non-compulsory Insurance', 1),
(98, 189, 'Computers and Society', 1),
(99, 190, 'Computers and Society', 1),
(100, 191, 'Computers and Society', 1),
(101, 200, 'Concepts of Stress, Crisis & Change Management', 1),
(104, 186, 'Social & Environmental Responsibility', 1),
(105, 46, 'Contemporary Socioeconomic Issues that Impact on Business', 1),
(107, 117, 'Control Factors', 1),
(111, 49, 'Corporate Social Responsibility', 1),
(112, 51, 'Cost Accounting', 1),
(113, 52, 'Cost Accounting: Manufacturing Concepts', 1),
(115, 53, 'Creative Thinking', 1),
(116, 54, 'Creative Thinking & Its Contribution to Business', 1),
(117, 55, 'Creative Thinking & Problem Solving', 1),
(120, 72, 'Darwinism & Natural Selection', 1),
(121, 59, 'Data Handling', 1),
(122, 60, 'Data Handling', 1),
(123, 61, 'Data Handling', 1),
(124, 56, 'Data Representation', 1),
(125, 57, 'Database Design', 1),
(126, 58, 'Database Design', 1),
(132, 48, 'Definition of a Contract', 1),
(134, 63, 'Democracy & Human Rights', 1),
(136, 19, 'Development of a Research Instrument & The Assessment of Needs & Desires', 1),
(137, 69, 'Differential Calculus', 1),
(139, 62, 'Democracy & Human Rights', 1),
(140, 130, 'DNA Code of Life', 1),
(141, 233, 'Doppler Effect', 1),
(142, 112, 'Drainage Systems in South Africa', 1),
(150, 76, 'Electric Circuits', 1),
(156, 75, 'Electrostatics', 1),
(161, 132, 'Energy Transformations to Support Life: Photosynthesis', 1),
(163, 9, 'Entrepreneurial Qualities & Success Factors', 1),
(164, 77, 'Entrepreneurship Qualities', 1),
(167, 187, 'Social & Environmental Responsibility', 1),
(169, 188, 'Social & Environmental Responsibility', 1),
(173, 81, 'Ethics', 1),
(174, 82, 'Ethics', 1),
(175, 83, 'Ethics', 1),
(176, 84, 'Euclidean Geometry & Measurement', 1),
(177, 85, 'Euclidean Geometry & Measurement', 1),
(178, 86, 'Euclidean Geometry & Measurement', 1),
(179, 87, 'European Expansion', 1),
(183, 18, 'Factors that Impact Business Location Decisions', 1),
(187, 88, 'Final Accounts of Sole Trade', 1),
(188, 89, 'Finance', 1),
(189, 90, 'Finance', 1),
(190, 91, 'Finance', 1),
(191, 94, 'Finance, Growth & Decay', 1),
(192, 95, 'Financial Accounting of Partnerships: Analysis & Interpretation', 1),
(193, 97, 'Fixed Assets', 1),
(194, 98, 'Fixed Assets', 1),
(201, 11, 'Forms of Ownership', 1),
(202, 99, 'Forms of Ownership', 1),
(203, 100, 'Forms of Ownership & Their Impact on the Business Operation', 1),
(205, 101, 'Functions', 1),
(206, 102, 'Functions', 1),
(207, 103, 'Functions', 1),
(208, 104, 'GAAP Principles', 1),
(209, 105, 'GAAP Principles', 1),
(210, 106, 'GAAP Principles', 1),
(217, 232, 'Geometrical Optics', 1),
(221, 205, 'Hardware', 1),
(222, 206, 'Hardware', 1),
(231, 113, 'Human Rights, Inclusivity & Environmental Issues', 1),
(232, 32, 'Hydrosphere', 1),
(234, 114, 'Ideas of Race in the Late 19th & 20th Centuries', 1),
(236, 47, 'Impact & Challenges of Contemporary Socioeconomic Issues on Business Operations', 1),
(237, 136, 'Impact of Recent Legislation on Business', 1),
(238, 163, 'Physical Education', 1),
(240, 115, 'Independent Africa', 1),
(242, 116, 'Indigenous Bookkeeping', 1),
(247, 118, 'Internal Control', 1),
(248, 119, 'Internal Control', 1),
(249, 120, 'Internal Control', 1),
(255, 124, 'Interrelationship between Micro, Market & Macro Environment Features', 1),
(256, 204, 'Introduction to Computers', 1),
(257, 193, 'Introduction to Solution Development', 1),
(258, 148, 'Introduction to Vectors & Scalars', 1),
(259, 125, 'Inventory Systems', 1),
(260, 126, 'Inventory Systems', 1),
(271, 68, 'Development of the Self in Society', 1),
(272, 33, 'Lithosphere', 1),
(276, 74, 'Magnetism', 1),
(277, 137, 'Management & Leadership', 1),
(279, 138, 'Maps, Plans & Other Representations', 1),
(280, 139, 'Maps, Plans & Other Representations', 1),
(281, 140, 'Maps, Plans & Other Representations', 1),
(282, 107, 'Mapwork Skills', 1),
(283, 108, 'Mapwork Skills', 1),
(284, 109, 'Calculations', 1),
(285, 217, 'Marketing Activities', 1),
(288, 142, 'Matter & Classification', 1),
(289, 145, 'Measurement', 1),
(290, 146, 'Measurement', 1),
(291, 147, 'Measurement', 1),
(295, 38, 'Mid-latitude Cyclones', 1),
(298, 143, 'Molecular Structure', 1),
(299, 150, 'Momentum & Impulse', 1),
(301, 149, 'Motion in Two Dimensions', 1),
(304, 152, 'Nationalism', 1),
(306, 41, 'Networks', 1),
(307, 42, 'Networks', 1),
(308, 43, 'Networks', 1),
(313, 153, 'Number Patterns, Sequences, Series', 1),
(314, 154, 'Number Patterns, Sequences, Series', 1),
(315, 155, 'Number Patterns, Sequences, Series', 1),
(316, 156, 'Numbers & Calculations With Numbers', 1),
(317, 157, 'Numbers & Calculations With Numbers', 1),
(318, 158, 'Numbers & Calculations With Numbers', 1),
(320, 144, 'Optical Phenomena & Properties of Materials', 1),
(326, 159, 'Patterns, Relationships & Representations', 1),
(327, 160, 'Patterns, Relationships & Representations', 1),
(328, 161, 'Patterns, Relationships & Representations', 1),
(331, 29, 'Physical & Chemical Change', 1),
(332, 162, 'Physical Education', 1),
(333, 67, 'Development of the Self in Society', 1),
(336, 165, 'Population Distribution & Density', 1),
(342, 167, 'Presentation of Business Information', 1),
(343, 166, 'Presentation of Business Reports', 1),
(344, 168, 'Presentation of Information & Data Response', 1),
(345, 21, 'Primary, Secondary & Tertiary Sectors', 1),
(346, 169, 'Probability', 1),
(347, 170, 'Probability', 1),
(350, 171, 'Probability', 1),
(351, 172, 'Probability', 1),
(354, 173, 'Probability', 1),
(355, 174, 'Probability', 1),
(358, 135, 'Problem Solving Skills', 1),
(362, 218, 'Production Systems', 1),
(363, 175, 'Professionalism & Ethics', 1),
(364, 176, 'Professionalism & Ethics', 1),
(368, 177, 'Quality of Performance within Business Functions', 1),
(369, 31, 'Reaction Rate', 1),
(372, 178, 'Reconciliations', 1),
(373, 179, 'Reconciliations', 1),
(376, 203, 'Study Skills', 1),
(380, 133, 'Reproduction in Vertebrates', 1),
(381, 26, 'Careers & Career Choices', 1),
(383, 64, 'Democracy & Human Rights', 1),
(396, 183, 'Salaries & Wages', 1),
(398, 66, 'Development of the Self in Society', 1),
(399, 184, 'Self-Management', 1),
(401, 185, 'Skills for Practical Investigation', 1
1

Warning? This is a prototype script. So, there will be no css and javascript included. The upload.php is not intended for public access. This script is not intended for production server until further notice or until some of its vulnerabilities are fixed.

Let's start from the very basic. I normally write codes in OOP, but for the clarification, I will be writing this in procedural. We will be using the MysQLI and PDO. Besides, I really missed the freedom of writing codes in procedural, no design patterns, not too many things to follow, but trying to write codes. However, as we test our script, we will slowly convert all the codes to OOP so that it will become more extensible for future improvements and upgrades.

The reason for the mysqli implementation is that PDO have a minor bugs in handling PDF as BLOB ( insert only). To minimize the trouble of trying to fix this minor bug, I decided to use mysqli for the upload part.

Ready?

  1. On your phpMyAdmin, create a new database. You can name this any name you want. After creating the database, create a table named edudata_mysql and click on the sql tab and import codes below.

tableName: edudata_mysql

CREATE TABLE IF NOT EXISTS `edudata_mysql` (
  `edudataid` int(20) NOT NULL AUTO_INCREMENT,
  `filename` varchar(255) NOT NULL,
  `size` int(25) NOT NULL,
  `filecontent` longblob NOT NULL,
  `subtopicid` int(11) NOT NULL,
  `type` varchar(100) NOT NULL,
   PRIMARY KEY (`edudataid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

I eliminated the 'sortkey' column, because I don't see any important use for it.

  1. Create another table named subject_mysql and once again, import the following.

    CREATE TABLE IF NOT EXISTS `subject_mysql` (
      `subjectid` int(11) NOT NULL AUTO_INCREMENT,
      `subjectname` varchar(255) NOT NULL,
       PRIMARY KEY (`subjectid`),
       UNIQUE KEY `subjectname` (`subjectname`)
    ) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=18 ;
    
    
    
    INSERT INTO `subject_mysql` (`subjectid`, `subjectname`) VALUES
    (1, 'Accounting'),
    (2, 'Afrikaans FAL'),
    (3, 'Business Studies'),
    (17, 'Climate&Weather'),
    (4, 'Economics'),
    (5, 'English FAL'),
    (6, 'English HL'),
    (7, 'Geography'),
    (8, 'History'),
    (9, 'Information Technology'),
    (10, 'Life Orientation'),
    (13, 'Life Sciences'),
    (14, 'Mathematical Literacy'),
    (15, 'Mathematics'),
    (16, 'Physical Science');
    
    1. On your public directory, create a new directory called tester and create a new php page called config.php. Copy codes below and paste it to config.php page.

    fileName: config.php

     <?php
    
    ## fill in your database credentials
    $db_host = 'localhost';
    $db_user = '';
    $db_pass = '';
    $db_name = '';
    
    ## setting the allowDownload to true, user will have download the pdf file
    $allowDownload = false;
    ## we call the mysqli constructor just for the purpose of inserting the PDF file as BLOB
    ## there has been a substantial PDO bug on PDF as BLOB.
    $con= new mysqli( $db_host, $db_user, $db_pass,$db_name);
    if($con->connect_errno){
    
        ## comment this on production server
        die('Error Connecting to Database: ' . mysqli_error());
    
        ## uncomment this instead
        //exit;
    
    }
    
    ## we call the PDO constructor. We will be using the PDO accross the application, except the PDF upload. The reason I already mentioned above.
    try{
            $dbCon = new PDO('mysql:host='.$db_host.';dbname='.$db_name.';charset=utf8', $db_user, $db_pass ,array(PDO::ATTR_PERSISTENT => true));
    
        $dbCon->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
        //echo 'connected';
          return true;
        }
         catch(PDOException $e) {
                        return false;
                        die('There is a connection error: ' .$e->getMessage());
                    } 
    

Fill in your database credentials..
this code right here..

$allowDownload = false;

allows you to set if you want other users to download the PDF file. Just set it to true.

  1. Now let us create the upload.php . This will test the pdf upload. Data will be saved on the database table called edudata_mysql.

Warning! the processor does not have any sanitizing functions in it. Also, it does not check for the file extension. We can fix this later. DO NOT allow any public access on this file for now.

fileName: upload.php

<?php

require_once 'config.php';

## prepare the select option from the subject_mysql table
$subject_query = "SELECT subjectid, subjectname FROM subject_mysql";
$res = $con->query($subject_query);
$option = '';
while ($row = $res->fetch_array(MYSQLI_ASSOC)){
    $option .= '<option value="'.$row['subjectid'].'">'.$row['subjectname'].'</option>';

    }  

if(isset($_POST['upload']) && $_FILES['pdffile']['size'] > 0)
{
$fileName = $_FILES['pdffile']['name'];
$tmpName  = $_FILES['pdffile']['tmp_name'];
$fileSize = $_FILES['pdffile']['size'];
$fileType = $_FILES['pdffile']['type'];
$subtopicId = $_POST['subtopicid'];

$fp      = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
fclose($fp);

if(!get_magic_quotes_gpc())
{
    $fileName = addslashes($fileName);
}

$query = "INSERT INTO edudata_mysql (filename, size, filecontent, subtopicid,type ) ".
"VALUES ('$fileName', '$fileSize', '$content', '$subtopicId', '$fileType')";
$result = $con->query($query);


echo "<br>File $fileName uploaded<br>";
echo '<br/>';
echo '<a href="view.php?id='.$con->insert_id.'">Click to view uploaded file</a>';
}
mysqli_close($con);
?>

<form method="post" enctype="multipart/form-data" action="">

<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input name="pdffile" type="file" id="pdffile">
<br/>
<label>Select Subject</label>
<select name="subtopicid">
<?php echo $option; ?>
</select>
<br/>
<input name="upload" type="submit" class="box" id="upload" value=" Upload ">
<br/>
</form>
  1. Creat another file called view.php. This is for testing purposes only. We want to make sure that uploaded PDF file can be viewed.

fileName: view.php

<?php

if(isset($_GET['id']))
{

include 'config.php';

$id    = $_GET['id'];

$query = 'SELECT edudataid, filename, size, filecontent, type FROM edudata_mysql WHERE edudataid = :id';

$res = $dbCon->prepare($query);
$res->execute(array('id'=>$id));

while ($row = $res->fetch()){

header("Content-length: ".$row['size']);
header("Content-type: ".$row['type']);

if($allowDownload){
    header("Content-Disposition: attachment; filename=".$row['filename']);
}


    echo $row['filecontent'];

}

$dbCon = null;
exit;
}
  1. Direct your browser to upload.php, and test the upload function and make sure the script works. Try uploading a couple of PDF files or until you are satisfied.

Make sure PDF files are viewable on the browser.

  1. Create another page named index.php . This page will provide the complete list of all PDF files saved in the edudata_mysql table.

fileName: index.php

<?php
include 'config.php';

$query = "SELECT edudataid, filename FROM edudata_mysql";
$res = $dbCon->prepare($query);
$res->execute();
$rows = $res->fetchAll();
?>

<html>
<head>
<title>School Files</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>


<?php
foreach ($rows as $row){
?>
     <a href="view.php?id=<?php echo $row['edudataid'];?>"><?php echo $row['filename'];?></a> 
     <br>

<?php
}

$dbCon = null;
?>


</body>
</html>

After doing test uploads, direct your browser to index.php. There should be list of all pdf files uploaded from previous steps. Click on one of the displayed file name.

Next, we will test the administration interface. That is the option of adding subjects to the subject table.

That's it for now, I pretty much written 90% of the script. I just want you to see and be able to visualize how the final application will work.

Edited by veedeoo: info added

0

Hi, Ok I am changing the database now, please just have a look at what I dit with the config.php, I hope it is right, but I doubt it....:)

Attachments config.png 49.71 KB
0

Thanks veedeoo, I ceated the php scripts, but when u point my borwser to the upload.php script, it gives:

Fatal error: Call to a member function fetch_array() on a non-object in /home/edynam0/public_html/Upload.php on line 9

0

back to the database.... I have changed the edudata_mysql table, but the subjectid values in the SUBJECT_mysql table link up with the subjectid field in the TOPIC_mysql table. If these values change, wont the links be broken? The sortkey field in the EDUDATA_mysql table will be used because the PDF's must display in a specific order in the final version. It is educational documents that follow in a specific order set by the user that uploaded the data?...This feature is not important yet and can be left out for now... Do i make any sence?

0

this is what my database looks like at the moment?

Attachments
-- phpMyAdmin SQL Dump
-- version 4.0.8
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Nov 14, 2013 at 02:14 PM
-- Server version: 5.1.70-cll
-- PHP Version: 5.3.17

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `edynam0_mysql`
--

-- --------------------------------------------------------

--
-- Table structure for table `EDUDATA_mysql`
--

CREATE TABLE IF NOT EXISTS `EDUDATA_mysql` (
  `edudataid` int(20) NOT NULL AUTO_INCREMENT,
  `filename` varchar(255) NOT NULL,
  `size` int(25) NOT NULL,
  `filecontent` longblob NOT NULL,
  `subtopicid` int(11) NOT NULL,
  `type` varchar(100) NOT NULL,
  PRIMARY KEY (`edudataid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Table structure for table `SUBJECT_mysql`
--

CREATE TABLE IF NOT EXISTS `SUBJECT_mysql` (
  `subjectid` int(11) NOT NULL,
  `subjectname` varchar(50) NOT NULL,
  PRIMARY KEY (`subjectid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `SUBJECT_mysql`
--

INSERT INTO `SUBJECT_mysql` (`subjectid`, `subjectname`) VALUES
(12, 'Accounting'),
(92, 'Afrikaans FAL'),
(76, 'Business Studies'),
(17, 'Economics'),
(93, 'English FAL'),
(91, 'English HL'),
(28, 'Geography'),
(94, 'History'),
(75, 'Information Technology'),
(22, 'Life Orientation'),
(73, 'Life Sciences'),
(70, 'Mathematical Literacy'),
(7, 'Mathematics'),
(11, 'Physical Science');

-- --------------------------------------------------------

--
-- Table structure for table `SUBTOPIC_mysql`
--

CREATE TABLE IF NOT EXISTS `SUBTOPIC_mysql` (
  `subtopicid` int(11) NOT NULL,
  `topicid` int(11) NOT NULL,
  `subtopicname` varchar(80) NOT NULL,
  `sortkey` int(11) NOT NULL,
  PRIMARY KEY (`subtopicid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `SUBTOPIC_mysql`
--

INSERT INTO `SUBTOPIC_mysql` (`subtopicid`, `topicid`, `subtopicname`, `sortkey`) VALUES
(3, 164, 'Physical Education', 1),
(6, 1, 'Adapting to Challenges In Business Environments', 1),
(7, 96, 'Adjustments, Closing Transfers, General Ledger', 1),
(14, 2, 'Algebra', 1),
(15, 3, 'Algebra', 1),
(16, 4, 'Algebra', 1),
(21, 5, 'Analytical Geometry', 1),
(22, 6, 'Analytical Geometry', 1),
(23, 7, 'Analytical Geometry', 1),
(26, 8, 'Apartheid in South Africa 1940''s to 1960''s', 1),
(27, 194, 'Application Development', 1),
(28, 195, 'Application Development', 1),
(31, 10, 'Avenues of Acquiring a Business', 1),
(36, 71, 'Biodiversity - Classification of Microorganisms', 1),
(38, 70, 'Biodiversity & Classification', 1),
(39, 12, 'Bookkeeping of Non-profit Organisations (Clubs)', 1),
(40, 13, 'Bookkeeping of Partnerships', 1),
(42, 16, 'Budgeting', 1),
(43, 17, 'Budgeting', 1),
(44, 20, 'Business Plans', 1),
(46, 22, 'Business Sectors', 1),
(47, 23, 'Business Sectors & Their Environments', 1),
(48, 50, 'Calculation of Costs in a Manufacturing Environment', 1),
(51, 24, 'Capitalism & the USA 1900 to 1940', 1),
(65, 15, 'Cash Budgets', 1),
(71, 28, 'Challenges of the Micro Environment', 1),
(74, 34, 'Chemical Industry', 1),
(75, 129, 'Chemistry of Life', 1),
(76, 220, 'China: 1368 to 1644', 1),
(77, 36, 'Civil Resistance 1970''s to 1980''s in South Africa', 1),
(78, 37, 'Civil Society Protests', 1),
(80, 39, 'Close Corporations', 1),
(81, 40, 'Colonial Expansion', 1),
(82, 27, 'Careers & Career Choices', 1),
(83, 44, 'Communism in Russia 1900 to 1940', 1),
(87, 45, 'Companies: Unique Transactions', 1),
(89, 134, 'Components & Features of the Macro Environment', 1),
(90, 151, 'Components & Features of the Micro Business Environment', 1),
(91, 141, 'Components of the Market Environment', 1),
(92, 209, 'Composition & Structure of the Atmosphere', 1),
(94, 127, 'Compulsory & Non-compulsory Insurance', 1),
(98, 189, 'Computers and Society', 1),
(99, 190, 'Computers and Society', 1),
(100, 191, 'Computers and Society', 1),
(101, 200, 'Concepts of Stress, Crisis & Change Management', 1),
(104, 186, 'Social & Environmental Responsibility', 1),
(105, 46, 'Contemporary Socioeconomic Issues that Impact on Business', 1),
(107, 117, 'Control Factors', 1),
(111, 49, 'Corporate Social Responsibility', 1),
(112, 51, 'Cost Accounting', 1),
(113, 52, 'Cost Accounting: Manufacturing Concepts', 1),
(115, 53, 'Creative Thinking', 1),
(116, 54, 'Creative Thinking & Its Contribution to Business', 1),
(117, 55, 'Creative Thinking & Problem Solving', 1),
(120, 72, 'Darwinism & Natural Selection', 1),
(121, 59, 'Data Handling', 1),
(122, 60, 'Data Handling', 1),
(123, 61, 'Data Handling', 1),
(124, 56, 'Data Representation', 1),
(125, 57, 'Database Design', 1),
(126, 58, 'Database Design', 1),
(132, 48, 'Definition of a Contract', 1),
(134, 63, 'Democracy & Human Rights', 1),
(136, 19, 'Development of a Research Instrument & The Assessment of Needs & Desires', 1),
(137, 69, 'Differential Calculus', 1),
(139, 62, 'Democracy & Human Rights', 1),
(140, 130, 'DNA Code of Life', 1),
(141, 233, 'Doppler Effect', 1),
(142, 112, 'Drainage Systems in South Africa', 1),
(150, 76, 'Electric Circuits', 1),
(156, 75, 'Electrostatics', 1),
(161, 132, 'Energy Transformations to Support Life: Photosynthesis', 1),
(163, 9, 'Entrepreneurial Qualities & Success Factors', 1),
(164, 77, 'Entrepreneurship Qualities', 1),
(167, 187, 'Social & Environmental Responsibility', 1),
(169, 188, 'Social & Environmental Responsibility', 1),
(173, 81, 'Ethics', 1),
(174, 82, 'Ethics', 1),
(175, 83, 'Ethics', 1),
(176, 84, 'Euclidean Geometry & Measurement', 1),
(177, 85, 'Euclidean Geometry & Measurement', 1),
(178, 86, 'Euclidean Geometry & Measurement', 1),
(179, 87, 'European Expansion', 1),
(183, 18, 'Factors that Impact Business Location Decisions', 1),
(187, 88, 'Final Accounts of Sole Trade', 1),
(188, 89, 'Finance', 1),
(189, 90, 'Finance', 1),
(190, 91, 'Finance', 1),
(191, 94, 'Finance, Growth & Decay', 1),
(192, 95, 'Financial Accounting of Partnerships: Analysis & Interpretation', 1),
(193, 97, 'Fixed Assets', 1),
(194, 98, 'Fixed Assets', 1),
(201, 11, 'Forms of Ownership', 1),
(202, 99, 'Forms of Ownership', 1),
(203, 100, 'Forms of Ownership & Their Impact on the Business Operation', 1),
(205, 101, 'Functions', 1),
(206, 102, 'Functions', 1),
(207, 103, 'Functions', 1),
(208, 104, 'GAAP Principles', 1),
(209, 105, 'GAAP Principles', 1),
(210, 106, 'GAAP Principles', 1),
(217, 232, 'Geometrical Optics', 1),
(221, 205, 'Hardware', 1),
(222, 206, 'Hardware', 1),
(231, 113, 'Human Rights, Inclusivity & Environmental Issues', 1),
(232, 32, 'Hydrosphere', 1),
(234, 114, 'Ideas of Race in the Late 19th & 20th Centuries', 1),
(236, 47, 'Impact & Challenges of Contemporary Socioeconomic Issues on Business Operations', 1),
(237, 136, 'Impact of Recent Legislation on Business', 1),
(238, 163, 'Physical Education', 1),
(240, 115, 'Independent Africa', 1),
(242, 116, 'Indigenous Bookkeeping', 1),
(247, 118, 'Internal Control', 1),
(248, 119, 'Internal Control', 1),
(249, 120, 'Internal Control', 1),
(255, 124, 'Interrelationship between Micro, Market & Macro Environment Features', 1),
(256, 204, 'Introduction to Computers', 1),
(257, 193, 'Introduction to Solution Development', 1),
(258, 148, 'Introduction to Vectors & Scalars', 1),
(259, 125, 'Inventory Systems', 1),
(260, 126, 'Inventory Systems', 1),
(271, 68, 'Development of the Self in Society', 1),
(272, 33, 'Lithosphere', 1),
(276, 74, 'Magnetism', 1),
(277, 137, 'Management & Leadership', 1),
(279, 138, 'Maps, Plans & Other Representations', 1),
(280, 139, 'Maps, Plans & Other Representations', 1),
(281, 140, 'Maps, Plans & Other Representations', 1),
(282, 107, 'Mapwork Skills', 1),
(283, 108, 'Mapwork Skills', 1),
(284, 109, 'Calculations', 1),
(285, 217, 'Marketing Activities', 1),
(288, 142, 'Matter & Classification', 1),
(289, 145, 'Measurement', 1),
(290, 146, 'Measurement', 1),
(291, 147, 'Measurement', 1),
(295, 38, 'Mid-latitude Cyclones', 1),
(298, 143, 'Molecular Structure', 1),
(299, 150, 'Momentum & Impulse', 1),
(301, 149, 'Motion in Two Dimensions', 1),
(304, 152, 'Nationalism', 1),
(306, 41, 'Networks', 1),
(307, 42, 'Networks', 1),
(308, 43, 'Networks', 1),
(313, 153, 'Number Patterns, Sequences, Series', 1),
(314, 154, 'Number Patterns, Sequences, Series', 1),
(315, 155, 'Number Patterns, Sequences, Series', 1),
(316, 156, 'Numbers & Calculations With Numbers', 1),
(317, 157, 'Numbers & Calculations With Numbers', 1),
(318, 158, 'Numbers & Calculations With Numbers', 1),
(320, 144, 'Optical Phenomena & Properties of Materials', 1),
(326, 159, 'Patterns, Relationships & Representations', 1),
(327, 160, 'Patterns, Relationships & Representations', 1),
(328, 161, 'Patterns, Relationships & Representations', 1),
(331, 29, 'Physical & Chemical Change', 1),
(332, 162, 'Physical Education', 1),
(333, 67, 'Development of the Self in Society', 1),
(336, 165, 'Population Distribution & Density', 1),
(342, 167, 'Presentation of Business Information', 1),
(343, 166, 'Presentation of Business Reports', 1),
(344, 168, 'Presentation of Information & Data Response', 1),
(345, 21, 'Primary, Secondary & Tertiary Sectors', 1),
(346, 169, 'Probability', 1),
(347, 170, 'Probability', 1),
(350, 171, 'Probability', 1),
(351, 172, 'Probability', 1),
(354, 173, 'Probability', 1),
(355, 174, 'Probability', 1),
(358, 135, 'Problem Solving Skills', 1),
(362, 218, 'Production Systems', 1),
(363, 175, 'Professionalism & Ethics', 1),
(364, 176, 'Professionalism & Ethics', 1),
(368, 177, 'Quality of Performance within Business Functions', 1),
(369, 31, 'Reaction Rate', 1),
(372, 178, 'Reconciliations', 1),
(373, 179, 'Reconciliations', 1),
(376, 203, 'Study Skills', 1),
(380, 133, 'Reproduction in Vertebrates', 1),
(381, 26, 'Careers & Career Choices', 1),
(383, 64, 'Democracy & Human Rights', 1),
(396, 183, 'Salaries & Wages', 1),
(398, 66, 'Development of the Self in Society', 1),
(399, 184, 'Self-Management', 1),
(401, 185, 'Skills for Practical Investigation', 1),
(405, 192, 'Soci
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.