• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak sprawdzić czy dane terminy są wolne?

Object Storage Arubacloud
0 głosów
957 wizyt
pytanie zadane 6 lutego 2016 w PHP przez selfdrivers Użytkownik (870 p.)
Witam,

Mam pytanie dot. sprawy php. Mianowicie chciałbym stworzyć kod któren sprawdzałby po wprowadzeniu danych do formularza zanim zgłoszenie zostanie dodane czy dany termin przypadkiem nie jest zajęty, czy nie nachodzi on na żaden inny oraz czy nie przecina się z jakimś innym. Ogólnie np: Janek ustawił termin od 2016-09-01 (RRRR-MM-DD) do 2016-09-10 i skrypt ma sprawdzić czy czas pomiędzy tymi datami nie schodzi się z innymi z bazy MySQL np ktoś ma już termin w 2016-09-05 do 2016-09-08 i skrypt wtedy nie może wgrać takiego rekordu do bazy danych chyba że tego terminu nie ma w bazie lub się nie przecina z innym to wtedy może dodać ten termin. Z góry sory za masło maślane ale chcę abyście zrozumieli o co mniej więcej chodzi. Z góry dziękuje.

4 odpowiedzi

+3 głosów
odpowiedź 6 lutego 2016 przez Tnifey Pasjonat (24,190 p.)

Kolumna typu DATE oraz sprawdzasz czy istnieje rekord pomiędzy danymi datami od tego masz BETWEEN. Jeśli nie znajdzie w bazie danych żadnych rekordów pasujących to dodaj termin do bazy, jeśli znajdzie wyświetl komunikat, że nie można dodać terminu :)

komentarz 7 lutego 2016 przez selfdrivers Użytkownik (870 p.)
Wiesz nawet gdy użyje SELECT dataod, datado FROM itd. to i tak nie działa :)
komentarz 7 lutego 2016 przez selfdrivers Użytkownik (870 p.)
Czyli co jesteśmy znów w punkcie wejścia?? :/
komentarz 7 lutego 2016 przez Tnifey Pasjonat (24,190 p.)

weź wszystkie headery w komentarz sprawdz var_dump($rezultat2); 

komentarz 7 lutego 2016 przez selfdrivers Użytkownik (870 p.)
Nic :/ jakieś inne pomysły??
komentarz 8 lutego 2016 przez selfdrivers Użytkownik (870 p.)
To co nikt już niestety nie ma pomyslów?
+1 głos
odpowiedź 6 lutego 2016 przez gab123 Mądrala (5,230 p.)
$rezult = $mysql->query("SELECT * FROM nazwabazydanych WHERE data = termin") ;


if($rezult->num_rows==0) //termin jest wolny 

 

komentarz 6 lutego 2016 przez Arkadiusz Waluk Ekspert (287,950 p.)
SELECT * jest złe.

W SELECT odwołujemy się do konkretnej tabeli, a nie bazy danych.

Kolega chciał, aby to była data od - do, a nie jeden termin.
komentarz 6 lutego 2016 przez gab123 Mądrala (5,230 p.)

przyczytalam sam tytul jeśli jest tak jak mówisz zapytanie powinno być :

SELECT * FROM tabela WHERE date BETWEEN data1 AND data2

Co do gwiazdki jest trochę mniej klopotliwa a przy malym programie dużo na tym nie stracisz ale jak kto woli. (;

komentarz 6 lutego 2016 przez gab123 Mądrala (5,230 p.)
Może masz racje nie jestem ekspertem. Tak mnie uczono. Nie chce się kucic napisałam jak kto chce
0 głosów
odpowiedź 7 lutego 2016 przez selfdrivers Użytkownik (870 p.)
A można zamiast wpisywania ręcznie daty wczytać ją ze zmiennej?? Bo gdy to robie nic nie wyświetla się ani 0 ani 1 itd.
0 głosów
odpowiedź 9 lutego 2016 przez selfdrivers Użytkownik (870 p.)
Okay działa to zapytanie lecz gdy data jest w innej dacie i się nie przecinają to zapytanie zwraca wartość 0. Jak to rozwiązać?

Podobne pytania

0 głosów
1 odpowiedź 735 wizyt
+1 głos
2 odpowiedzi 1,013 wizyt
0 głosów
1 odpowiedź 398 wizyt
pytanie zadane 21 stycznia 2016 w JavaScript przez kaczmar Początkujący (490 p.)

92,551 zapytań

141,393 odpowiedzi

319,524 komentarzy

61,936 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...