고객을위한 맞춤형 가격 책정 매트릭스를 개발 중이며 옵션이 다른 제품을 구별하는 코드가 있습니다. 6 가지 다른 유형의 재료가 있기 때문에 하나의 코드에 6 가지 변형이 있습니다. 다른 비용, 다른 볼트 온은 재료에 따라 코드 및 비용을 변경합니다 ... 등등.CSV에서 PHP 로의 JSON을 MySQL에
는 나는 당신에게 내 가격 데이터베이스 구조 (MySQL의)|------
|Field|Type|Null|Default
|------
|//**id**//|mediumint(9)|No|
|jp_code|varchar(7)|No|
|brand_rate|text|No|
|price_25|text|No|
|price_50|text|No|
|price_100|text|No|
|price_250|text|No|
|price_500|text|No|
|price_1000|text|No|
나는 가격과 브랜드 속도 필드에서 JSON 각 코드에 대한 모든 6 개 가격 저장을 보여줌으로써 시작합니다
이 나중에 JS에 의해 처리된다 .
그래서 해당 데이터베이스에 대한 일반적인 항목은 다음과 같습니다
|1|JP6000|["F","F","n\/a","F","F","F"]|["2.92","2.92","n\/a","4.86","6.35","7.62"]|["2.77","2.77","n\/a","4.62","6.03","7.24"]|["2.55","2.55","4.21","4.25","5.55","6.66"]|["2.45","2.45","3.83","4.08","5.33","6.40"]|["2.38","2.38","3.64","3.96","5.17","6.20"]|["2.50","2.33","3.47","3.89","5.08","6.10"]
클라이언트는 원활이 가격을 업데이트 할 수 CSV를 업로드 할 수 있어야합니다.
CSV 파일은 다음과 같이됩니다 : 당신은 MySQL의 행 항목을 살펴 경우
은 그렇게 문제에 데이터를 결혼 할 수 있어야한다! parseCSV의 v0.4.3 베타 나는이 같은 JP 코드에 의해 그룹에 모든 결과를이 가지고 http://code.google.com/p/parsecsv-for-php/
: 그래서
array(2) {
["JP6000"]=>
array(6) {
[0]=>
array(9) {
["Code"]=>
string(6) "JP6000"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(4) "2.92"
["Price_50"]=>
string(4) "2.77"
["Price_100"]=>
string(4) "2.55"
["Price_250"]=>
string(4) "2.45"
["Price_500"]=>
string(4) "2.38"
["Price_1000"]=>
string(4) "2.33"
["Material"]=>
string(10) "Belluno PU"
}
[1]=>
array(9) {
["Code"]=>
string(6) "JP6000"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(4) "2.92"
["Price_50"]=>
string(4) "2.77"
["Price_100"]=>
string(4) "2.55"
["Price_250"]=>
string(4) "2.45"
["Price_500"]=>
string(4) "2.38"
["Price_1000"]=>
string(4) "2.33"
["Material"]=>
string(9) "Torino PU"
}
[2]=>
array(9) {
["Code"]=>
string(6) "JP6000"
["Brand Rate"]=>
string(3) "n/a"
["Price_25"]=>
string(3) "n/a"
["Price_50"]=>
string(3) "n/a"
["Price_100"]=>
string(4) "4.21"
["Price_250"]=>
string(4) "3.83"
["Price_500"]=>
string(4) "3.64"
["Price_1000"]=>
string(4) "3.47"
["Material"]=>
string(11) "Full Colour"
}
[3]=>
array(9) {
["Code"]=>
string(6) "JP6000"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(4) "4.86"
["Price_50"]=>
string(4) "4.62"
["Price_100"]=>
string(4) "4.25"
["Price_250"]=>
string(4) "4.08"
["Price_500"]=>
string(4) "3.96"
["Price_1000"]=>
string(4) "3.89"
["Material"]=>
string(8) "Finecell"
}
[4]=>
array(9) {
["Code"]=>
string(6) "JP6000"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(4) "6.35"
["Price_50"]=>
string(4) "6.03"
["Price_100"]=>
string(4) "5.55"
["Price_250"]=>
string(4) "5.33"
["Price_500"]=>
string(4) "5.17"
["Price_1000"]=>
string(4) "5.08"
["Material"]=>
string(5) "Nappa"
}
[5]=>
array(9) {
["Code"]=>
string(6) "JP6000"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(4) "7.62"
["Price_50"]=>
string(4) "7.24"
["Price_100"]=>
string(4) "6.66"
["Price_250"]=>
string(3) "6.4"
["Price_500"]=>
string(3) "6.2"
["Price_1000"]=>
string(3) "6.1"
["Material"]=>
string(8) "Richmond"
}
}
["JP6010"]=>
array(6) {
[0]=>
array(9) {
["Code"]=>
string(6) "JP6010"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(4) "3.41"
["Price_50"]=>
string(4) "3.24"
["Price_100"]=>
string(4) "2.98"
["Price_250"]=>
string(4) "2.86"
["Price_500"]=>
string(4) "2.78"
["Price_1000"]=>
string(4) "2.73"
["Material"]=>
string(10) "Belluno PU"
}
[1]=>
array(9) {
["Code"]=>
string(6) "JP6010"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(4) "3.41"
["Price_50"]=>
string(4) "3.24"
["Price_100"]=>
string(4) "2.98"
["Price_250"]=>
string(4) "2.86"
["Price_500"]=>
string(4) "2.78"
["Price_1000"]=>
string(4) "2.73"
["Material"]=>
string(9) "Torino PU"
}
[2]=>
array(9) {
["Code"]=>
string(6) "JP6010"
["Brand Rate"]=>
string(3) "n/a"
["Price_25"]=>
string(3) "n/a"
["Price_50"]=>
string(3) "n/a"
["Price_100"]=>
string(4) "4.77"
["Price_250"]=>
string(4) "4.33"
["Price_500"]=>
string(4) "4.13"
["Price_1000"]=>
string(4) "3.93"
["Material"]=>
string(11) "Full Colour"
}
[3]=>
array(9) {
["Code"]=>
string(6) "JP6010"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(4) "5.41"
["Price_50"]=>
string(4) "5.14"
["Price_100"]=>
string(4) "4.74"
["Price_250"]=>
string(4) "4.55"
["Price_500"]=>
string(4) "4.41"
["Price_1000"]=>
string(4) "4.33"
["Material"]=>
string(8) "Finecell"
}
[4]=>
array(9) {
["Code"]=>
string(6) "JP6010"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(3) "6.9"
["Price_50"]=>
string(4) "6.56"
["Price_100"]=>
string(4) "6.04"
["Price_250"]=>
string(3) "5.8"
["Price_500"]=>
string(4) "5.63"
["Price_1000"]=>
string(4) "5.52"
["Material"]=>
string(5) "Nappa"
}
[5]=>
array(9) {
["Code"]=>
string(6) "JP6010"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(4) "8.28"
["Price_50"]=>
string(4) "7.87"
["Price_100"]=>
string(4) "7.25"
["Price_250"]=>
string(4) "6.96"
["Price_500"]=>
string(4) "6.76"
["Price_1000"]=>
string(4) "6.62"
["Material"]=>
string(8) "Richmond"
}
}
}
array(2) {
["JP6000"]=>
array(6) {
[0]=>
array(9) {
["Code"]=>
string(6) "JP6000"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(4) "2.92"
["Price_50"]=>
string(4) "2.77"
["Price_100"]=>
string(4) "2.55"
["Price_250"]=>
string(4) "2.45"
["Price_500"]=>
string(4) "2.38"
["Price_1000"]=>
string(4) "2.33"
["Material"]=>
string(10) "Belluno PU"
}
[1]=>
array(9) {
["Code"]=>
string(6) "JP6000"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(4) "2.92"
["Price_50"]=>
string(4) "2.77"
["Price_100"]=>
string(4) "2.55"
["Price_250"]=>
string(4) "2.45"
["Price_500"]=>
string(4) "2.38"
["Price_1000"]=>
string(4) "2.33"
["Material"]=>
string(9) "Torino PU"
}
[2]=>
array(9) {
["Code"]=>
string(6) "JP6000"
["Brand Rate"]=>
string(3) "n/a"
["Price_25"]=>
string(3) "n/a"
["Price_50"]=>
string(3) "n/a"
["Price_100"]=>
string(4) "4.21"
["Price_250"]=>
string(4) "3.83"
["Price_500"]=>
string(4) "3.64"
["Price_1000"]=>
string(4) "3.47"
["Material"]=>
string(11) "Full Colour"
}
[3]=>
array(9) {
["Code"]=>
string(6) "JP6000"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(4) "4.86"
["Price_50"]=>
string(4) "4.62"
["Price_100"]=>
string(4) "4.25"
["Price_250"]=>
string(4) "4.08"
["Price_500"]=>
string(4) "3.96"
["Price_1000"]=>
string(4) "3.89"
["Material"]=>
string(8) "Finecell"
}
[4]=>
array(9) {
["Code"]=>
string(6) "JP6000"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(4) "6.35"
["Price_50"]=>
string(4) "6.03"
["Price_100"]=>
string(4) "5.55"
["Price_250"]=>
string(4) "5.33"
["Price_500"]=>
string(4) "5.17"
["Price_1000"]=>
string(4) "5.08"
["Material"]=>
string(5) "Nappa"
}
[5]=>
array(9) {
["Code"]=>
string(6) "JP6000"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(4) "7.62"
["Price_50"]=>
string(4) "7.24"
["Price_100"]=>
string(4) "6.66"
["Price_250"]=>
string(3) "6.4"
["Price_500"]=>
string(3) "6.2"
["Price_1000"]=>
string(3) "6.1"
["Material"]=>
string(8) "Richmond"
}
}
["JP6010"]=>
array(6) {
[0]=>
array(9) {
["Code"]=>
string(6) "JP6010"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(4) "3.41"
["Price_50"]=>
string(4) "3.24"
["Price_100"]=>
string(4) "2.98"
["Price_250"]=>
string(4) "2.86"
["Price_500"]=>
string(4) "2.78"
["Price_1000"]=>
string(4) "2.73"
["Material"]=>
string(10) "Belluno PU"
}
[1]=>
array(9) {
["Code"]=>
string(6) "JP6010"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(4) "3.41"
["Price_50"]=>
string(4) "3.24"
["Price_100"]=>
string(4) "2.98"
["Price_250"]=>
string(4) "2.86"
["Price_500"]=>
string(4) "2.78"
["Price_1000"]=>
string(4) "2.73"
["Material"]=>
string(9) "Torino PU"
}
[2]=>
array(9) {
["Code"]=>
string(6) "JP6010"
["Brand Rate"]=>
string(3) "n/a"
["Price_25"]=>
string(3) "n/a"
["Price_50"]=>
string(3) "n/a"
["Price_100"]=>
string(4) "4.77"
["Price_250"]=>
string(4) "4.33"
["Price_500"]=>
string(4) "4.13"
["Price_1000"]=>
string(4) "3.93"
["Material"]=>
string(11) "Full Colour"
}
[3]=>
array(9) {
["Code"]=>
string(6) "JP6010"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(4) "5.41"
["Price_50"]=>
string(4) "5.14"
["Price_100"]=>
string(4) "4.74"
["Price_250"]=>
string(4) "4.55"
["Price_500"]=>
string(4) "4.41"
["Price_1000"]=>
string(4) "4.33"
["Material"]=>
string(8) "Finecell"
}
[4]=>
array(9) {
["Code"]=>
string(6) "JP6010"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(3) "6.9"
["Price_50"]=>
string(4) "6.56"
["Price_100"]=>
string(4) "6.04"
["Price_250"]=>
string(3) "5.8"
["Price_500"]=>
string(4) "5.63"
["Price_1000"]=>
string(4) "5.52"
["Material"]=>
string(5) "Nappa"
}
[5]=>
array(9) {
["Code"]=>
string(6) "JP6010"
["Brand Rate"]=>
string(1) "F"
["Price_25"]=>
string(4) "8.28"
["Price_50"]=>
string(4) "7.87"
["Price_100"]=>
string(4) "7.25"
["Price_250"]=>
string(4) "6.96"
["Price_500"]=>
string(4) "6.76"
["Price_1000"]=>
string(4) "6.62"
["Material"]=>
string(8) "Richmond"
}
}
}
내가 CSV 파일로 작업하려면이 옵션을 사용하고
내가해야 할 일은이 데이터를 추가로 그룹화하고 각 코드에 대한 정보를 사용하여 MySQL 레코드에서 보는 것처럼 JSON 문자열로 변환하는 것입니다.
JP6000위한 price_25 JSON 배열의 첫 번째 항목이 2.92 및 제 2.92 것 - 제 인 N/A는
이것도 통해 루프에 요구하고 JP 코드는 기본 인에 기초하여 이에 따라 각각의 MySQL 행을 업데이트 키.
나는 이것이 모두 의미가 있기를 바랍니다. 매우 까다 롭습니다!
표준 대답은 JSON 형식의 데이터를 저장하지 않습니다. 프레젠테이션을위한 것입니다. – ajreal
도움이되는 의견을 보내 주셔서 감사합니다 ... 불행히도 모든 것이 마법처럼 작동하는 것은 아니므로 클라이언트에게 '아니오'라고 말하지 않는 방법을 찾아야합니다. 이것이이 솔루션을 제공 할 수있는 유일한 방법입니다. –