![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 5.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
przykladowo mam tabele ktora ma nastepujace kolumny:
id sort nazwa Gdzie pole id ma ustawione auto_increment robie sobie zapytanie INSERT INTO tabela VALUES('', '', 'costam'); Pytanie brzmi: Jak zrobic zeby do kolumny sort wcisnieta zostala taka sama wartosc jak do id gdzie jest auto_increment. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 11 Dołączył: 12.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Chyba skorzystał bym z funkcji MAX() do sprawdzenia numeru id w tabeli i wstawil do sort wartość o jeden większą.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
zaintersuj się mysql_insert_id
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 5.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
niby to by zadzialalo ale jesli rekord o ostatnim id zostal usuniety a wczesniej w wyniku sortowania inny rekord uzuskal taka wartosc sort?
co do mysql_insert_id. w tym momencie tak to zrobilem ale wtedy musze wykonywac dwa zapytania a chcialbym zrobic to w jednym (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Ten post edytował Hunterro 15.01.2009, 12:35:00 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 11 Dołączył: 12.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiedziałem że bedziesz to potem jeszcze obrabiał (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Więc zrób jak radzi acztery. Tak czy tak zapytanie i linijka kody więcej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ten post edytował Lombi 15.01.2009, 12:36:24 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 945 Pomógł: 7 Dołączył: 15.03.2005 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
po ci się bawić tak z jakims max??
a co jak 2 osoby w tym samym czacie to zrobią to co . Do tego jest jedna funkcja to co napisałem powinno załatwić sprawę albo nadaj polu gdzie bedziesz dawał ta wartosc typu auto_increment. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#7
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
a jaki jest w ogóle sens przepisywania wartości id do pola sort (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) nie możesz sobie sortować po id (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) po co ci w jednej tabeli dwie kolumny przechowujące identyczne dane (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 5.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
dlatemu ze nazwa pliku powiazanego z rekordem ma w sobie jego id.
wiec przy sortowaniu niechce zmieniac nazwy pliku dlatego oddzielna wartosc do sortowania. pozatym jesli np zapodalbym gdzies albo komus link np do jakiegos artykulu, a pozniej posortowalbym sobie inaczej to link tez nie dzialalby prawidlowo. a sama wartosc sort po dodaniu rekordu chce zeby miala wartosc taka jak id zeby domyslnie pojawial sie on na koncu listy. |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 5.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Taki sposob juz byl podawany ale on nie zawsze bedzie prawidlowo dzialal.
Wyslanie na przykladzie. mamy nastepujace rekordy w bazie: id sort 1 1 2 2 Zmieniamy kolejnosc wyswietlania przez zmiane wartosci w kolumnie sort id sort 1 2 2 1 Okazuje sie ze jednak rekord o id 2 jest zbedny wiec go wywalamy id sort 1 2 Dodajemy nowy rekord i robiac to w wlasnie w sposob podany z tego linka otrzymujemy w bazie: id sort 1 2 3 2 I sortowanie spartolone (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) EDIT: Ale w sumie wlasnie sobie pomyslalem ze jakby przy wstawianiu nowego rekordu wstawic w sort MAX(sort) +1 to by bylo dobrze (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Bo niewiem czemu uparlem sie na to zeby to byla wartosc taka jak id jesli chodzi tylko o to zeby nowo dodany rekord wyswietlal sie na liscie jako ostatni ;] Ten post edytował Hunterro 15.01.2009, 18:05:37 |
|
|
![]()
Post
#11
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Ale w sumie wlasnie sobie pomyslalem ze jakby przy wstawianiu nowego rekordu wstawic w sort MAX(sort) +1 to by bylo dobrze Przecież napisałem w tamtym poście, co zrobić, aby było ok. (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Cytat Taki sposob juz byl podawany ale on nie zawsze bedzie prawidlowo dzialal. Owszem, w przypadku kilku jednoczesnych zapisów tak. Ale istnieje jeszcze coś takiego jak LOCK TABLES i transakcje. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował erix 15.01.2009, 18:07:21 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 06:30 |