php - Separating the components of CSS for database entry -
CONTEXT:
मेरा प्रोजेक्ट सीएमएस वेबसाइट है, और प्रत्येक उपयोगकर्ता सीएसएस एक डेटाबेस तालिका में आयोजित किया जाता है। फ़ील्ड हैं:
int आईडी प्राथमिक int site_id सूचकांक स्ट्रिंग चयनकर्ता स्ट्रिंग संपत्ति स्ट्रिंग मान बूल महत्वपूर्ण
जब किसी उपयोगकर्ता की वेबसाइट को खींचा जाता है, यह एक साधारण क्वेरी है :
SELECT * से css_table WHERE site_id = $ this_site_id
और PHP का उपयोग करके संसाधित किया जाता है और उचित सीएसएस में बदल जाता है।
प्रश्न:
मुझे अब रिवर्स में जाना होगा।
एक उन्नत सीएसएस मोड होगा जो प्रशासक को एक कच्चा सीएसएस संपादक देगा। टेम्पेररा को पॉप्युलेट करने और संपादन की अनुमति देने के लिए तालिका पंक्तियों को एक बार फिर संसाधित किया जाएगा। अब उसे डाटाबेस में वापस आना होगा। इन नई सीएसएस को वापस अलग, डालेंटेबल फ़ील्ड में कैसे संसाधित किया जा सकता है?
, मैं सीएसएस को एसक्यूएल में वापस करने के लिए निम्नलिखित कोड के साथ आया था।
& lt ;? ( 'Cssparser.php') की आवश्यकता होती है; $ Cssp = नया cssparser; $ Cssp- & gt; पार्स ( 'test.css'); $ Query = 'css_table में शामिल करें (`चयनकर्ता`,` प्रॉपर्टी`, `मान`)' VALUES '; विदेशी मुद्रा ($ cssp- & gt; सीएसएस $ चयनकर्ता = & gt; $ गुणों के रूप में) {विदेशी संपत्ति ($ गुण के रूप में $ संपत्ति = & gt; $ मान) {$ query।} "$ '। (" $ Selector', '$ property', '$ मान '), "; }} $ Query = substr_replace ($ क्वेरी, ';', -2); गूंज $ query; // परीक्षण? & Gt;
परिशिष्ट: मैं यहाँ विकसित विधि का उपयोग करने के बाद, मुझे जल्दी से एहसास हुआ कि यह एक नई पंक्ति के रूप में सम्मिलित होने वाली प्रत्येक प्रॉपर्टी को कैसे अभावीय है एक एकल पीएचपीबीबी बोर्ड के लिए सीएसएस एक 1000 पंक्तियों से अधिक है, और यह कि गुणा करने के लिए प्रत्येक स्वतंत्र बोर्ड के लिए पागल था।
मेरी स्थिति का बेहतर विकल्प सिर्फ एक माध्यम टेक्स्ट फ़ील्ड का उपयोग करने और कच्चे सीएसएस तालिका में। गुणों को संशोधित करने के लिए, मैं सीएसएस को एक सरणी में पार्स करता हूं, जरूरत के अनुसार गुणों को संशोधित करता हूं, और सरणी को सीएसएस पर वापस पार्स करता हूं और डीबी को नए सीएसएस के साथ अद्यतन करता हूं।
"उन्नत सीएसएस" संपादन मोड के लिए, यह डीबी के सादे सीएसएस होने के बाद से अब एक साधारण लाने / अपडेट करें।
Comments
Post a Comment