Új hozzászólás Aktív témák
-
wis
tag
-
pelyib
tag
válasz
RedHarlow
#20645
üzenetére
Szerintem ez teljesen valid.
majd a sart gomb connectel a db-be és futtatja az sql query-t
Marmint a start az elkuldi a mar kesz tombot a API-nak ami szepen validal, lefutattja a queryt, kikopi az eredemenyt
(Validalas + prepared statement ugye alap).Ha esetleg a query futasa kesobb sokaig tarthat:
- az elso API csak egy taskId-t ad vissza
- masik endpointot meg lehet pool-ni a taskId-val, nem szep megoldas de mukodik -
Mike
veterán
válasz
RedHarlow
#20645
üzenetére
ehhez semmilyen backend nem kell.
FileReader API
https://developer.mozilla.org/en-US/docs/Web/API/FileReadermiért nem olvasok el mindent?
SQl-hez kellbeolvasod a file-t, elküldöd az id-kat a backendre, és visszakapod a csv-t
de ennyi energiával feltöltöd a file a szerverre ott kiszeded php-val az id-kat és visszaküldöd a csv-t -
disy68
aktív tag
válasz
RedHarlow
#20386
üzenetére
Szerintem téged a prepared statement-ek érdekelnek. Manapság az összes ismert adatbáziskezelő támogatja.
Előnyei lehetnek, hogy az adatbázis kiértékeli előre a lekérdezést, amihez paramétereket kötve lehet futtatni. A kiértékelt lekérdezést tudják cache-elni a driverek per kapcsolat és a további lekérdezéseket nem kell újra kiértékelni csak paraméterezni és futtatni, ami növeli a sebességet. További előnye, hogy véd a tipikus sql injection támadások ellen is.
A további részleteket az adott adatbáziskezelő dokumentációiban illetve az használt nyelvhez elérhető driver dokumentációjában lehet megtalálni.
-
válasz
RedHarlow
#20315
üzenetére
Vagy adatbázis-oldalon csinálsz egy join-t, vagy kód oldalon ellenőrzöd, hogy az adott sor létrejön-e.
Adott hónapra SQL-lel:
set @year = 2021, @month = 1;
SELECT
a.Date,
IFNULL(b.osszeg, 0),
IFNULL(b.darabszam, 0)
FROM (
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(CONCAT(@year,'-',@month,'-',n)),'%Y-%m-%d') AS Date
FROM (
SELECT (((b4.0 << 1 | b3.0) << 1 | b2.0) << 1 | b1.0) << 1 | b0.0 AS n
FROM
(SELECT 0 UNION ALL SELECT 1) AS b0,
(SELECT 0 UNION ALL SELECT 1) AS b1,
(SELECT 0 UNION ALL SELECT 1) AS b2,
(SELECT 0 UNION ALL SELECT 1) AS b3,
(SELECT 0 UNION ALL SELECT 1) AS b4 ) t
WHERE n > 0 and n <= DAY(LAST_DAY(CONCAT(@year,'-',@month,'-',1)))) AS a
LEFT JOIN (
-- a te lekérdezésed itt kezdődik
SELECT
datum,
osszeg,
darabszam
FROM valami_tabla
-- a te lekérdezésed itt végződik
) b
ON a.Date = b.datum
ORDER BY a.Date -
-
g.Viktor
csendes tag
válasz
RedHarlow
#19874
üzenetére
Helló, én ezt: PhpSpreadsheet szoktam használni ilyen igényekre.
-
-
válasz
RedHarlow
#19815
üzenetére
Nem akarom linkelni, amit hárommal ezelőtt írtam... DE az alábbi hibák vannak:
- ellenőrizetlen input
- összfűzött sql
- fn később definiált, mint a hívás
- nem az eredményt adod vissza, hanem a prepared plsql statement-et (és nem is futtatod le)helyesen kb így (fejből, nem ellenőriztem):
function FillTable($query, $bind_array)
{
include 'connect/connect.php';
static $stmt;
$stmt = oci_parse($connect, $query);
foreach ($bind_array as $key => $value){
oci_bind_by_name($stmt, $key, $value);
}
oci_execute($stmt, OCI_DEFAULT);
return oci_fetch_array($stmt, OCI_ASSOC);
}meghívása:
$query = "SELECT * FROM TANULO WHERE SYS_DATE = :td'";
$search_result = FillTable($query, array(":td" => $_POST['valueToSearch'])); -
válasz
RedHarlow
#19811
üzenetére
$stmt = $mysqli->prepare('SELECT * FROM TANULO WHERE SYS_DATE = ?');
$dat = date("Y-m-d");
$stmt->bind_param('s', $dat);
$reslt = $stmt->execute();Amúgy meg, csak hogy magamat idézzem:
https://itcafe.hu/tema/php_kerdesek_2/hsz_10152-10152.html -
rikxjeee
tag
Új hozzászólás Aktív témák
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- BMW topik
- Mibe tegyem a megtakarításaimat?
- Házimozi belépő szinten
- Linux kezdőknek
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Kuponkunyeráló
- Gumi és felni topik
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- Dell Latitude 5290 i5 8350U, 8GB RAM, SSD, jó akku, EU bill., szép állapot, számla, 6 hó gar - 12.18
- Samsung Galaxy S24 FE 128GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 15 Pro Max 256GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3943, 100% Akkumulátor
- GYÖNYÖRŰ iPhone 13 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS4684
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

