Тема: Об'єднання сторінок

В БД зберігається html, css, javascript коди сторінки.
Сторінка формується так: PHP бере з БД всю інформацію яка була запитана за допомогою технології AJAX, JS підтягує цю інформацію на сторінку
PHP

$jsonAnswer = array( 
    'bbCodeName' => $_GET['bbcodeName'],
    'cssCode' => (isset($result['cssCode']) ?
    $result['cssCode'] : '0'),
    'htmlCode' => (isset($result['htmlCode']) ?
    $result['htmlCode'] : '0'),
    'javascriptCode' => (isset($result['javascriptCode']) ?
    $result['javascriptCode'] : '0') );

echo json_encode($jsonAnswer);

Це щось типу текстового процесору..., а не звичайна сторінка для перегляду
Можна створити багато окремих сторінок, а потім їх з'єднати як потрібно, коли буде готова стаття, можна буде завантажити її на комп'ютер чи розповсюдити..., тому ifame не зовсім тут підійде

Виникає проблема спільних імен, наприклад
Перша сторінка
html

<div id="divTag">something</div>
<p>something</p>

css

p {color:red;}

js

document.getElemrntById('divTag').style.color='yellow';

Друга сторінка
html

<div id="divTag">something</div>
<p>something</p>

css

p {color:green;}

js

document.getElemrntById('divTag').style.color='blue';

Якщо об'єднати це, вийде не несумісний код

<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
p {color:red;}
p {color:green;}
</style>
</head>
<body>

<div id="divTag">something</div>
<p>something</p>
<div id="divTag">something</div>
<p>something</p>

<script>
document.getElemrntById('divTag').style.color='yellow';
document.getElemrntById('divTag').style.color='blue';
</script>
</body>
</html>

Як уникнути конфліктів імен при об'єднані сторінок ?

2

Re: Об'єднання сторінок

у вас в таблиці де зберігаються дані, додаєте ще одне унікальне поле id, воно може бути типу INT AUTOINCREMENT або CHAR(36) - із унікальним хешом (заюзати ф-ію UUID() в MySQL). при генерації сторінок створюйте додаткові блоки в яких і будете вставляти сторінки

<div id="{ID_FROM_TABLE}">
  <div id="divTag">something</div>
   <p>something</p>
</div>

<div id="{ID_FROM_TABLE_2}">
  <div id="divTag">something</div>
   <p>something</p>
</div>

і оскільки сторінки можуть мітити дублі id="divTag", я раджу відмовитись від них

Прихований текст

зберігати html,css і js  в базі це погана ідея, як ви бачите html може містити дублі, так само і css/js може містити дублі. Що призведе до прихованих конфліктів, які в подальшій роботі дуже важко буде відловити. БД повинна містити суто дані, все інше повинно зберігатись у файлах, які сервер віддасть одразу при запиті, а не через БД, це ж зайве навантаженняю

Подякували: Betterthanyou, 221VOLT2