php - 如何将css存储到mysql数据库中并回调它以显示在html上
问题描述
我想将我的 css 存储在 mysql 数据库中。但是我应该如何存储它。以及如何将其回调以显示在html页面上。
注意:我只想将css存储在mysql数据库中
解决方案
我不确定将 CSS 存储在数据库中是否是一个好主意,但既然您明确要求它,那么您可能会采用这种方法。
TABLE: styles
| id | selector | style_name |
|----|----------|--------------|
| 1 | body | align-center |
| 2 | .d-flex | display-flex |
| 3 | #badge | custom-badge |
TABLE: styles_css
| id | style_name | property | value |
|----|--------------|--------------|-----------|
| 1 | align-center | text-align | center |
| 2 | display-flex | display | flex |
| 3 | custom-badge | color | red |
| 4 | custom-badge | font-size | 1.5rem |
然后,当您需要 HTML 样式时,您可以加入这些表格以获取 CSS 样式。
SELECT `property`, `value`
FROM `styles_css`
LEFT JOIN `styles`
ON `styles`.`style_name` = `styles_css`.`style_name`
WHERE
`styles`.`selector` = '#badge';
这会给你
| property | value |
|------------|----------|
| color | red |
| font-size | 1.5rem |
例子:
<?php
// prepare statement and bind params(PDO would be a good option)
$sql = "
SELECT `property`, `value`
FROM `styles_css`
LEFT JOIN `styles`
ON `styles`.`style_name` = `styles_css`.`style_name`
WHERE
`styles`.`selector` = '#badge';
";
//after execution, something like $styles = $db->exec($sql);
foreach($styles as $property => $value) {
$css = "{$property} : {$value}; ";
}
// remove trailing semi-colon
$css = rtrim($css, ';');
?>
推荐阅读
- genexus - 为 Genexus 中的每个角色设置默认 Web 面板
- webpack - Aurelia Webpack 在 index.ejs 和/或 webpack.config.js 中使用环境变量
- c++ - 什么是 C++ 中的引用折叠以及它是如何工作的?
- msbuild - 为什么 PackageReference 的引用不适用于 msbuild 和共享项目?
- tensorflow - TF 2.0 SparseCategoricalCrossEntropy 奇怪的行为
- java - 覆盖 onSuccess 方法的 AsyncHttpResponseHandler 问题
- c++ - 无法将 'int (*)[m]' 转换为 'int (*)[100000]
- javascript - 是否可以使用 js 或 jquery 设置快捷方式?
- java - 如何在 Android 中取消改造请求队列
- javascript - 问题 js Body.set 不更新对象位置