2011-12-22 9 views
1

私はPHP製品システムを設計しています。これは非常に一般的であることが要求されています。各製品にはさまざまなオプション( "height"、 "width" 、 "性別"など)がありますが、一部の製品ではこれらのオプションがない場合もあります。PHP/mySQL製品システム(非常に一般的)

たとえば、引き出しのチェストには、「サイズ」(ウェブユーザーのどこかに適切なサイズのリストが設定されています)、「研磨済み」(はい/いいえ)、「塗装済み」(はい/いいえ)があります。しかし、新しいテレビには全くオプションがないかもしれません。

ユーザーは、製品に必要なオプションを設定する方法をお勧めします(たとえば、「洗練された」とは電気小売業者にはまったく関係しません)。その後、さまざまなオプションの組み合わせ製品ごとに指定されていますか?

答えて

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

関連する問題