Autor Zpráva
robbie
Profil
Ahoj, potreboval bych poradit, za:
1. potrebuji pomoci formulare vlozit do databaze text napr. 9:00-9:45, jaky datovy typ uzit? Muzu uzit Varchar ? / casovych rozpeti bude více

2. Kdyz uz text vlozim do databaze, potreboval bych vytvorit podminku, aby se vypsalo, ze zapis uz existuje.
Uplne presne nevim, jak podminku formulovat. Pomuze prosim nekdo? Dekuji za pomoc / do databaze budu vzdy vkladat datum a text viz. bod 1 a potreboval bych aby k datu napr. 4.2.2019 sel vlozit cas-zapis 9:00-9:45 pouze 1x, ne ze by nekdo vlozil tento zaznam 2x./ pro upresneni
juriad
Profil
CREATE TABLE tabulka (
  ...
  od: TIME,
  do: TIME
);

CREATE UNIQUE INDEX unikatni_od_do
ON tabulka(od, do);
 

Nechceš náhodou třeba řešit to, že se dva rozsahy časů nemohou překrývat?
Kajman
Profil
Ještě je tam potřeba přidat to datum (které v první verzi dotazu nebylo zmíněno).

Nejednodušší bude zadávat do databáze oba časy včetně datumu. Tedy použít pro oba sloupce datetime a vkládat dvojici hodnot
'2019-02-04 09:00:00', '2019-02-04 09:45:00'
pak se budou lépe hlídat kolize časů.
robbie
Profil
Mozna jsem to popsal neohrabane.

Host vybere ve formulari datum 2019-02-04 a z roletky cas 9:00-9:45 a ja bych potreboval zajistit, aby dalsi host nemoh uz vybrat stejne datum a casove rozmezi. Uz mohl pouze vybrat jine, rekneme ze na vyber v roletce budou 8.00-8.45, 10.00-10.45, 11.00-11.45
Lze to nejakym sql kodem osetrit? Aby se mi v databazi netvorily duplicity. Nebo to poresit nejakou php podminkou. Uz z toho nemuzu:( Proste vypsat, ze zaznam napr. toho 2019-02-04 9.00-9.45 uz byl vybran. Dekuju
Kajman
Profil
Tak na to stačí ten unikátní index. Dokonce i jen na sloupci od (pokud bude datetime). Případně nad kombinací sloupců (datum, od), pokud sloupec od bude typu time. Vložení stejného záznamu se nepovede a tak bude počet ovlivněných řádků 0.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0