connect_error) { die("Kapcsolódási hiba: " . $conn->connect_error); } // Táblák létrehozása, ha nem léteznek $sql = " CREATE TABLE IF NOT EXISTS termekek ( id INT AUTO_INCREMENT PRIMARY KEY, nev VARCHAR(255) NOT NULL, mennyisegi_egyseg VARCHAR(255) NOT NULL ); CREATE TABLE IF NOT EXISTS keszlet ( id INT AUTO_INCREMENT PRIMARY KEY, termek_id INT NOT NULL, datum DATE NOT NULL, mennyiseg FLOAT NOT NULL, irany ENUM('be', 'ki') NOT NULL, FOREIGN KEY (termek_id) REFERENCES termekek(id) ); "; if ($conn->multi_query($sql) === FALSE) { die("Hiba a táblák létrehozásában: " . $conn->error); } // Termékek hozzáadása, ha nem léteznek $products = [ ["Szappan", "kg"], ["Só", "kg"], ["Habzásgátló", "kg"], ["Optimalizáló", "kg"], ["Színezék", "kg"], ["Illat anyag", "kg"], ["Karton", "darab"], ["5 literes kanna", "darab"], ["4.5 literes kanna", "darab"] ]; foreach ($products as $product) { $sql = "INSERT INTO termekek (nev, mennyisegi_egyseg) VALUES ('{$product[0]}', '{$product[1]}') ON DUPLICATE KEY UPDATE nev=nev;"; $conn->query($sql); } // Bevétel és kiadás feldolgozása if ($_SERVER["REQUEST_METHOD"] == "POST") { $datum = $_POST["datum"]; $termek_id = $_POST["termek_id"]; $mennyiseg = $_POST["mennyiseg"]; $irany = $_POST["irany"]; $sql = "INSERT INTO keszlet (termek_id, datum, mennyiseg, irany) VALUES ('$termek_id', '$datum', '$mennyiseg', '$irany')"; if ($conn->query($sql) === FALSE) { die("Hiba a készlet frissítésekor: " . $conn->error); } } // Készlet lekérdezése $keszlet_sql = " SELECT t.nev, t.mennyisegi_egyseg, COALESCE(SUM(CASE WHEN k.irany='be' THEN k.mennyiseg ELSE 0 END), 0) - COALESCE(SUM(CASE WHEN k.irany='ki' THEN k.mennyiseg ELSE 0 END), 0) AS keszlet FROM termekek t LEFT JOIN keszlet k ON t.id = k.termek_id GROUP BY t.id; "; $keszlet_result = $conn->query($keszlet_sql); // PDF generálás if (isset($_GET['generate_pdf'])) { require('fpdf/fpdf.php'); class PDF extends FPDF { function Header() { $this->SetFont('Arial', 'B', 12); $this->Cell(0, 10, 'Keszlet Nyilvantartas', 0, 1, 'C'); $this->Ln(10); } function Footer() { $this->SetY(-15); $this->SetFont('Arial', 'I', 8); $this->Cell(0, 10, 'Oldal ' . $this->PageNo(), 0, 0, 'C'); } } $pdf = new PDF(); $pdf->AddPage(); $pdf->SetFont('Arial', '', 12); $pdf->Cell(40, 10, 'Termek', 1); $pdf->Cell(40, 10, 'Mennyisegi Egyseg', 1); $pdf->Cell(40, 10, 'Keszlet', 1); $pdf->Ln(); if ($keszlet_result->num_rows > 0) { while($row = $keszlet_result->fetch_assoc()) { $pdf->Cell(40, 10, $row['nev'], 1); $pdf->Cell(40, 10, $row['mennyisegi_egyseg'], 1); $pdf->Cell(40, 10, $row['keszlet'], 1); $pdf->Ln(); } } $pdf->Output(); exit; } // Termékek listája a kiválasztáshoz $termekek_sql = "SELECT id, nev FROM termekek"; $termekek_result = $conn->query($termekek_sql); ?>