- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Elektromos rásegítésű kerékpárok
- gban: Ingyen kellene, de tegnapra
- MasterDeeJay: SATA to SAS adapter
- btz: Internet fejlesztés országosan!
- Viber: ingyen telefonálás a mobilodon
- Argos: Szeretem az ecetfát
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- gerner1
Új hozzászólás Aktív témák
-
Panhard
tag
Így működik. Viszont az adatbázisban az idők nekem Európai időzóna szerint vannak. Ha UTC szerint használom az Európai időket lehet, hogy abból is lesz kavarodás. Csak érdekességképpen írtam, és érdekelt mitől lehet. De szerintem ezért nem fogok módosítani semmit az éles szerveren.
Köszönöm! -
Panhard
tag
Megnéztem, a többi óraállításnál is így van.
$a = strtotime('2022-03-27 02:59:59' );
$b = strtotime('2022-03-27 03:00:00' );
echo $a."<br>";
echo $b."<br>";
echo $b-$a."<br><br>";
$a = strtotime('2021-10-31 01:59:59' );
$b = strtotime('2021-10-31 02:00:00' );
echo $a."<br>";
echo $b."<br>";
echo $b-$a."<br><br>";
$a = strtotime('2022-10-30 01:59:59' );
$b = strtotime('2022-10-30 02:00:00' );
echo $a."<br>";
echo $b."<br>";
echo $b-$a."<br><br>";
1648346399
1648342800
-35991635638399
1635642000
36011667087999
1667091600
3601Lehet, hogy függ a php verziójától is.
-
Panhard
tag
Adatbázisból szedi ki a dátumokat és egy while ciklussal hasonlítja össze az aktuálisat az előzővel. Az összehasonlítás után az aktuális érték el van mentve előző értékként a következő ciklus számára.
while($row = mysqli_fetch_array($result)){
$unix_aktualis = strtotime($row["datetime"]);
$kulonbseg = $unix_aktualis-$unix_elozo;
$unix_elozo = $unix_aktualis;
if($kulonbseg>360){
//itt van a figyelmeztető rész
}
}
Kipróbáltam a kódot, amit te írtál, localhost-on is Xampp-al is, és a nethely szerverén is, mindkét esetben 3900-at ír. Érdekes.
-
FeniX-
senior tag
Azt kell megnézned, hogy a wp mivé alakítja át az sql lekérdezést. (Pfú, már nem is tudom, de sql-ben is lehetett dumpot készíteni, hogy elmentse, hogy miket kérdeztek le belőle)
Meg is találtam. Csináltam magamnak belőle egy jegyzetet, tessék.
CREATE TABLE `general_log` (
`event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL,
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'
CREATE TABLE `slow_log` (
`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`query_time` time NOT NULL,
`lock_time` time NOT NULL,
`rows_sent` int(11) NOT NULL,
`rows_examined` int(11) NOT NULL,
`db` varchar(512) NOT NULL,
`last_insert_id` int(11) NOT NULL,
`insert_id` int(11) NOT NULL,
`server_id` int(10) unsigned NOT NULL,
`sql_text` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'
SET global general_log = 1;
SET global log_output = 'table';
// Run queries (itt kell lefuttatni a wp dolgokat)
// View the log
select * from mysql.general_log
// Disable Query logging on the database
SET global general_log = 0; -
nevemfel
senior tag
-
FeniX-
senior tag
Szerintem, ha simán
AND $wpdb->postmeta.meta_value >= '$a'
, az ott teljes string alapú egyezést keres.
A regexet talán a "LIKE" kulcsszóval tudnád bevezetni.SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;
LIKE Operator Description
WHERE CustomerName LIKE 'a%' Finds any values that start with "a"
WHERE CustomerName LIKE '%a' Finds any values that end with "a"
WHERE CustomerName LIKE '%or%' Finds any values that have "or" in any position
WHERE CustomerName LIKE '_r%' Finds any values that have "r" in the second position
WHERE CustomerName LIKE 'a_%' Finds any values that start with "a" and are at least 2 characters in length
WHERE CustomerName LIKE 'a__%' Finds any values that start with "a" and are at least 3 characters in length
WHERE ContactName LIKE 'a%o' Finds any values that start with "a" and ends with "o" -
Közben sikerült kisakkozni, hogyan kell közvetlenül kikérdezni:
$a = '1986'.date('md',strtotime('-10 days'));
$b = '1986'.date('md',strtotime('+10 days'));
global $wpdb;
$posts = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type='post'
AND ID IN(
SELECT post_id FROM $wpdb->postmeta WHERE $wpdb->postmeta.meta_key='evfordulo'
AND $wpdb->postmeta.meta_value >= '$a'
AND $wpdb->postmeta.meta_value <= '$b'
) ORDER BY post_date DESC");
$i = 0;
echo '<br>';
while($i < count($posts)){
echo $posts[$i]->ID.'<br>';
echo $posts[$i]->post_title.'<br>';
$i++;
}
De hogyan tudom kimaszkozni az éveket? Az
a$ = '[0-9]{4}'.date('md',strtotime('-10 days'));
már nem működik. -
nevemfel
senior tag
Egyáltalán nem értem (még?)a működését, és a próbálkozásaim sorra kudarcba fulladtak (a MariaDB szintaktikai hibára hivatkozva eldobta).
Wordpresshez nem igazán értek, de PHP, SQL, MariaDB fronton tudok segíteni. Ha beírod a queryt, megpróbálhatom kihámozni, hogy mi baja lehet.
-
nevemfel
senior tag
Bocs, most nézem, hogy elírtam. Nem * és _, hanem % és _.
Egyébként itt azt írják, hogy LIKE condition esetén a WP automatikusan a value elé és mögé teszi a % wildcardot. Ha ez nem jó (elég nagy hülyeségnek tűnik, hogy a WP magától odateszi, pont amiatt, hogy mi van akkor, ha csak az elején vagy a végén van rá szükség), akkor filter functionnel vagy egyedi query-vel kell megoldani a lekérdezést:
-
nevemfel
senior tag
Nem tudom, hogy tud-e egyáltalán a wp_meta_query regexpeket használni, szerintem nem. Viszont a 'compare' helyén használhatsz 'LIKE' ot is, és akkor feltételezem, tudod használni az SQL wildcard karaktereket, * és _;
Új hozzászólás Aktív témák
Hirdetés
- Apple iPhone 16 Pro - rutinvizsga
- Apple asztali gépek
- Macron betiltatná az EU-ban a közösségi médiát a 15 év alattiaknak
- Gaming notebook topik
- Kamionok, fuvarozás, logisztika topik
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Sega, Nintendo - retro konzolok
- Steam topic
- Motorola Razr 60 Ultra - ez a kagyló könnyen megfő
- PlayStation 5
- További aktív témák...
- Gamer PC - i5 13400f, RX 6700 XT és 16gb RAM
- Szép Hp Pavilion 15-eg Kis Gamer Laptop 15,6" -45% Bivaly i7-1165G7 16/512G FHD IPS Iris Xe
- EJJ! Dell Latitude 7330 -65% "Kis Gamer" Üzleti Profi Ultrabook 13,3" i5-1245U 16/512 FHD IRIS Xe
- i5 10500/ RX6600XT/32GB DDR4/ 512GB m.2 alapú konfig/ garancia/ ingyen foxpost
- Szép Dell Latitude 7320 -60% "Kis Gamer" Üzleti Profi Ultrabook 13,3" i7-1185G7 32/512 FHD IRIS Xe
- BESZÁMÍTÁS! MSI B550M R7 5800X 32GB DDR4 512GB SSD RX Nitro+ 6700XT 12GB Corsair 4000D ASUS ROG 650W
- Honor 400 lite 256GB, Kártyafüggetlen, 1 Év Garanciával
- Iphone 15 Plus 128GB Pink Dobozos 12 Hónap Garancia
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged