![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 11.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Jak najskuteczniej i najpoprawniej zrobic cos takiego: Komis: dodaje oferte- do bazy danych: marka, model, id- auto increment. Oprocz tego uploaduje zdjecie ktorego nazwa ma wygladac cos w stylu car_11.jpg , gdzie 11 to nr id wlasnie co dodanego auta. Problem mam z tym jak wycignac to id Pozdrawiam |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 0 Dołączył: 11.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
![]() DZIEKI WIELKIE!!! |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 15.04.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
2. nie działą bo ty tylko w php 5
a co do 1. to nie rozumiem jak to trzeba zrobic zeby działało mozna by prosic o kod w php jak to użyc? ![]() -------------------- -------------
Gustaw |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
php5 nie ma nic do tego.
Cytat to nie rozumiem jak to trzeba zrobic zeby działało mozna by prosic o kod w php jak to użyc? ![]() W manualu wszystko pisze, nawet masz przyklad. -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 10.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jak nie bedzie dzialac to zawsze mozna sprawdzic ilosc rekordow w bazie, odjac od niej jeden i z LIMITem wyciagnac jeden rekord.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
@arturrrr Zastanawiales sie o czym powiedziales? Dodajesz 10 rekordow czyli inkrementacja wynosi 11, nastepnie usuwasz 5 czyli zostaje Ci 5, robisz zapytanie zwraca Ci 5 lecz ostatnie id bylo 10. Dodatkowo uwzglednij ze miedzy dodaniem a zwroceniem tego id ktos dodal kolejny rekord.
To co napisales jest najgorszym bledem. -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 10.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
@SongoQ chyba mnie zle zrozumiales.
1. Sprawdzam ile jest rekordow w bazie. 2. Odejmuje od tego 1. 3. Pobieram jeden rekord, np. warunek id > 0 ale ( ![]() To by bylo na tyle w sprawie wytlumaczenia o co mi chodzi. Druga sprawa to to ze miedzy punktem 1 a 3 (zapewniam ze ulamkowa czesc sekundy) moze dojsc do: - dodania rekordu. Ja uznalem ze jest to malo prawdopodobne. Jesli nawet tak by sie stalo, to dostaniemy przedostatni rekord. - usuniecia jakiegos rekordu. Takze malo prawdopodobne. Wtedy nic nie zostanie z bazy zwrocone. Dodam ze mozna to wrzucic w petle i w koncu otrzymamy prawidlowy wynik. Obstawiam ze bedzie to za pierwszym razem. Nie jest to sposob najefektywniejszy, ale za to logiczny i latwy do przeanalizowania. Przynajmniej dla mnie. @SongoQ jesli sie myle to mnie popraw. Moze sie czegos naucze, bo specem nie jestem... |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Ok to moze inaczej.
Dodales rekord i id jego wynosi 10 i mamy takie rekordy id tekst 1 aaa 3 bbb 5 sdf 6 sdf 7 dsf 10 dodany Zgodnie z tym co napisales. 1 i 2.
Zwraca 5 3.
Jesli zwroci pseudolosowo to bedzie kazda wartosc moze byc 10, moze byc 1 i po co to id > 0 ![]() Cytat - dodania rekordu. Ja uznalem ze jest to malo prawdopodobne. Jesli nawet tak by sie stalo, to dostaniemy przedostatni rekord. Czesto sie to zdaza, przykladem moze byc nawet forum.php.pl Podsumowujac, takie cos by zadzialalo jak bys jeszcze sortowanie wprowadzil, ale co za tym idzie, dodatkowy czas dla bazy przez takie rzeczy jak COUNT w pierwszym zapytaniu w ORDER BY w 2 zapytaniu i LIMIT. Dodatkowo nie uwgledniles ze sesje sie moga zachodzic. Nie ma niczego pewniejszego jak zwrocenie id z inkrementacji z sesji bazy danych. -------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 10.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
No to sie chyba nie rozumiemy
![]() TABELKA: id adres 1 hhdsgh 2 gss 3 gh 7 hksp 8 csgh Kod $zapytanie = "SELECT * FROM tabela where id > 0"; $rekordy = mysql_num_rows($wykonaj); I tu juz masz liczbe rekordow. Kod $rekordy--; Tu wszystko jasne. Kod $zapytanie = "SELECT * FROM tabela where id > 0 LIMIT ".$rekordy.",1"; A tu dostajesz ostatni rekord. Co do tabeli to id jest oczywiscie dodawane automatycznie, rosnaco i sie nigdy nie powtarza. Nadal uwazam ze jest to dobre rozwiazanie, ale dla MALYCH serwisow. Moga byc bowiem czeste dodawania danych itp, wiec istnieje prawdopodobienstwo malych przeklaman. Cytat Jesli zwroci pseudolosowo to bedzie kazda wartosc moze byc 10, moze byc 1 i po co to id > 0 ![]() Tutaj Ciebie nie rozumiem:( Cytat Czesto sie to zdaza, przykladem moze byc nawet forum.php.pl a tu sie zgadzam, forum w koncu to nie jakis maly serwis. Cytat Nie ma niczego pewniejszego jak zwrocenie id z inkrementacji z sesji bazy danych. tu tez sie moge zgodzic. |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
@arturrrr
tak czytam ten watek i nie rozumiem jednej rzeczy: po co tyle kombinowania, skoro: Cytat Nadal uwazam ze jest to dobre rozwiazanie, ale dla MALYCH serwisow. Moga byc bowiem czeste dodawania danych itp, wiec istnieje prawdopodobienstwo malych przeklaman. ![]() czyli Twoje rozumowanie jest bledne... nie ma znaczenia czy jest to duzy czy maly serwis jezeli istnieje mozliwosc przeklamania |
|
|
![]()
Post
#12
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Po co tyle zapytan, po co meczyc php i baze danych.
To zapytnanie:
Zdajesz sprawe czym to grozi?? Bedzie milony rekordow w bazie do bedziesz musial wszysto do php przeslac po co to wszystko zwracac, pomysl troche. Cytat Tutaj Ciebie nie rozumiem:( Rekordy z bazy danych jesli nie masz sortowania to sa zwracane pseudolosowo lub w przypadku MySQLa domyslenie wedlug daty, jesli skompikujesz zapytnie wtedy juz data nie wchodzi w gre. Idac Twoim tokiem myslenia to juz lepiej takie cos zastosowac
Slyszales o max? ![]() -------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 10.07.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Nie jest to sposob najefektywniejszy, ale za to logiczny i latwy do przeanalizowania. Przynajmniej dla mnie. Fragment mojego postu. A co do: Cytat Slyszales o max? ![]() Oczywiscie ze slyszalem i oczywiscie ze brakuje mi duzo wiedzy. Rozumiem ze jestes w tych sprawach lepszy i nie zamierzam tego podwazac, ale moze troch skromnosci z twojej strony by sie tez przydalo. Wyskakujesz tez z jakimis milionami a ja juz kilka razy napisalem ze to rozwiazanie dla tych co nie potrafia inaczej tego zrobic, dla malych stron. Widze jednak ze ty chyba sie z wiedza na temat baz danych urodziles. Moze wiec zajmij sie jakas dochodowa praca a nie bezczynnie siedzisz na forum. W koncu specjalisci zbieraja miliony... To dotyczy takze wypowiedzi w moim temacie. To juz wszytsko z mojej strony na ten temat. Pozdro |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(arturrrr @ 2005-07-11 13:13:12) Rozumiem ze jestes w tych sprawach lepszy i nie zamierzam tego podwazac, ale moze troch skromnosci z twojej strony by sie tez przydalo. Wyskakujesz tez z jakimis milionami a ja juz kilka razy napisalem ze to rozwiazanie dla tych co nie potrafia inaczej tego zrobic, dla malych stron. Widze jednak ze ty chyba sie z wiedza na temat baz danych urodziles. Moze wiec zajmij sie jakas dochodowa praca a nie bezczynnie siedzisz na forum. W koncu specjalisci zbieraja miliony... To dotyczy takze wypowiedzi w moim temacie. To juz wszytsko z mojej strony na ten temat. Pozdro uszanuj wiec czas, ktory poswieca SongoQ starając Ci się pomóc i nie wypowiadaj sie w ten sposob.... |
|
|
![]()
Post
#15
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Cytat ale moze troch skromnosci z twojej strony by sie tez przydalo Tu nie chodzi o skromnosc, tu chodzi o oczywiste rzeczy, jak bys troszeczke pomyslal i sie zastanowil to bys znalazl latwiejsze, krotsze rozwiazanie a nie kobmbinujesz z zapytaniami. Cytat Wyskakujesz tez z jakimis milionami a ja juz kilka razy napisalem ze to rozwiazanie dla tych co nie potrafia inaczej tego zrobic, dla malych stron. Kazdy nawet poczatkujacy programista szuka najprostrzego rozwiazania a nie komplikuje sobie zycie i jeszcze przekonuje sie ze jego pomysl jest najlepszy. Poczytaj o wydajnosciach baz danych, poczytaj o SCRUM zobaczysz ze najwazniejsza jest prostota wykonania dla GUI jak i dla mechanizmow dzialania, jak i dla bazy danych. Cytat Widze jednak ze ty chyba sie z wiedza na temat baz danych urodziles. Oj mylisz sie, duzo mi brakuje wiedzy na ten temat i ciagle sie ucze, a szczegolnie spedzajac czas na tym forum i jesli popelnie jakas gafe to potrafie sie przyznac. Cytat Moze wiec zajmij sie jakas dochodowa praca a nie bezczynnie siedzisz na forum. Mam prace i jestem z niej zadowolony, a dlaczego siedze na forum? Podobnie jak wiekszosc osob tutaj wypowiadajacy sie: przez wypowiadanie sie i pomaganie innym sami sie uczymy i naprawde wiele wiedzy nabylem spedzajac czas na tym forym. Wracajac do powyzszych postow podalem Ci przyklady, mysle ze kazdy zrozumial, jesli chesz to moge podac Ci rezultaty czasowe dla roznych wielkosci rekordow i jestem w stanie udowodnic Ci ze Twoje motody sa nieoptymalne. -------------------- |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 27.04.2004 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
@arturrrr
Ucz się, a będziesz specjalistą i będziesz zarabiał miliony - a na razie uszanuj mądrzejszych którzy chcą Ci pomóc i podzielić się z Tobą swoją wiedzą, która zresztą też kosztowała ich sporo wysiłku. @SongoQ Z co byś powiedział na zapytanie:
Kwestia wydajnościowa, bo wydaje mi się że rezultat powinien być taki sam jak MAX -------------------- Pozdrawiam,
Dawid |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(DavidPL @ 2005-07-11 14:19:14) Kwestia wydajnościowa, bo wydaje mi się że rezultat powinien być taki sam jak MAX gdzies swego czasu przeczytalem, ze zapytania z funkcjami agregujacymi sa niezwykle szybkie (jak nie najszybsze), tym bardziej, ze w tym przypadku sa to pola indeksowane w zwiazku wydaje mi sie ze w tym przypadku beda one dzialac szybkiej gdyz tutaj system zarz. baza danych musi pobrac wszystkie rekordy, dokonac posortowania i nastepnie dopiero zwrocic ten jeden wiersz takie jest moje zdanie... czekam na opinie... |
|
|
![]()
Post
#18
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
@arturrrr oj nie popisałeś się chłopie. Ludzie chcą pomóc a ty na nich krzyczysz jak ci uwagę zwrócą. Przyczepiłeś się tej małej stronki jak rzep psiego ogona. Czy to duża, czy to mała - optymalnie trzeba pisać dla każdej. W ten sposób se nawyki dobre wyrabia i podnosi swój poziom. Tak więc nie mów ludziom czym mają się zająć i sam przyjmi z pokorą i wdzięcznością lepsze rozwiązania.
co do tematu: max będzię lepszy również i moim "skromnym" zdaniem -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 138 Pomógł: 0 Dołączył: 29.10.2006 Skąd: BB Ostrzeżenie: (0%) ![]() ![]() |
W manualu wszystko pisze, nawet masz przyklad. Dopiero zaczynam bawic sie php. Szukam tej funkcji select last_insert_id(); Ale nie widze tego tematu. -------------------- |
|
|
![]()
Post
#20
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
select last_insert_id() to jest MySql a nie php, wiec nic dziwnego ze w manualu php tego nie znalazles
![]() W php masz: http://pl.php.net/mysql_insert_id -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 10:42 |