из таблицы читаю данные и заношу в массив:
$table = 'test';
$query = "SELECT DISTINCT `catalog`,`section`,`category` FROM $table GROUP BY `category`";
$results = mysql_query($query) or die('Invalid query: '.mysql_error());
$jsondata = array();
while ($row = mysql_fetch_assoc($results)) {
if ( !in_array($row['catalog'], $jsondata) ) {
$jsondata['catalog'][] = $row['catalog'];
$jsondata['catalog']['section'][] = $row['section'];
$jsondata['catalog']['section']['category'][] = $row['category'];
} else {
if ( !in_array($row['section'], $jsondata) ) {
$jsondata['catalog']['section'][] = $row'section'];
$jsondata['catalog']['section']['category'][] = $row['category'];
} else {
$jsondata['catalog']['section']['category'][] = $row['category'];
}
}
}
echo '<pre>';
print_r($jsondata);
echo '</pre>';
в результате я получаю следующую структуру массива (вариант №1):
Array
(
[catalog] => Array
(
[0] => art
[section] => Array
(
[0] => painting
[category] => Array
(
[0] => african
[1] => modern art
[2] => ikons
[3] => airballoons
[4] => airships
[5] => helicopters
[6] => parfum
[7] => Crystals & Mineral Specimens
)
[1] => antiques
[2] => aerostatics
[3] => aerodynamics
[4] => parfumerie
[5] => Rocks, Fossils & Minerals
)
[1] => Aircrafts
[2] => Cosmetology
[3] => Collectibles
)
)
но мне нужна структура подобная этой (вариант №2):
Array
(
[catalog] => Array
(
[0] => art
[section] => Array
(
[0] => painting
[category] => Array
(
[0] => african
[1] => modern art
)
[1] => antiques
[category] => Array
(
[0] => ikons
)
)
[1] => Aircrafts
[section] => Array
(
[0] => aerostatics
[category] => Array
(
[0] => airballoons
[1] => airships
)
[1] => aerodynamics
[category] => Array
(
[0] => helicopters
)
[2] => Cosmetology
[section] => Array
(
[0] => parfumerie
[category] => Array
(
[0] => parfum
)
)
[3] => Collectibles
[section] => Array
(
[0] => Rocks, Fossils & Minerals
[category] => Array
(
[0] => Crystals & Mineral Specimens
)
)
)
)
имена массива, каталогов, секций и так далее приведены исключительно в качестве наглядного примера для тестирования, но структура массива необходима только такая.
что изменить в цикле считывания данных. чтобы получить структуру массива подобную второму варианту?
Вопрос исключительно о структуре данных в массиве! Все остальное работает отлично!
спасибо
Спустя 15 минут, 26 секунд (24.09.2011 - 12:42) Игорь_Vasinsky написал(а):
Цитата |
if ( !in_array($row['catalog'], $jsondata) ) { |
во-первых - хранить массивы в БД это плохая манера
![wink.gif](http://phpforum.ru/html/emoticons/wink.gif)
Во-вторых - хотелось бы раскрыть тайну структуры БД...
Это бы способствовало сокращению времени на решение задачи.
Спустя 4 минуты, 30 секунд (24.09.2011 - 12:46) skolozhabskiy написал(а):
1. никаких массивов база данных не хранит, обычная таблица со стандартными данными (INT, VARCHAR и так далее). массив задается перед считываем данных : $jsondata = array().
2. никакой тайны в структуре БД нет - обычная таблица с обычными полями.
для примера, чтобы исключить вопросы по данной теме:
[php]
$sql = "CREATE TABLE IF NOT EXISTS $table (
`id` INT(7) NOT NULL AUTO_INCREMENT,
`catalog` VARCHAR(128) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`section` VARCHAR(128) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`category` VARCHAR(128) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
и так далее....
[php]
3. мне необходимо данные из таблицы разместить так как показано во втором варианте и все.
Я же написал, что речь не о таблице и базе данных, а тем более считывании, вопрос о том, как получить структуру массива подобную второму варианту.
спасибо
2. никакой тайны в структуре БД нет - обычная таблица с обычными полями.
для примера, чтобы исключить вопросы по данной теме:
[php]
$sql = "CREATE TABLE IF NOT EXISTS $table (
`id` INT(7) NOT NULL AUTO_INCREMENT,
`catalog` VARCHAR(128) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`section` VARCHAR(128) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`category` VARCHAR(128) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
и так далее....
[php]
3. мне необходимо данные из таблицы разместить так как показано во втором варианте и все.
Я же написал, что речь не о таблице и базе данных, а тем более считывании, вопрос о том, как получить структуру массива подобную второму варианту.
спасибо
Спустя 5 минут, 14 секунд (24.09.2011 - 12:51) Игорь_Vasinsky написал(а):
Цитата |
if ( !in_array($row['catalog'], $jsondata) ) { |
Цитата |
in_array -- Проверить, присутствует ли в массиве значение |
И при этом ты проверяешь данные из ячейки
Спустя 1 минута, 15 секунд (24.09.2011 - 12:53) skolozhabskiy написал(а):
да проверяю как вариант, вы можете предложить иную структуру считывания?
возможно, что такой вариант есть, но я его не могу пока найти, вот и прошу профессионалов помочь мне решить эту проблему. еще раз повторюсь вопрос о том, как считать данные из таблицы, чтобы получить структуру массива как во втором варианте.
спасибо
возможно, что такой вариант есть, но я его не могу пока найти, вот и прошу профессионалов помочь мне решить эту проблему. еще раз повторюсь вопрос о том, как считать данные из таблицы, чтобы получить структуру массива как во втором варианте.
спасибо
Спустя 2 минуты, 23 секунды (24.09.2011 - 12:55) Игорь_Vasinsky написал(а):
Может я и не прав, но правильней было бы:
catalog
id | name
section
name | catalog_id
category
name | id_section
articles (или что там у тебя)
name | id_category
catalog
id | name
section
name | catalog_id
category
name | id_section
articles (или что там у тебя)
name | id_category
Спустя 4 минуты, 42 секунды (24.09.2011 - 13:00) skolozhabskiy написал(а):
так не получится, надо ассоциативный массив из имеющихся данных.
я понимаю, что нужны идентификаторы для catalog и section.
только пока не могу понять как это осуществить при считывании.
если так, то ошибка:
спасибо
я понимаю, что нужны идентификаторы для catalog и section.
только пока не могу понять как это осуществить при считывании.
если так, то ошибка:
$i = -1; $j = 0;
while ($row = mysql_fetch_assoc($results)) {
if ( !in_array($row['catalog'], $jsondata) ) {
$i++; $j = 0;
$jsondata['catalog'][] = $row['catalog'];
$jsondata['catalog'][$i]['section'][] = $row['section'];
$jsondata['catalog'][$i]['section'][$j]['category'][] = $row['category'];
} else {
if ( !in_array($row['section'], $jsondata) ) {
$j++;
$jsondata['catalog'][$i]['section'][] = $row'section'];
$jsondata['catalog'][$i]['section'][$j]['category'][] = $row['category'];
} else {
$jsondata['catalog'][$i]['section'][$j]['category'][] = $row['category'];
}
}
}
спасибо
Спустя 8 минут, 24 секунды (24.09.2011 - 13:08) Игорь_Vasinsky написал(а):
теперь не структуру а вкаком виде у тя заполнена таблица
Типа
id | catalog | section | category | bla-bla
1 авто отечест легковые ваз
2 запчасти кузов б.у ваз
3 авто иномар новые fiat
Типа этого, т.е. ты проверяешь на равенство значений ячеек и формируешь так древовиднуй структуры?
Типа
id | catalog | section | category | bla-bla
1 авто отечест легковые ваз
2 запчасти кузов б.у ваз
3 авто иномар новые fiat
Типа этого, т.е. ты проверяешь на равенство значений ячеек и формируешь так древовиднуй структуры?
Спустя 5 минут, 58 секунд (24.09.2011 - 13:14) skolozhabskiy написал(а):
я же задал конкретный вопрос - по структуре массиве, а не по структуре таблицы.
структура не имеет значения в данном вопросе, заполнение идет по схеме:
1 авто отечест легковые
2 авто отечест легковые
3 авто отечест легковые
4 авто заруб легковые
5 авто отечест грузовые и так далее
и ничего менять здесь не нужно!
пожалуйста, посмотрите на приведенный выше пример с идентификаторами, где здесь ошибка?
необходимо решение внутри цикла считывания, а не пределывания таблицы!
спасибо
структура не имеет значения в данном вопросе, заполнение идет по схеме:
1 авто отечест легковые
2 авто отечест легковые
3 авто отечест легковые
4 авто заруб легковые
5 авто отечест грузовые и так далее
и ничего менять здесь не нужно!
пожалуйста, посмотрите на приведенный выше пример с идентификаторами, где здесь ошибка?
необходимо решение внутри цикла считывания, а не пределывания таблицы!
спасибо
Спустя 4 минуты, 21 секунда (24.09.2011 - 13:18) Игорь_Vasinsky написал(а):
.... Ты не нервничай, я те просто хотел сказать что структура у тя неверная -> при сортировки дополнительные напряги и -> необравданная трата ресурсов.
Ну не хочь слушать - на надо, давай твоё чудо попробуем до ума довести
![wink.gif](http://phpforum.ru/html/emoticons/wink.gif)
тебе нужно использовать вспомогательные массивы, что бы сортировать при выборке.
Ща погоди.. попробую.
Спустя 4 минуты, 15 секунд (24.09.2011 - 13:23) skolozhabskiy написал(а):
спасибо я нормально все воспринимаю, просто не хочу, чтобы обсуждение уходило от проблемы. как раз вот с сортировкой опять таки все супер отлично и бегает просто на ура. поэтому я и неоднократно прошу уити от темы таблица и посмотреть на проблему глазами внутри цикла считывания.
спаибо за помощь
спаибо за помощь
Спустя 6 минут, 43 секунды (24.09.2011 - 13:29) Игорь_Vasinsky написал(а):
Да... меня ещё смущает GROUP BY `category`
это же выдаст тебе только все категории без повторов
т.е. если есть
catalog авто иномарки bla-bla
catalog запчасть иномарки bla-bla2
Он у тя тока одну строку вытащит - первую, а на вторую забьёт.
это же выдаст тебе только все категории без повторов
т.е. если есть
catalog авто иномарки bla-bla
catalog запчасть иномарки bla-bla2
Он у тя тока одну строку вытащит - первую, а на вторую забьёт.
Спустя 3 минуты, 23 секунды (24.09.2011 - 13:33) Игорь_Vasinsky написал(а):
не.. пробывал, с такой структурой я пас, мозг выносит при составлении алгоритма сортировки при формировании массива.
Спустя 46 секунд (24.09.2011 - 13:34) skolozhabskiy написал(а):
еще раз извините за повтор, со считываем из таблицы все в полном порядке и никаких потерь нет. давайте забудем про таблицу и если вы можете помочь, то подскажите где у меня ошибка в цикле считывания и формирования массива.
жаль, спасибо за помощь
жаль, спасибо за помощь
Спустя 45 минут, 40 секунд (24.09.2011 - 14:19) killer8080 написал(а):
skolozhabskiy
а зачем нужен массив с не корректной структурой?
Ключи в массиве должны быть уникальными, а там, во втором варианте, сплошной дубляж. Как такое может быть?
а зачем нужен массив с не корректной структурой?
Ключи в массиве должны быть уникальными, а там, во втором варианте, сплошной дубляж. Как такое может быть?
Спустя 9 минут, 4 секунды (24.09.2011 - 14:28) skolozhabskiy написал(а):
это только пример, нужен ассоциативный массив, который потом можно будет через ajax передать в форме json и вы можете показать в чем видете дубляж?
вы можете предложить свой вариант считывая в массив при приведенных вводных?
вот так все раскладывается как надо, но здесь действительно есть дупляж и этот массив не годится для считывания потом в json:
данный вариант дает следующее:
спасибо
вы можете предложить свой вариант считывая в массив при приведенных вводных?
вот так все раскладывается как надо, но здесь действительно есть дупляж и этот массив не годится для считывания потом в json:
while ($row = mysql_fetch_assoc($checkresults)) {
if ( !in_array($row['catalog'], $jsondata) ) {
$jsondata['catalog'][] = constant($row['catalog']);
$jsondata['catalog'][$row['catalog']]['section'][] = $row['section'];
$jsondata['catalog'][$row['catalog']]['section'][$row['section']]['category'][] = $row['category'];
} else {
if ( !in_multi_array($row['section'], $jsondata) ) {
$jsondata['catalog'][$row['catalog']]['section'][] = $row['section'];
$jsondata['catalog'][$row['catalog']]['section'][$row['section']]['category'][] = $row['category'];
} else {
$jsondata['catalog'][$row['catalog']]['section'][$row['section']]['category'][] = $row['category'];
}
}
}
}
данный вариант дает следующее:
Array
(
[catalog] => Array
(
[0] => art
[art] => Array
(
[section] => Array
(
[0] => painting
[painting] => Array
(
[category] => Array
(
[0] => african
[1] => modern art
)
)
[1] => antiques
[antiques] => Array
(
[category] => Array
(
[0] => ikons
)
)
)
)
[1] => Aircrafts
[Aircrafts] => Array
(
[section] => Array
(
[0] => aerostatics
[aerostatics] => Array
(
[category] => Array
(
[0] => airballoons
[1] => airships
)
)
[1] => aerodynamics
[aerodynamics] => Array
(
[category] => Array
(
[0] => helicopters
)
)
)
)
[2] => Cosmetology
[Cosmetology] => Array
(
[section] => Array
(
[0] => parfumerie
[parfumerie] => Array
(
[category] => Array
(
[0] => parfum
)
)
)
)
[3] => Collectibles
[Collectibles] => Array
(
[section] => Array
(
[0] => Rocks, Fossils & Minerals
[Rocks, Fossils & Minerals] => Array
(
[category] => Array
(
[0] => Crystals & Mineral Specimens
)
)
)
)
)
)
спасибо
Спустя 10 минут, 32 секунды (24.09.2011 - 14:39) killer8080 написал(а):
Цитата (skolozhabskiy @ 24.09.2011 - 14:28) |
это только пример, нужен ассоциативный массив, который потом можно будет через ajax передать в форме json и вы можете показать в чем видете дубляж? |
а вы не видите в чем? У вас там получается так
array('catalog' => array('section' => array(), 'section' => array(), 'section' => array()) );а такого быть не может.
Цитата (skolozhabskiy @ 24.09.2011 - 14:28) |
вы можете предложить свой вариант считывая в массив при приведенных вводных? |
да легко
Свернутый текст
Array
(
[catalog] => Array
(
[art] => Array
(
[painting] => Array
(
[0] => african
[1] => modern art
)
[antiques] => Array
(
[0] => ikons
)
)
[Aircrafts] => Array
(
[aerostatics] => Array
(
[0] => airballoons
[1] => airships
)
[aerodynamics] => Array
(
[0] => helicopters
)
)
[Cosmetology] => Array
(
[parfumerie] => Array
(
[0] => parfum
)
)
[Collectibles] => Array
(
[Rocks, Fossils & Minerals] => Array
(
[0] => Crystals & Mineral Specimens
)
)
)
)
Спустя 2 минуты, 59 секунд (24.09.2011 - 14:42) skolozhabskiy написал(а):
да, это вариант, но нужно после передачи через ajax ссылаться на catalog, section, category - как я могу это сделать если у меня ключи все разные?
посмотрите на приведенный вариант постом выше на этой странице, может подскажете как в этом случае модернизировать код?
спасибо
посмотрите на приведенный вариант постом выше на этой странице, может подскажете как в этом случае модернизировать код?
спасибо
Спустя 14 минут, 3 секунды (24.09.2011 - 14:56) killer8080 написал(а):
Цитата (skolozhabskiy @ 24.09.2011 - 14:42) |
да, это вариант, но нужно после передачи через ajax ссылаться на catalog, section, category - как я могу это сделать если у меня ключи все разные? |
не понял суть проблемы. Вы получаете json массив со строгой иерархической структурой, кстати первый ключ catalog, можно выкинуть, от него пользы никакой, в чем сложности.
Покажите фрагмент кода, ка вы его обрабатываете на клиенте.
Спустя 10 минут, 39 секунд (24.09.2011 - 15:07) skolozhabskiy написал(а):
как выкинуть? что исправить/убрать?
на клиенте (все стандартно):
конструкция ниже выводит только первый каталог и все, например.
вот тут-то вся и беда как из catalog, section и category составить меню?
структура меню следующая:
catalog - главное меню
section - раздел
category - ссылка на что-либо
поэтому catalog выбрасывать нельзя наверное.
спасибо
на клиенте (все стандартно):
<script type="text/javascript">
$(function(){
$.get('ajax/ajax-test.php',{},function(response, status) {
var data = $.parseJSON(response); // здесь все выводится правильно!
alert(data[0].catalog.length); // это и ниже не работает!
for (i=0; i<data[0].catalog.section.length; i++) {
$('#content-data').append('<a id="'+data[0].catalog.section[i]+'" class="fatmenu-zone" href=""><span class="fatmenu-title">'+data[0].catalog.section[i]+'</span></a>');
});
});
</script>
конструкция ниже выводит только первый каталог и все, например.
$.each(data, function(i, obj) {
$('#content-data').append('<a class="fatmenu-zone" href=""><span class="fatmenu-title">'+obj.catalog[i]+'</span></a>');
});
вот тут-то вся и беда как из catalog, section и category составить меню?
структура меню следующая:
catalog - главное меню
section - раздел
category - ссылка на что-либо
поэтому catalog выбрасывать нельзя наверное.
спасибо
Спустя 36 минут, 18 секунд (24.09.2011 - 15:43) killer8080 написал(а):
можно так
$jsondata = array();
while ($row = mysql_fetch_assoc($checkresults)) {
$jsondata[$row['catalog']][$row['section']][] = $row['category'];
}
$(document).ready(function(){
$.getJSON('ajax.php', function(data){
$.each(data, function(catalog, section){
for(var i = 0; i < section.length; i++){
$('#content-data').append('<a id="'+section[i]+'">'+section[i]+'</a>');
}
});
});
});
Спустя 13 минут, 52 секунды (24.09.2011 - 15:57) skolozhabskiy написал(а):
пробовал, но не работает ваш код, посмотрите может что-то нужно добавить.
я несколько изменил его, но этот вариант тоже не работает:
спасибо
я несколько изменил его, но этот вариант тоже не работает:
$.getJSON('ajax/ajax-test.php', function( response ) {
alert(response);// выводит Object и все
var data = $.parseJSON(response);
alert(data[0].catalog.section.length); // ничего не выводит и так тоже data[0].section.length)
$.each(data, function(catalog, section) {
for(var i = 0; i < section.length; i++){
$('#content-data').append('<a id="'+section[i]+'">'+section[i]+'</a>');
}
});
});
спасибо
Спустя 38 минут, 11 секунд (24.09.2011 - 16:35) killer8080 написал(а):
да у меня там была ошибка, нужно так
$(document).ready(function(){
$.getJSON('ajax.php', function(data){
$.each(data, function(catalog, section_obj){
$.each(section_obj, function(section, category_arr){
for(var i = 0; i < category_arr.length; i++){
$('#content-data').append('<a id="'+category_arr[i]+'">'+category_arr[i]+'</a><br>');
}
});
});
});
});
Спустя 8 минут, 23 секунды (24.09.2011 - 16:43) skolozhabskiy написал(а):
спасибо - первый результат хоть с какой-то надеждой за месяц. :-)
если не сложно, как модернизировать ваш код чтобы я мог получить не просто список категорий, а только категории для определенного каталога и секции (раздела), то есть из полученных данных сформировать меню.
сейчас я получаю просто список:
african
modern art
ikons
airballoons
airships
helicopters
parfum
Crystals & Mineral Specimens
конечная задача такова: при наведении, например на меню "art" должно показываться раздел/секция "painting" и "antiques", а также ниже них категории (ссылки).
еще раз спасибо за помощь
если не сложно, как модернизировать ваш код чтобы я мог получить не просто список категорий, а только категории для определенного каталога и секции (раздела), то есть из полученных данных сформировать меню.
сейчас я получаю просто список:
african
modern art
ikons
airballoons
airships
helicopters
parfum
Crystals & Mineral Specimens
конечная задача такова: при наведении, например на меню "art" должно показываться раздел/секция "painting" и "antiques", а также ниже них категории (ссылки).
еще раз спасибо за помощь
Спустя 12 минут, 40 секунд (24.09.2011 - 16:56) killer8080 написал(а):
$(document).ready(function(){
$.getJSON('ajax.php', function(data){
var content = '';
$.each(data, function(catalog, section_obj){
content += catalog+'<br />';
$.each(section_obj, function(section, category_arr){
content += '-'+section+'<br />';
for(var i = 0; i < category_arr.length; i++){
content += '--'+category_arr[i]+'<br />';
}
});
});
$('#content-data').append(content);
});
});
Спустя 6 минут, 59 секунд (24.09.2011 - 17:03) skolozhabskiy написал(а):
вот этакая структура полность соответствует моему представлению решения проблемы:
как можно теперь соединить этот код чтобы только при наведении на меню "art" например я получал секции и разделы относящиеся только к нему, а не все списком?
спасибо
$.getJSON('ajax/ajax-test.php', function(data){
var content = '';
$.each(data, function(catalog, section_obj){
content += catalog+'<br />';
$.each(section_obj, function(section, category_arr){
content += section+'<br />';
for (var i = 0; i < category_arr.length; i++){
content += '<a id="'+category_arr[i]+'" lass="fatmenu-zone" href="">'+category_arr[i]+'</a><br />';
}
});
});
$('#content-data').append(content);
});
как можно теперь соединить этот код чтобы только при наведении на меню "art" например я получал секции и разделы относящиеся только к нему, а не все списком?
спасибо
Спустя 10 минут, 47 секунд (24.09.2011 - 17:14) skolozhabskiy написал(а):
так я получаю главное меню:
теперь задача скрыть все секции/разделы и категории и выводить только нужные при наведении на пункт главного меню "art" например
сейчас в контент-дата просто выводится весь список всех разделов/секций и категорий.
спасибо за помощь
$.getJSON('ajax/ajax-test.php', function(data){
var content = '';
var menu = '';
$.each(data, function(catalog, section_obj){
menu += '<ol><span class="fatmenu-title">'+catalog+'</ol></span>';
$.each(section_obj, function(section, category_arr){
content += section+'<br />';
for (var i = 0; i < category_arr.length; i++){
content += '<a id="'+category_arr[i]+'" lass="fatmenu-zone" href="">'+category_arr[i]+'</a><br />';
}
});
});
$('#content-menu2').append(menu+'<br />');
$('#content-data').append(content);
});
теперь задача скрыть все секции/разделы и категории и выводить только нужные при наведении на пункт главного меню "art" например
сейчас в контент-дата просто выводится весь список всех разделов/секций и категорий.
спасибо за помощь
Спустя 22 секунды (24.09.2011 - 17:14) killer8080 написал(а):
Цитата (skolozhabskiy @ 24.09.2011 - 17:03) |
как можно теперь соединить этот код чтобы только при наведении на меню "art" например я получал секции и разделы относящиеся только к нему, а не все списком? |
Не стой стороны вы подошли к решению задачи. Теперь нужно всё это выбросить и делать по уму. Зачем аяксом тянуть все элементы? С таким же успехом их можно было статично вывести в html. Прелесть аякса в том и заключается, что данные можно подгружать частями, по мере необходимости. То есть сначала статично в html выводим меню из каталогов, на онклик вешаем обработчик который подгрузит подменю секций, на секциях аналогично свои обработчики, которые подгрузят категории. Но всё это имеет смысл только если категорий слишком много, иначе лучше сделать статичное меню и по онклик манипулировать с display:(block|none).
Спустя 3 минуты, 5 секунд (24.09.2011 - 17:17) killer8080 написал(а):
И ещё один нюанс, при таком подходе поисковые боты не увидят ссылки на страницы категорий, их ведь нет в документе.
Спустя 1 минута, 26 секунд (24.09.2011 - 17:19) skolozhabskiy написал(а):
задача в том, чтобы автоматически из таблицы считывались все каталоги, а к ним разделы и категории, но вы правы для начала нужно просто вывести каталоги, а при наведенни на них разделы/секции и категории во всплывающем меню.
да категорий много и в этом то вся проблема. вы можете помочь привести этот код к требуемой задаче?
спасибо
да категорий много и в этом то вся проблема. вы можете помочь привести этот код к требуемой задаче?
спасибо
Спустя 23 минуты, 18 секунд (24.09.2011 - 17:42) killer8080 написал(а):
Цитата (skolozhabskiy @ 24.09.2011 - 17:19) |
вы можете помочь привести этот код к требуемой задаче? |
Нет смысла, я бы все это переписал. И начать нужно с БД, она изначально не правильно спроектирована. Тут нужно делать 3 таблицы, а не громоздить всё в одну.
Свернутый текст
CREATE TABLE `catalog` (
`int` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`name` VARCHAR( 128 ) NOT NULL ,
PRIMARY KEY ( `int` )
);
CREATE TABLE `section` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`name` VARCHAR( 128 ) NOT NULL ,
`catalog_id` INT UNSIGNED NOT NULL ,
PRIMARY KEY ( `id` )
);
CREATE TABLE `category` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,
`name` VARCHAR( 128 ) NOT NULL ,
`section_id` INT UNSIGNED NOT NULL ,
PRIMARY KEY ( `id` )
);
Дальше в хтмл статично выводим меню с каталогами и соответствующими онкликами, а аяксом подгружаются только то, что нужно.
Спустя 24 минуты, 20 секунд (24.09.2011 - 18:06) skolozhabskiy написал(а):
спасибо, буду пробовать
Спустя 37 минут, 20 секунд (24.09.2011 - 18:44) skolozhabskiy написал(а):
killer8080
можно проконтактировать с вами в личном порядке и показать что получилось?
можно проконтактировать с вами в личном порядке и показать что получилось?
Спустя 14 минут, 24 секунды (24.09.2011 - 18:58) killer8080 написал(а):
Цитата (skolozhabskiy @ 24.09.2011 - 18:44) |
можно проконтактировать с вами в личном порядке и показать что получилось? |
Нет проблем, пиши в личку.
Спустя 44 минуты, 8 секунд (24.09.2011 - 19:42) skolozhabskiy написал(а):
спасибо, уже написал. буду вам очень благодарен за ответ