Kom ihåg mig?

Hur lagra kategorier

 
Ämnesverktyg Visningsalternativ
Oläst 2013-07-18, 20:55 #1
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Citat:
Ursprungligen postat av Anaxa Visa inlägg
Jag gjort det :P Eller vad mer ville du ha?
Det går inte att testköra koden, eftersom du saknar databasconnection, och testkod.

Gör en komplett Console app som går att testköra så kan du få mer hjälp. Annars måste jag bygga en helt egen app bara för att testköra detta .....

Du bör ju göra Category till en klass med metoder för add(), remove(), load()/fetchall(), save(), move(), delete()....

I klassen ska du ha en privat variabel som innehåller själva trädstrukturen, så det går att skapa fler instanser av klassen, om man nu vill göra det.

Du bör ha en helt egen klass som innehåller databasconnection och som man kan göra ett static anrop till för att få den eventuellt öppna Connection som finns till databasen. För varje tabell du har i databasen gör du (minst) en egen klass (ibland behövs fler klasser för en tabell om man har en komplex struktur). Connectionklassen kan då återanvändas mellan alla dessa tabellklasser, Connection är troligen samma för hela databasen (undantag finns).

PHP-kod:
// File: DBConnection.php
class DBConnection
{
    protected 
$activeConnection;

    static function 
getConnection()
    {
        
/// Code goes here ....
    
}

PHP-kod:
// File: category.php
class Category
{
    protected 
$categories = array();

    
// Initiate array of cateories on instance creation
    
function __construct()
    {
        
$categories = array();
    }
        
    
// Destruct activity when instance dies 
    
function __destruct()
    {
    }
        
    
// Load all categories from datavbase to array in instance   
    
function load()
    {
        
$mainCategories mysql_query("SELECT id, name FROM categories WHERE parent=0"getConnection());
        while(
$ds mysql_fetch_assoc($mainCategories))
        {
            
$categories[] = array
            (
               
"Name" => $ds["name"],
               
"Children" => GetChildren($ds["id"])
             );
        }
    }
    
    function 
GetChildren($parent)
    {
       
$children = array();
       
$childCats mysql_query("SELECT id, name FROM categories WHERE parent='".$parent."'");
       while (
$cat mysql_fetch_array($childCats)) 
       { 
         
$children[] = array
         (
           
"Name" => $cat["name"],
           
"Children" => GetChildren($cat["id"])
         );
       }
       return 
$children;
    }
 
    
// Add one category    
    
function add()
    {
    }
    
    
// Delete one cateory and all sub categories
    
function remove()
    {
    }
    
    
// Move one category from one parent toi another
    
function move()
    {
    }
    
    
// Save all unsaved categories in memory to database
    
function save()
    {
    }

    
// Find category by name, and return ID    
    
function find()
    {
    }


PHP-kod:
// File: categoryTest.php
// Testcode goes here
class CategoryTest
{
    function 
__construct()
    {
        print 
"Test Starts now.\n"
        
$this->testAdd();        
        
$this->testMove();        
        
$this->testRemove();        
        
$this->testSave();        
        
$this->testLoad();        
    }
    
    function 
testAdd()
    {
        print 
"Test of Add function.\n"
        
        
$testCategories = new Category();
        
        
$cat1 $testCategories.add("Test1");
    }
    
    function 
testAdd()
    {
    }
    
    function 
testMove()
    {
    }
    
    function 
testRemove()
    {
    }
    
    function 
testSave()
    {
    }
    
    function 
testLoad()
    {
    }
    
    function 
__destruct()
    {
        print 
"Test is Done.\n"
    
}
}

new 
categoryTest(); 

Senast redigerad av Conny Westh den 2013-07-18 klockan 21:02
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 13:21.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017