Hirdetés
Aktív témák
-
zka67
őstag
Így igaz. Mivel a törölt rekordok fizikailag nem kerülnek törlésre, azaz nem tömöríti össze a adatbázist, az ezután hozzáadott rekordok előbb elkezdik feltölteni ezeket a helyeket.
1 2 3 4 5 6 Eredeti rekordok
1 2 X 4 X 6 3. és 5. rekord törölve
1 2 7 4 8 6 9 A 3. helyére megy a 7., az 5. helyére a 8.
és a végére a 9. -
zka67
őstag
Sziasztok!
Egy olyan problémám van, hogy egy idő után megszakad a mysql kapcsolat.
Részletezve, a libmysql.dll-t használom delphi alatt. A program indulásakor csatlakozik az adatbázishoz. Ha 8-10 órán belül történik lekérdezés, akkor semmi gond nincs, de ha ennél hosszabb ideig nem történik semmi, akkor megszakad a kapcsolat és csak az újracsatlakozás segít.
Ez vajon mitől lehet? Esetleg a mysql-ben van valami timer ami nézi, hogy milyen régen nem történt semmi és a régen nem használt kapcsolatot eldobja? Ha igen, akkor lehet ezen állítani, esetleg teljesen kiiktatni ezt a funkciót?
Előre is köszönöm a segítséget.
-
zka67
őstag
válasz
Briganti #1822 üzenetére
<?
date_default_timezone_set('UTC');
$ts = strtotime("2010-12-15 18:00:00");
echo "1 - PHP time: " .$ts ."<br>";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<script>
var d = new Date()
var timezone = -d.getTimezoneOffset()*60;
var cur_date = new Date("Dec 15 2010 18:00:00");
ts = Math.round(cur_date.getTime()/1000);
document.write("2 - js time: " + ts + "<br>");
document.write("3 - timezone offset: " + timezone +"<br>");
document.write("4 - utc time: " + (ts + timezone) + "<br>");
</script>
</head>
<body>
</body>
</html>Megmagyarázhatatlan módon a
var cur_date = new Date(2010, 12, 15, 18, 0, 0, 0);
sorod a következő eredményt adja:
Sat Jan 15 2011 18:00:00 GMT+0100 -
zka67
őstag
válasz
Briganti #1805 üzenetére
Én ezt valahogy úgy csinálnám meg, hogy az első php-ben lekérdezném, hogy összesen hány művelet lesz. (query ... COUNT). Majd indítanék egy timert a legkisebb értékkel. A timer rutinjában ajax-szal megívnám a progress bar képét generáló php programot, aminek így már át tudom adni azokat a paramétereket, amikre szüksége van a progress barhoz és a fájlok egy részének a legenerálásához. Pl. kezdő sorszám, darabszám, összes darab, a progr.bar php-ben pedig ezek alapján ismét lekérdezném az adatokat (query ... LIMIT), és ebben generálnám le először a fájlokat, majd a progress bar képét, amit a végén visszaadok a hívó proginak. Amikor ez megjött, újraindítom a timert ha van még adat.
-
zka67
őstag
válasz
Speeedfire #1802 üzenetére
phpMyAdmin nincs rajta? Azzal le tudod menteni egybe az egészet.
-
zka67
őstag
válasz
DeltaPower #1800 üzenetére
Basszameg, pedig kva egyszerű a megoldása, csak gondolkodnom kéne néha
SELECT table2.field3
FROM table1
LEFT JOIN table2 ON table2.id=IF(field1 > 0,field1,field2); -
zka67
őstag
Sziasztok! Ismét szükségem lenne egy kis segítségre:
Azt szeretném megoldani, hogy van két index mezőm az egyik táblában. Ha az első nem nulla, akkor az, ha pedig nulla akkor a másik alapján kérdezném le a másik táblából az indexhez tartozó értéket. Nagyjából így képzeltem el, csak nem működik:
SELECT IF(field1 > 0,field1,field2) AS field , table2.field3
FROM table1
LEFT JOIN table2 ON table2.id=field;Van-e erre valami megoldás?
Előre is köszi a segítséget! -
zka67
őstag
Én latin2-t szoktam használni, a db.php fájlom így néz ki, természetesen a $db... változóknak az értékeit értelemszerűen kell beállítani:
<?php
$dbhost = "localhost";
$dbuser = "user";
$dbpassword = "pass";
$dbdatabase = "database";
$db = mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($dbdatabase, $db);
$cp="latin2";
mysql_query("SET NAMES '".$cp."'",$db);
mysql_query("SET character_set_client=".$cp,$db);
mysql_query("SET character_set_connection=".$cp,$db);
mysql_query("SET character_set_database=".$cp,$db);
mysql_query("SET character_set_results=".$cp,$db);
mysql_query("SET character_set_server=".$cp,$db);
?> -
zka67
őstag
mysql-ben a SHOW TABLES; paranccsal, php-ben pedig a mysql_list_tables-el:
$res = mysql_list_tables('database');
while ($row = mysql_fetch_array($res)) {
echo $row[0].'<br />';
} -
zka67
őstag
Sziasztok! Egy kis help-re lenne szükségem:
Hogyan tudom lekérdezni két datetime mező alapján, hogy nagyobb-e az eltérés mint 180 perc. Tehát nekem azokra a rekordokra lenne szükségem, amelyikben a dt2 - dt1 > 180*60 mp.
Előre is köszi a segítséget!
-
zka67
őstag
válasz
Speeedfire #1743 üzenetére
Igen, INNER JOIN-al.
-
zka67
őstag
válasz
Speeedfire #1659 üzenetére
A SELECT-ben sem kell
Meg az ORDER BY-nál sem.
Aktív témák
- HIBÁTLAN iPhone 12 mini 64GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS2036
- HIBÁTLAN iPhone 11 Pro 64GB Midnight Green -1 ÉV GARANCIA -Kártyafüggetlen, MS3372
- Apple iPhone 13 Mini 128GB,Dobozával,12 hónap garanciával
- HIBÁTLAN iPhone 13 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3362
- Lenovo ThinkPad P14s Gen 1 i7-10510U 32GB 512GB Nvidia Quadro P520 14" FHD Gar.: 1 év
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest