![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 12 Dołączył: 13.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam ponownie.Mam mały problem.Potrzebuje jedenej rzeczy do mojego skryptu.Sprawa ma sie tak:
Mamy np jedną tabele o nazwie tytul z dwoma polami id oraz tytul i w niej takie trzy wartości: id | tytul 1 | obcy 2 | star wars 3 | matrix No i teraz moje zapytanie.Chcem zrobić coś takiego że wpierw wydam zapytanie : select *from tytul where tytul='obcy'; i teraz chcem wprowadzić warunek który wpierw sprawdzi czy jest taki tytul o nazwie 'obcy' i jeżeli tak to niech wypisze np echo 'juz istnieje' (bez wypisywania tej linii z 'obcym') a jeżeli nie to niech doda kolejne zapytanie: insert into tytul(tytul) values ('obcy'); Jest możliwość żeby zrobić coś takiego ![]() Oraz druga opcja Chcem po prostu dodać do tabeli wartość : insert into tytul(tytul) values ('obcy'); i tu wyskoczy komunikat : duplicate key violates unique constraint .... ponieważ już taka wartośći istnieje.No i teraz podobnie jak poprzednio jeżeli istnieje to niech wypisze ze juz taka wartość jest a jeżeli nie to niech ją doda.Mam nadzieje że wszystko jasne ![]() Sam za bardzo nie wiem jak zrobić ten warunek żeby sprawdził czy to istnieje czy nie:(.A do mojego skryptu potrzebuje troche bardziej zaawansowanego zapytania ale jeżeli bede wiedział jak zrobić tą rzecz to z tamta sobie poradze ![]() -------------------------------------------------------- w wolnych chwilach --------> ![]() ![]() -------------------- do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Zgodnie z moją skromną wiedzą na temat php to byłoby jakoś tak:
To tak na moj chlopski rozum i zgodnie z moja skromna wiedza -------------------- "Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 12 Dołączył: 13.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzieki o to mi chodziło.Było parę błędów w kodzie ale t mały pryszcz był
![]() Oto jak wygląda kod po zamianie:
zamieniłem tam jak widzisz mysql na pg ponieważ były błędy.Wie ktos moze co oznacza taki błąd:
Wielkie dzieki za info jak to zrobić ![]() -------------------- do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 168 Pomógł: 1 Dołączył: 19.11.2005 Ostrzeżenie: (0%) ![]() ![]() |
Proszę bardzo, czasem może zdaży mi się komuś pomóc zamiast samemu ciągle prosić o pomoc
![]() Co do zmiany na pg_query to to akurat chyba kwestia rodzaju uzywanej bazy danych ![]() -------------------- "Jak Cię widzą tak Cię piszą, chyba żeś jest wielką fiszą"
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 504 Pomógł: 2 Dołączył: 31.03.2006 Skąd: Londyn Ostrzeżenie: (0%) ![]() ![]() |
Ja bym jeszcze przeksztalcil pierwsze zapytanie na takie za COUNT zeby nie trzeba bylo wywolywac mysq_num_rows. Ot kosmetyka/optymalizacja.
-------------------- "Wizja czasu jest szeroka, lecz kiedy sie przez nia przechodzi, czas staje sie waskimi drzwiami"
![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 12 Dołączył: 13.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Mówisz zmienić na conut.Nie używałem tej komendy wcześniej ale jak teraz sobie przejrzałem co to jest to może i spróbuje coś zmienić.Ale nie wiem czy będe używać komend których mój prowadzący zajęcia nie umie hehe.
----------------------------------------------- w wolnych chwilach ----> ![]() -------------------- do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 12 Dołączył: 13.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jeszcze mam jedno pytanie.Nie bede zakładać nowego wątku więc skorzystam z tego.
Mamy taka tabele ![]() id | tytul 1 | obcy 2 | star wars 3 | matrix Teraz jak cos do niej dodam polecenie
to doda sie czwarty wiersz 4 | kiler No i teraz jak go usune i ponownie wpisze to polecenie
to doda mi sie 5 | kiler i cala tabela tygląda tak: id | tytul 1 | obcy 2 | star wars 3 | matrix 5 | kiler Czy da sie zrobić coś żeby on dodawał te liczby w kolejności jakie są już dodane a nie jakie były wcześniej dodawane.Bo jak widać pozostaje puste miejsce miedzy id 3 a 5(a chcesz żeby zamiast tej 5 była 4).Nie wiem czy jest to jasne co mówie bo nie wiem jak to omówić ![]() -------------------- do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
|
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Zmuszanie bazy do indeksowania po kolei to głupota.
Działanie wbrew ideii relacyjności baz. Chociaż można to zrobić, musiałbyś zdjąć auto_increment z tego pola a przy każdej operacji na tej tabeli (INSERT) uruchamiać wcześniej napisanego triggera, który sam obliczy nowe id Ale i tak musisz wiedzieć że to głupota. Nierób tak. Pownieneś raczej inaczej zroganizować sowją aplikację niż zmuszać bazę do tego. |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 115 Pomógł: 12 Dołączył: 13.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
aha ok dzieki za info
![]() ![]() -------------------- do wszystkiego trzeba podejść z głową a problem sam się rozwiąże
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 20:10 |