Autor Zpráva
Tomasekkk
Profil *
Ahoj, měl bych dotaz.

Dělám jednu aplikaci pro zakázky. Po vyplnění formuláře, kde zadám kód "operace" např. BET01S (start) nebo BET01K (konec), se mi každý tento kód zapíše do databáze s aktuálním datem a časem, do dalšího sloupce se zapíše kód S nebo K, aby se rozlišilo i to, zda-li se jedná o zahájení nebo ukončení úkonu - operace a tři první písmena znamenají zkratku úkonu (např. BET - betonování). Rád bych přes tento formulář ověřil, zda-li zaměstnanec má tuto operaci již zahájenu, pokud ano, tak jí smí jen ukončit přes BET01K, toto mi funguje přes dotaz

mysql_query("SELECT idzakazky FROM operace WHERE idzakazky='".addslashes(jobsysidzakazky)."' AND idzamestnance='".addslashes($_SESSION["jobsysidzamestnanec"])."' AND idoperace='$zkratka_operace' AND typoperace='$zahajeni_ukonceni_operace' AND zobrazit='1'");

 tedy např.

 mysql_query("SELECT idzakazky FROM operace WHERE idzakazky='ZA201101' AND idzamestnance='11' AND idoperace='BET' AND typoperace='Z' AND zobrazit='1'");

Pokud tedy toto ověření mám, podaří se ověřit, zda-li nechce znovu operaci zahájit nebo znovu ukončit když je již ukončena. Potřeboval bych, ale to, aby se mi ověřilo, že operace v zakázce byla zahájena a ukončena a díky stejnému kódu by se dala opět zase zahájit a pak zase ukončit. Lze to nějakým složeným SQL dotazem?

Nevím, zda-li jste pochopili co mám na mysli, kdyby něco mohu upřesnit.


Děkuji Vám ... Tomáš
Tori
Profil
Tomasekkk:
Potřeboval bych, ale to, aby se mi ověřilo, že operace v zakázce byla zahájena a ukončena a díky stejnému kódu by se dala opět zase zahájit a pak zase ukončit.
Co se v takovém případě děje v DB - vložit nový záznam (takže kombinace BET-01 bude vícekrát), nebo update starého a vynulování času ukončení? Možná by stačilo ukládat operaci (BET), pořad.číslo (01), čas zahájení, čas dokončení a ID zaměstnance, a nedokončené operace se rozliší podle "WHERE casDokonceni = NULL"?
Tomasekkk
Profil *
Právě, že čas ukončení se nulovat nebude moci :-( Teď mě to navedlo na dobrou věc s tím casdokonceni, když bude pomocí K ukončen, zapíše se do sloupecku 1 a tím pádem toto rozliším. Myslel jsem, že by se to dalo udělat i pomocí složeného SQL, ale toto bude asi nejlepší. Děkuji

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