Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: update kolejnosci wierszy w bazie
Forum PHP.pl > Forum > PHP
atomp3
Witam

Mam drzewo kategorii:

kat1
--kat2
--kat3
kat4
...

zbudowane jest na bazie 'parent' -> 'ID'

Jak zbudowac zapytanie aby jednoczeniesnie zamieniec ID kategorii np.

ID name
1 kat1
2 kat2

potrzebuje zamienic kat1 z kat2 tak aby kat2 mialo ID=1 a kat1 ID=2

Mam nadzieje ze napisalem to dosc jasno smile.gif

Dzieki za pomoc
nowotny
Ale w jakim celu...? jednorazowo, raz na zawsze...? dynamicznie...?
atomp3
raz na zawsze smile.gif
nowotny
Erm... no to nie rozumiem co za problem... :/
  1. UPDATE tabela SET `name` = 'kat2' WHERE `ID`=1
  2. UPDATE tabela SET `name` = 'kat1' WHERE `ID`=2
atomp3
no nie o to dokladnie mi chodzilo


szukam najlepszej metody posortowania wynikow mam tablice jak wyzej do ktorej podczepione sa podkategorie jesli zmienie nazwe to np w kategorii samochody bede mial telewizory a chodzi mi o przesuniecie calej kategori nad druga. W podkategoriach bede produkty itd..

Nie ma problemu jesli kategorie sa puste bo mozna je usunac i dodac w kolejnosci ale jesli sa tam produkty to sprawa sie komplikuje
Xniver
To nie możesz po prostu zmienić wartości 'parent'? Jeśli używasz tej klasy co ci napisałem to nie powinno być problemów.

  1. <?php
  2. public function changeParent($catId, $newParent)
  3. {
  4. global $db, $sql_table;
  5.  
  6. if(!isset($this->categories[$catId]) || !isset($this->categories[$newParent]))
  7. {
  8. return false;
  9. }
  10.  
  11. $db->query('UPDATE ' . $sql_table . '
  12. SET `parent` = ' . $newParent . '
  13. WHERE `categoryID` = ' . $catId);
  14.  
  15. return true;
  16. }
  17. ?>


Edit: A jeśli chodzi o sortowanie to dodaj nowe pole 'ordering' i w zapytaniu sortuj według niego
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.