Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Varvara

Страницы: [1] 2
1
PHP / FOR RomikChef
« : 10 Февраля 2004, 12:36:31 »
Ага можешь мою тему грахнуть!
Не обижусь.

2
PHP / Как сделать update с увеличением?
« : 10 Февраля 2004, 06:11:00 »
Я не спрашиваю если в Nested Sets или нет, ВОПРОС совсем другой, не про Nested Sets, если не знаешь не пиши!!!

3
PHP / for Макс
« : 10 Февраля 2004, 06:07:54 »
Макс СПАСИБО за помощь, но ты не врубаешься!

В классе dbtree, только перемещение потомков, но не родителя с потомками, если б было так просто.

Который раз я задаю вопрос как увеличить значение в прогрессии 1, 2, 3 и т.д.

4
PHP / UPDATE не работает в цикле !!! ???
« : 09 Февраля 2004, 20:52:42 »
Как работает UPDATE в цикле? И работает ли вообще?!!
Можно пример!


for ($i=1; $i<=$pot;$i++){
$query = "UPDATE catalogs SET cat_left=\'$i\', cat_right=\'$i\' where cat_left between \'$cat_left\' and \'$cat_right\'";
mysql_query( $query, $db )or die ( "Не могу обновить данные в базе");
}
mysql_close( $db);

5
PHP / for Макс
« : 09 Февраля 2004, 20:45:42 »
Ты не понял что это:

1-ый cat_left+1 и cat_right-1
2-ой cat_left+2 и cat_right-2

Это и есть алгоритм перемещения потомков родителя между другими родителями и потомками.

Данное пример:
UPDATE tab SET cat_left = cat_left + 4, cat_right = cat_right + 4 WHERE cat_left BETWEEN 9 AND 12

НЕ УНИВЕРСАЛЬНЫЙ СПОСОБ, он не подходит всех случаев перемещения (пока говорю перемещении  только вверху вниз)

Мне нужен ответ как ИЗМЕНИТЬ потомки новыми значениями ни как не связанными со старыми, связь есть только с новым значением родителем по схеме которую ты не понял.

Не ужели UPDATE не работает в цикле !!! ???
ЭТО ГЛАВНЫЙ ВОПРОС?

6
PHP / for Макс
« : 09 Февраля 2004, 10:49:04 »
Мне не понятен алгоритм обновления потомков после перемещения, если родитель имеет несколько потомков, как их изменить все разом, поотдельности понятно.

Я хочу сделать так, зная обновленные значения родителя, можно вычеслить потомков:
1-ый cat_left+1 и cat_right-1
2-ой cat_left+2 и cat_right-2

Я хотела эти значения, увеличения и уменьшения на 1 и 2
взять из найденного количества потомков и циклично изменить, но update не помогает!?

Может создать временную таблицу и insert изменить поля
cat_left и cat_right, а потом обновить основную таблицу.

7
PHP / FOR Макс
« : 05 Февраля 2004, 18:26:03 »
Эти упращеные примеры по работе с родителем и потомками каталога?

У меня вопрос почему insert работает в цикле, а update нет?

А вообще мне нужно изменить значение потомков, было
после нового значения ровдителя

8 - 13
5 - 8
6 - 7
 
Как одним update изменить, что бы было так

8 -13
9 - 12
10 -11

Родитель и потомки перемещены.

8
PHP / FOR Макс
« : 05 Февраля 2004, 17:39:59 »
Обьясни мне хоть ты как сделать так:

Рабочий пример -

$pot =($cat_right - $cat_left - 1) / 2;

for ($i=1; $i<=$pot;$i++){

$query = "INSERT INTO catalogs2 (cat_left, cat_right) values(\'$cat_left\'+\'$i\', \'$cat_right\'-\'$i\')";
mysql_query( $query, $db )or die ( "Не могу добавить новые данные в базу");
mysql_close( $db);

}

Делает то что мне надо, а то же самое с update не работает -

$pot =($cat_right - $cat_left - 1) / 2;

for ($i=1; $i<=$pot;$i++){

$query = "UPDATE catalogs2 SET cat_left=\'$cat_right\'+\'$i\', cat_right=\'$cat_right\'-\'$i\' where cat_left between \'$cat_left\' and \'$cat_right\'";

mysql_query( $query, $db )or die ( "Не могу обновить данные в базе");
mysql_close( $db);
}

9
PHP / FOR Макс
« : 05 Февраля 2004, 15:41:15 »
На самом деле цикл берется из проверки потомков, взависимости от количества потомков, зная новое значение родителя после перемещения, имея цикл легко создать потомков увеличивая cat_left и уменьшая cat_right на $i, это очень логическое решешие проблемы.

Я не вникала в код function moveAll, т.к. хочу разабраться сама и почти написала свои функции для работы с этим алгоритном, осталось разобраться с перемещением, бьюсь целую неделю, до конца не могу нащупать универсальный путь.

СПАСИБО!

10
PHP / Как сделать update с увеличением?
« : 04 Февраля 2004, 15:51:45 »
Что такое mysql_error() , я знаю, ответь на мой вопрос!

Как обновить БД циклической переменной $i ???

11
PHP / Как сделать update с увеличением?
« : 04 Февраля 2004, 13:35:02 »
Таблица:

Были значения -

cat_left - cat_right

1 - 6
2 - 5
3 - 4

Хотелось бы -

cat_left  cat_right

2 - 7
3 - 6
4 - 5

Пишу запрос на перемещение потомков по Nested Sets, знаю что есть function moveAll в классе Nested Sets.

12
PHP / Как сделать update с увеличением?
« : 04 Февраля 2004, 13:08:22 »
Проблему я описала выше, более узко к примеру кода.
Есть цикл увеличивающийся на $i - единицу как написать запрос на обновление на эту увелич. переменную???

13
PHP / Как сделать update с увеличением?
« : 04 Февраля 2004, 12:42:57 »
Как написать update c увеличение на переменную $i для всех строк БД, если переменная увеличивается по циклу
for ($i=0;$i<$total;$i++)

Пример неработающего кода:

for ($i=0;$i<$total;$i++) {
....
$query = "UPDATE catalogs2 SET cat_left=\'$last_cat_left\'+\'$i\', cat_right=\'$last_cat_right\'-\'$i\' ";
....
}

14
PHP / Как сделать update с увеличением?
« : 04 Февраля 2004, 12:09:31 »
Как написать update c увеличение на переменную $i для всех полей БД.
for ($i=0;$i<$total;$i++)

15
PHP / алгоритм Nested Sets
« : 15 Января 2004, 17:13:26 »
Большое спасибо, особенно Yukko !

Страницы: [1] 2