2011-12-22 1 views
1

나는 매우 일반적 일 필요가있는 PHP 제품 시스템을 설계하고 있습니다. 각 제품에는 여러 가지 옵션 ("높이", "너비", "색상" , "성별"등)하지만 일부 제품에는 이러한 옵션이 없을 수도 있고 일부 제품에는 해당 옵션이 없을 수도 있습니다.PHP/mySQL 제품 시스템 (매우 일반)

예를 들어, 서랍장에는 "크기"(웹 사이트 사용자가 설정 한 적절한 크기 목록), "광택"(예/아니오) 및 "칠해짐"(예/아니오)이있을 수 있습니다. 그러나 새 TV에는 옵션이 없을 수도 있습니다.

사용자는 제품에 필요한 옵션을 설정할 수있는 방법을 권장합니다 (예 : "세련된"은 전기 제품과 관련이 없음). 다양한 옵션 조합에 대한 가격을 저장할 수 있습니다. 그들이 각 제품에 대해 지정한대로?

답변

0
`options` text null, 

//DONT run this directly, it needs escaping...but you get the idea. 
insert into tablename values({['polished':(int)1, 'size':'oh_its_big']}), ({['color':'hotpink']}); 


//run your query 
$query = $db->select("* from tablename"); 

//loop query, json_decode the options string and assign to array 
foreach($query as $q) 
{ 
    $tmp[] = (array)json_decode($q->options); 
    foreach($tmp as $options) 
    { 
     //run some conditional statements 
     if(array_key_exists('size', $options)) 
     { 
      //do something 
     } 
    } 
} 
0

IMO, 이것은 매우 일반적인 질문이며 자세한 내용을 제공해야합니다.

public class myAwesomeClass { 

$typeOfMyClass; //got from a DB when a user creates a new type. 
$keyAndValuePair; //holds the key=>value pair of the type's data 

} 

다음과 외부 세계에 액세스 할 수 나의 마음에 팝업

한 솔루션입니다.

$obj = new myAwesomeClass(); 
//based on $obj->typeOfMyClass value process 
foreach ($obj->keyValuePair as $key=>$value) { 

//perform your operations 

} 
+0

PS :이 설명 것을 같은 기본 클래스입니다, 나는 거의 이것을 사용하는 것이 좋습니다 없다. 구체적인 사항을 알지 못해서 나에게 힘들다. – footy

관련 문제