Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Zmiana miejsca obrazka
kusiu
post 26.09.2006, 20:10:54
Post #1





Grupa: Zarejestrowani
Postów: 163
Pomógł: 10
Dołączył: 24.01.2006

Ostrzeżenie: (30%)
XX---


Witam!
Jak otoz mam w bazie obrazki i tabela ma jedna kolumne ID(auto_increment). Skrypt polega na dodaniu i usunieciu obrazków. wyswietla je w miniaturkach po przez select * from images. Teraz moj probem polega na tym, iz chce, aby przy kazdej miniaturce procz textu "usun zdjecie" byly 2 strzalki - w gore i w dol, ktore umozliwią zmiane miejsca tego obrazka(obrazki wyswietlane sa od gory do dolu).



POMOCY sad.gif !

Ten post edytował kusiu 26.09.2006, 20:11:32
Go to the top of the page
+Quote Post
kossa
post 26.09.2006, 20:59:18
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


1. Dodaj do tabeli kolumnę np "pozycja"
2. Dodając kolejne zdjęcie do bazy ustaw mu pozycję na: ostatnia największa + 1
3. Napisz funkcję która będzie modyfikowała pozycję wybranego obrazka (góra/dół) - podepnij do linków
(np. pobierasz poprzeni i aktalny zapis z bazy z kolumny pozycja i zamieniasz je, tak samo obecny i kolejny - i zamiana, pamietakj kolejny to nie pozycja obecna + 1 tylko kolejny sprawdzony z bazy bo jak coś pomiędzy usunaleś to klapa)

Mam nadzieję, że jasno opisałem "algorytm" postępowania jak zabrać się do zadania, teraz tylko już select i update :-)

Powodzenia,
Łukasz

edit przykładowe rozwiązanie

  1. <?php
  2. function ZmienPozycje($foto_id,$up=true)
  3. {
  4. //pobieramy pozycje
  5. $s="select pozycja from tabela where id=$foto_id limit 1";
  6. $res=mysql_query($s);
  7. $row=mysql_fetch_array($res);
  8. $poz=$row[0];
  9.  
  10. if ($up)
  11. $s="select id,pozycja from tabela where pozycja<$poz order by pozycja desc";
  12. else
  13. $s="select id,pozycja from tabela where pozycja>$poz order by pozycja";
  14.  
  15. $res=mysql_query($s);
  16. $ilosc=mysql_num_rows($res);
  17.  
  18. if ($ilosc>0)
  19. {
  20. $row=mysql_fetch_array($res);
  21. $newPoz=$row[1];
  22. $newId=$row[0];
  23. $s="update tabela set pozycja=$newPoz where id=$foto_id";
  24. $res=mysql_query($s);
  25. $s="update tabela set pozycja=$poz where id=$newId";
  26. $res=mysql_query($s);
  27.  
  28. }
  29. };
  30. ?>

uruchamiasz np. poprzez klik w link gdzie masz np. plik.php?foto_id=10&up=true //jesli w dol &up=false //jesli w gore

a funkcje wywolujesz w pliku plik.php:

  1. <?php
  2. ZmienPozycje($_GET["foto_id"],$_GET["up"]);
  3. ?>

i wszystko, mam nadzieje ze nie ma literowek i bledu typu brak srednika, pisalem tp teraz na szybko z reki

Łukasz

Ten post edytował kossa 26.09.2006, 21:00:42


--------------------
Go to the top of the page
+Quote Post
El.Kurczako
post 27.09.2006, 01:27:42
Post #3





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 9.02.2004

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


nie wiem w jaki sposob sobie ustalasz wyswietlanie obrazkow. na razie mozesz tylko wg ID. zatem zmieniaj ID obrazkow i wyswietlaj je wg ASC albo DESC. pobierasz jedno ID obrazka, drugiego obrazka (sasiedniego, nizej albo wyzej) i podmieniasz.

Ten post edytował El.Kurczako 27.09.2006, 01:28:31
Go to the top of the page
+Quote Post
kusiu
post 27.09.2006, 11:14:51
Post #4





Grupa: Zarejestrowani
Postów: 163
Pomógł: 10
Dołączył: 24.01.2006

Ostrzeżenie: (30%)
XX---


offtopic.gif

Ten post edytował kusiu 28.09.2006, 09:37:11
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 28.06.2025 - 17:00