Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Zmiana pozycji rekordów w dwóch warunków
-Paeeo-
post
Post #1





Goście







Witam!

Mam skrypt do zmian pozycji wpisów w bazie. Chciałbym dodać do niego jeszcze jeden warunek.

  1. if($_GET['menu'] == 'lista' && $_GET['movelista'] && $_GET['a'] && array('up', 'down')) {
  2. $id = (int)$_GET['movelista']; //id wpisu
  3. $typ = (string)$_GET['a']; // kategoria
  4. $sign = $_GET['move'] == 'up' ? '<' : '>';
  5. $sort = $_GET['move'] == 'up' ? 'DESC' : 'ASC';
  6. //$a = mysql_fetch_object(mysql_query('SELECT * FROM projekty WHERE typ = ' . $typ)); //probowałem coś na takiej zasadzie...
  7. $r = mysql_fetch_object(mysql_query('SELECT pozycja FROM projekty WHERE id = ' . $id));
  8. $cPos = $r->pozycja;
  9. $s = mysql_fetch_object(mysql_query('SELECT pozycja, id FROM projekty WHERE pozycja ' . $sign . $cPos .' ORDER BY pozycja ' . $sort));
  10. if(!is_object($s)){}
  11. mysql_query(sprintf('UPDATE projekty SET pozycja = %s WHERE id = %s', $s->pozycja, $id));
  12. mysql_query(sprintf('UPDATE projekty SET pozycja = %s WHERE id = %s', $cPos, $s->id));
  13. }


Obecnie skrypt zmienia pozycje wpisów na zasadzie pobierania poniższego/wyższego wpisu i zamianie wartości pola "pozycja".
Chciałbym dodać jeszcze jeden warunek, a mianowicie podział na kategorie, czyli najpierw wybranie odpowiednich wpisów o danej kategorii (pobranie kategorii metodą get), a dopiero potem, gdy już są tylko te wpisy z daną kategorią, zamiana wartości pola "pozycja".

Nie wiem czy jasno to przedstawiłem: najpierw weś tylko te z daną kategorią, potem zamieniaj wyższą/niższą pozycję.

Dziękuję za jakieś wkazówki i pomoc. Pozdrawiam!
Go to the top of the page
+Quote Post
czychacz
post
Post #2





Grupa: Zarejestrowani
Postów: 189
Pomógł: 13
Dołączył: 20.09.2008
Skąd: Lublin

Ostrzeżenie: (0%)
-----


nie wiem, w czym problem - dodajesz pole z kategorią do tabeli z wpisami i pozycję ustawiasz od 0 (czy tam innej liczby:P) w górę (lub w dół(IMG:style_emoticons/default/tongue.gif) ) na podstawie tego, czy wpisy są z tej samej kategorii
Kod
kat 0 poz 0
kat 0 poz 1
kat 1 poz 0
kat 0 poz 2
kat 0 poz 3
kat 1 poz 2
kat 1 poz 3
kat 2 poz 0
kat 1 poz 4

później do zmiany pozycji dodajesz warunek dotyczący kategorii
kod do tego jest tak banalny, że nie ma potrzeby go pisać - to są podstawy
Go to the top of the page
+Quote Post
-Paeeo-
post
Post #3





Goście







No właśnie chodzi mi o ten warunek, bo na chwilę obecną mam w tabeli kolumnę kategorii. Teraz jak ktoś obniży pozycję wpisu, a ta przeskoczy inny wpis innej kategorii to użytkownik musi się naklikać, żeby zaczęło się przesuwać do góry lub dołu. Chodzi o to, że najpierw chciałbym wyodrębnić wpisy danej kategorii, a potem je przemieszczać góra dół. Dzięki.
Go to the top of the page
+Quote Post
-Paeeo-
post
Post #4





Goście







up
Go to the top of the page
+Quote Post
-Paeeo-
post
Post #5





Goście







Podbijam, proszę o pomoc.
Go to the top of the page
+Quote Post
-Paeeo-
post
Post #6





Goście







up, pomocy?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.09.2025 - 01:34