|
|
|
| имеется стандартная структура разделов id parent name и есть ещё одно поле parents
количество уровней неограничено, нужно какимто образом через цикл пройтись по разделам и для каждого раздела сохранить parent к которому данный раздел привязан(сохранить в поле parents), так чтобы допустим третий уровень будет иметь 1_2 тоесть один это id первого раздела, два это второго раздела, и так далее, чередуясь через знак подчёркивания.
Тоесть мне нужно на конечном подразделе знать каким подразделам/разделу он привязан | |
|
|
|
|
|
|
|
для: Terri
(06.08.2006 в 13:00)
| | Обычно для этого используют рекурсивную функцию (вызывающую саму себя) - посмотрите тему по ссылке http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=21904, если будет что-то не понятно, спрашивайте. | |
|
|
|
|
|
|
|
для: cheops
(06.08.2006 в 15:24)
| | спасибо, но это не то, там решается вопрос вывода разделов, а мне нужно сохранить в отдельном поле parents айди номера своих родителей. Алгоритм разделов я взял со скрипта
osCommerce, там если может видели, допустим третий уровень раздела имеет такой вид ссылки 1_2_3 вот именно эту строчку мне нужно сохранить в поле parents. К примеру 5 уровень бует иметь 1_2_3_4_5 а допустим второй уровень имеет такой 1_2 ну и т.п
вот код что я делал
$sql_result = $db->q("SELECT " . PREFIX . "category.* FROM " . PREFIX . "category where id ='".$caty['id']."'");
$row = $db->mysql_assoc($sql_result);
$sql_result2 = $db->q("SELECT " . PREFIX . "category.* FROM " . PREFIX . "category where id ='".$row['parent_id']."'");
$row2 = $db->mysql_assoc($sql_result2);
$db->q("UPDATE '" . PREFIX . "category' set parents='' where id ='".$caty['id']."'");
$db->q("UPDATE '" . PREFIX . "category' set parents='".$row2['parents']."_".$caty['id']."' where id ='".$caty['id']."'");
|
правдо этот код помещён внутри цикла который проходит по всем разделам, суть такова, при проходе первого уровня сохраняется ид этого раздела в поле parents и будет иметь такой вид 1 далее после прохода второго уровня значения первого раздела из parents сохраняется ковторому уровню раздела тогда он будет иметь такой вид 1_2 и так далее всё выше и выше по уровню чередуясь символом _ Но почемуто в некоторых разделах нет айди родителя а где нормально | |
|
|
|