Meta představila prototyp náramku, který snímá elektrickou aktivity svalů (povrchová elektromyografie, EMG) a umožňuje jemnými gesty ruky a prstů ovládat počítač nebo různá zařízení. Získané datové sady emg2qwerty a emg2pose jsou open source.
Byla vydána (𝕏) nová verze 25.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 25.7 je Visionary Viper. Přehled novinek v příspěvku na fóru.
Před 40 lety, 23. července 1985, společnost Commodore představila první počítač Amiga. Jednalo se o počítač "Amiga od Commodore", jenž byl později pojmenován Amiga 1000. Mělo se jednat o přímou konkurenci počítače Apple Macintosh uvedeného na trh v lednu 1984.
T‑Mobile USA ve spolupráci se Starlinkem spustil službu T-Satellite. Uživatelé služby mohou v odlehlých oblastech bez mobilního signálu aktuálně využívat satelitní síť s více než 650 satelity pro posílání a příjem zpráv, sdílení polohy, posílání zpráv na 911 a příjem upozornění, posílání obrázků a krátkých hlasových zpráv pomocí aplikace Zprávy Google. V plánu jsou také satelitní data.
Společnost Proxmox Server Solutions stojící za virtualizační platformou Proxmox Virtual Environment věnovala 10 000 eur nadaci The Perl and Raku Foundation (TPRF).
Byla vydána nová verze 2.4.65 svobodného multiplatformního webového serveru Apache (httpd). Řešena je bezpečnostní chyba CVE-2025-54090.
Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia AI asistenta Lumo.
Amazon koupil společnost Bee zaměřenou na nositelnou osobní AI aktuálně nabízející náramek Pioneer (YouTube) s mikrofony zaznamenávající vše kolem [𝕏, LinkedIn].
Společnost Teufel nedávno představila svůj první open source Bluetooth reproduktor MYND.
Byla vydána verze 4.2 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.
id 1, platí od 8:00 do 10:00 id 2, platí od 1:00 do 21:00 id 3, platí od 22:00 do 3:00akým príkazom môžem vyselektovať všetky riadky, ktoré platia pre určitú hodinu? malo by mi to vrátiť pre 9:00hod id 1 a 2, pre povedzme 2:00 id 2 a 3. vďaka za nakopnutie vopred
Řešení dotazu:
IF(od < do, od < vstup AND do > vstup, od > vstup AND do < vstup)
vstup
je požadovaná hodina.
select * from /tabulka/ where /dana_hodina/ BETWEEN /od/ AND /do/
SELECT * FROM /tabulka/ WHERE (/dana_hodina/ BETWEEN /od/ AND /do/) OR (/dana_hodina/ BETWEEN /do/ AND /od/)
SELECT * FROM /tabulka/ WHERE (/dana_hodina/ < /od/ = /dana_hodina/ > /do/) = (/od/ <= /do/)a zaručeně funkční.
'SELECT * FROM __temp_oddo WHERE ('.$dana_hodina.'< `od` = '.$dana_hodina.' > `do`) = (`od` <= `do`)'ale teraz mi pri akomkoľvek čísle vyhadzuje posledný riadok databázy. :(
4 < 22 = true 4 > 3 = true takže ($dana_hodina < `od` = $dana_hodina > `do`) = true a to se nerovná (22 <= 4) = falseZkus si následující skript
create temporary table intervaly as select 2 as odd, 6 as ddo; create temporary table hodiny as select 1 as hodina; insert into hodiny values (2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12); SELECT hodina, FROM intervaly, hodiny WHERE ((hodina < odd) = (hodina > ddo)) = (odd<=ddo)a měň si tam údaj v tabulce intervaly - uvidíš, že to funguje. PS: Ad Tvoje přepsání: doufám, že $dana_hodina předtím alespoň konvertuješ na int.
"SELECT $dana_hodina, od, do , $dana_hodina < `od`, $dana_hodina < `do`, `od` <= `do`, ($dana_hodina.'< `od` = '.$dana_hodina.' > `do`) = (`od` <= `do`)' FROM __temp_oddo"Co ti z něj vyleze (např. vardumpni všechny řádky, jestli to neumíš dostat líp, ale spíš bych to vyzkoušel z konsole/nějakýho webovýho rozhraní).
ID od do 1 8 10 2 1 21 3 22 3v premennej $dana_hodina je v php skripte zadefinovaný integer povedzme 9. ak použijem
$result = mysql_query('SELECT * FROM __temp_oddo WHERE ('.$dana_hodina.'< `od` = '.$dana_hodina.' > `do`) = (`od` <= `do`)');tak mi to vypíše id posledného riadku. niečo robím zle, ale čo?
echo 'SELECT * FROM __temp_oddo WHERE ('.$dana_hodina.'< `od` = '.$dana_hodina.' > `do`) = (`od` <= `do`)'jestli se Ti ten dotaz složí dobře a zadruhý si vypsat mezivýsledky:
$result = mysql_query("SELECT $dana_hodina, `od`, `do` , $dana_hodina < `od`, $dana_hodina < `do`, `od` <= `do`, ($dana_hodina '< `od` = $dana_hodina > `do`) = (`od` <= `do`)' FROM __temp_oddo");abychom zjistili, kde to počítá blbě. Anebo použij to filipovo řešení, dělal jsem testy a MySQL to volání funcke IF optimalizuje, takže je výsledek dokonce o fous rychlejší než mýho. Ale bejt Tebou bych chybu zjistil, jednak kvůli poučení, a jednak, abys vyloučil, že tam máš nějakou chybu jinde.
Array ( [0] => 2 [2] => 10 [1] => 8 [od] => 8 [do] => 10 [3] => 1 [2 < `od`] => 1 [4] => 1 [2 < `do`] => 1 [5] => 1 [`od` <= `do`] => 1 [6] => 0 [(2 < `od` = 2 > `do`) = (`od` <= `do`)] => 0 )inak, zdá sa, že mi tento príkaz funguje a vyhodnocuje správne:
$result = mysql_query("SELECT * FROM __temp_oddo WHERE IF(od <= do, od <= $dana_hodina AND do >= $dana_hodina, od <= $dana_hodina OR do >= $dana_hodina)");tento príkaz
$result = mysql_query("SELECT * FROM __temp_oddo WHERE IF(od < do, od < $dana_hodina AND do > vstup, od > $dana_hodina AND do < $dana_hodina)");mi hádže chybu E_WARNING: mysql_fetch_array() expects parameter 1 to be resource, boolean given
CREATE TABLE `aaa` ( `uid` INT(10) UNSIGNED NOT NULL, `od` DATETIME DEFAULT '0000-00-00 00:00:00', `do` DATETIME DEFAULT '0000-00-00 00:00:00', PRIMARY KEY (`uid`), KEY `Index_Od` (`od`), KEY `Index_Do` (`do`) ) ENGINE=MYISAM ;Vložíme zopár údajov:
INSERT INTO `aaa` VALUES (1, '1000-01-01 08:00:00', '1000-01-01 10:00:00'); INSERT INTO `aaa` VALUES (2, '1000-01-01 01:00:00', '1000-01-01 21:00:00'); INSERT INTO `aaa` VALUES (3, '1000-01-01 22:00:00', '1000-01-01 03:00:00'); INSERT INTO `aaa` VALUES (4, '1000-01-01 15:00:00', '1000-01-01 22:00:00'); INSERT INTO `aaa` VALUES (5, '1000-01-01 20:00:00', '1000-01-01 10:00:00'); INSERT INTO `aaa` VALUES (6, '1000-01-01 12:00:00', '1000-01-01 06:00:00');DATETIME má rozsah '1000-01-01 00:00:00' až '9999-12-31 23:59:59'. Nám stačí použiť pri vkladaní časov dátum '1000-01-01' rovnako pre `od` a `do`. Ak by bolo možné zabezpečiť pri menšom `do` ako je `od` použitie dátumu '1000-01-02', bolo by to asi ešte lepšie. Potom môže fungovať výber:
SELECT * FROM `aaa` WHERE '1000-01-01 09:00:00' BETWEEN `od` AND IF(`do` < `od`, DATE_ADD(`do`, INTERVAL 1 DAY), `do`) OR '1000-01-02 09:00:00' BETWEEN `od` AND IF(`do` < `od`, DATE_ADD(`do`, INTERVAL 1 DAY), `do`) ;
SELECT * FROM `aaa` WHERE '1000-01-01 09:00:00' BETWEEN `od` AND IF(`do` <= `od`, DATE_ADD(`do`, INTERVAL 1 DAY), `do`) OR '1000-01-02 09:00:00' BETWEEN `od` AND IF(`do` <= `od`, DATE_ADD(`do`, INTERVAL 1 DAY), `do`) ;
Tiskni
Sdílej: