Files
2025-10-15 08:41:49 +02:00

96 lines
2.8 KiB
PHP

<?php
$db = mysqli_connect('localhost', 'root', '', '3p_1_pacjenci');
$f = fopen('dane.txt', 'r');
$query = "INSERT INTO tabela_1 (identyfikator, imie, nazwisko, email) VALUES (?, ?, ?, ?)";
$stmt = mysqli_prepare($db, $query);
$truncate = "TRUNCATE TABLE tabela_1";
mysqli_query($db, $truncate);
$id = $imie = $nazwisko = $email = null;
mysqli_stmt_bind_param($stmt, 'isss', $id, $imie, $nazwisko, $email);
mysqli_begin_transaction($db);
$line = 0;
while (($row = fgetcsv($f, 0, ';')) !== false) {
$line++;
[$id, $imie, $nazwisko, $email] = array_map('trim', array_slice($row, 0, 4));
mysqli_stmt_execute($stmt);
}
$selectSql = "SELECT identyfikator, imie, nazwisko, email FROM tabela_1 ORDER BY identyfikator";
$res = mysqli_query($db, $selectSql);
$html = '<table border="1" cellspacing="0">';
$html .= '<thead><tr><th>Identyfikator</th><th>Imię</th><th>Nazwisko</th><th>Email</th></tr></thead><tbody>';
if ($res && mysqli_num_rows($res) > 0) {
while ($row = mysqli_fetch_assoc($res)) {
$id = htmlspecialchars($row['identyfikator'], ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
$im = htmlspecialchars($row['imie'], ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
$na = htmlspecialchars($row['nazwisko'], ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
$em = htmlspecialchars($row['email'], ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
$html .= '<tr>';
$html .= '<td>' . $id . '</td>';
$html .= '<td>' . $im . '</td>';
$html .= '<td>' . $na . '</td>';
$html .= '<td>' . $em . '</td>';
$html .= '</tr>';
}
} else {
$html .= '<tr><td colspan="4">Brak danych</td></tr>';
}
$html .= '</tbody></table>';
mysqli_commit($db);
fclose($f);
mysqli_close($db);
echo <<<HTML
<!doctype html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>P61a - pacjenci php z bazą danych i plikiem tekstowym</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<h1>Zadanie P61a</h1>
<h2>Autor: Jakub Grzegorczyk</h2>
</header>
<div class="box">
<p>
1. Utwórz bazę danych o nazwie 3p_1_pacjenci. <br><br>
2. W bazie danych utwórz tabelę tabela_1 zawierającą kolumny: <br><br>
<ul>
<li>identyfikator,</li>
<li>imię,</li>
<li>nazwisko,</li>
<li>email.</li>
</ul>
3. Utwórz plik tekstowy o nazwie dane.txt zawierający dane 3 pacjentów. <br><br>
4. Napisz skrypt php, który czyta dane z pliku i zapisuje je do tabeli tabela_1 i wyświetla je na stronie zadanie.php w postaci tabeli.
</p>
</div>
<div class="box">
{$html}
</div>
</body>
</html>
HTML;