![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 27.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam, od dłuższego problem mam z instrukcjami warunkowymi po poleceniu SELECT. Chcę by po sprawdzeniu czy w danej tabeli jest jakiś rekord tworzył się jakieś akcje (w przykładzie na razie tylko echo)
Moim zdaniem powinno działać, ale nie działa więc piszę tutaj (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 22 Dołączył: 1.06.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
A co chcesz osiągnąć?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 27.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
@muniekw Chcę by pojawiła się informacja 'taki rekord juz jest' gdy faktycznie jest rekord z terminem '01.06.13-08.06.13' w tabeli jeżeli nie ma to ma się pojawić o tym informacja. @mmmmmmm poprawiłem i nadal wyświetla 'nima', mimo że taka tabela jest w bazie i to z takim terminem jakiego szukam. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem, czy to nie przeszkoda, ale raz korzystasz z mysql_, a raz z mysqli_
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 3 Dołączył: 3.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj w jaki sposób baza danych zwraca datę.
Spróbuj zwrócić cokolwiek w wypisaniu i zobacz format... mysqli zamień na mysql (chyba że korzystasz z rozszerzonej bazy) (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 22 Dołączył: 1.06.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@muniekw Chcę by pojawiła się informacja 'taki rekord juz jest' gdy faktycznie jest rekord z terminem '01.06.13-08.06.13' w tabeli jeżeli nie ma to ma się pojawić o tym informacja. Jeśli sprawdzasz czy dany rekord istnieje to musisz zmienić warunek if bo na razie w tym ifie sprawdzasz czy to co zwróciło Ci zapytanie jest równe 1, więc za każdym razem będzie wykonany else. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 1 Dołączył: 19.03.2012 Skąd: Września Ostrzeżenie: (0%) ![]() ![]() |
pokaż jeszcze strukture mysql (IMG:style_emoticons/default/smile.gif) Ten post edytował kalafior122 29.12.2012, 18:08:30 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 32 Dołączył: 21.08.2008 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Pytanie: jakie wartości przechowuje pole tydzień
Nie lepiej w select dać count(*) i spr czy > 0? |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 27.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
@mmmmmmm akurat w tym przykładzie nie ma różnicy czy korzystam z mysql czy mysqli.
@rossecki pole tydzień jest typu varchar a nie date @kalafior122 tabela ma pole id (int, pk, autoinkrementacja), imię, nazwisko, data (wszystko varchar) @jasin tydzień - varchar. Poszedłem za Twoją radą i poprawiłem na :
I nadal nic :/ |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 32 Dołączył: 21.08.2008 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował jasin 29.12.2012, 20:37:21 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 677 Pomógł: 11 Dołączył: 18.11.2009 Ostrzeżenie: (0%) ![]() ![]() |
powinno działać tylko popraw $r['termin']
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 27.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
@jasin Nadal nie działa.
@Randallmaster czyli mam poprawić $r['termin'] na pole w tabeli czyli data? czyli coś w stylu:
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 243 Pomógł: 22 Dołączył: 1.06.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź co Ci zwraca dany rekord tzn wyświetl to co masz w zapytaniu i dopiero stwórz warunek.
jak tam masz:
to wyświetl sobie to co masz w zmiennej $r. Np:
Będziesz wiedział co Ci zwraca baza i na tej podstawie powinieneś już dobrze stworzyć ifa. |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 374 Pomógł: 23 Dołączył: 3.06.2006 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował mokry 3.01.2013, 14:12:19 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 283 Pomógł: 31 Dołączył: 10.01.2006 Skąd: Działoszyn Ostrzeżenie: (0%) ![]() ![]() |
Albo inaczej. Zapytanie:
zwróci wartość 1 jeśli dany rekord już istnieje lub 0, jeśli nie istnieje. Wtedy możesz sprawdzić to tak:
Jeśli takim zapytaniem chcesz sprawdzać czy np. dany domek jest w danym terminie wolny czy zajęty, to proponuje przechowywać dane w inny sposób, tzn. zamiast 1 pola `tydzien` formatowanego zawierającego 2 daty oddzielone myślnikiem, mieć 2 pola typu DATE (jedno z datą początku terminu, drugie z datą końca). Poza tym proponuje od razu uczyć się korzystania z bibliotek do obsługi baz danych, jak np. PDO, gdyż funkcje typu mysql_* są już "depracated" (zostaną usunięte) - wg manuala PHP już od wersji PHP 5.5.0. Ten post edytował Michasko 3.01.2013, 16:11:59 |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 27.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
@Michasko
Zrobiłem tak jak napisałeś. Samo zapytanie w mysql zwraca wynik 1, natomiast w przeglądarce nadal zwraca wynik else... Nie mam pojęcia w czym może być problem :/ |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 283 Pomógł: 31 Dołączył: 10.01.2006 Skąd: Działoszyn Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj dać jedynkę w apostrofy i/lub zmienną $ile potraktować funkcją trim() - być może jakimś dziwnym sposobem do wyniku wkradają się białe znaki?
Ewentualnie możesz jeszcze zastosować coś takiego:
Jeśli wierzyć manualowi ( http://php.net/manual/en/language.types.boolean.php ), zmienna $ile będzie w tym momencie rzutowana na typ boolean, a wtedy dowolna wartość inna od 0, NULL, FALSE (i kilku innych) będzie traktowana jako prawda. Innego pomysłu już nie mam (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 374 Pomógł: 23 Dołączył: 3.06.2006 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Wywal średnik na końcu.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 03:53 |