Część, mam problem z CRUD a dokładnie z systemem dodawanie do bazy danych, mam zrobione myślę że wszystko co powinienem by działało to poprawnie lecz nie do końca z 7 rzeczy jakie mają się dodać dodaje się tylko jedna :P, powinno być dodane: name, plec, poszukiwany, karany, opis, policjant, data (dodaje się tylko data do bazy danych)
server.php
<?php
session_start();
// zainicjuj zmienne
$name = "";
$plec = "";
$poszukiwany = "";
$karany = "";
$opis = "";
$policjant = "";
$data = "";
$id = 0;
$edit_state = false;
// Połączenie z bazą Danych
$db = mysqli_connect('localhost', 'root', '', 'crud');
// Zapisz po kliknęciu przycisku Save
if (isset($_POST['save'])) {
$name = $_POST['name'];
$name = $_POST['plec'];
$name = $_POST['poszukiwany'];
$name = $_POST['karany'];
$name = $_POST['opis'];
$name = $_POST['policjant'];
$name = $_POST['data'];
$query = "INSERT INTO info (name, plec, poszukiwany, karany, opis, policjant, data) VALUES ('$name', '$plec', '$poszukiwany', '$karany', '$opis', '$policjant', '$data' )";
mysqli_query($db, $query);
$_SESSION['msg'] = "Dodano do bazy danych";
header('Location: index.php'); // Przekierowanie do index.php po wprowadzeniu danych
}
// edytuj rekord
if (isset($_POST['update'])) {
$name = mysqli_real_escape_string($db, $_POST['name']);
$plec = mysqli_real_escape_string($db, $_POST['plec']);
$plec = mysqli_real_escape_string($db, $_POST['poszukiwany']);
$plec = mysqli_real_escape_string($db, $_POST['karany']);
$plec = mysqli_real_escape_string($db, $_POST['opis']);
$plec = mysqli_real_escape_string($db, $_POST['policjant']);
$plec = mysqli_real_escape_string($db, $_POST['data']);
$id = mysqli_real_escape_string($db, $_POST['id']);
mysqli_query($db, "UPDATE info SET name='$name', plec='$plec', poszukiwany='$poszukiwany', karany='$karany', opis='$opis', policjant='$policjant', data='$data' WHERE id=$id");
$_SESSION['msg'] = "Zmieniono wpis/y w bazie danych";
header('Location: index.php');
}
// Kasowanie rekordu czyli osoby z bazy danych
if (isset($_GET['del'])){
$id = $_GET['del'];
mysqli_query($db, "DELETE FROM info WHERE id=$id");
$_SESSION['msg'] = "Usunięto z bazy danych obywatela";
header('Location: index.php');
}
$results = mysqli_query($db, "SELECT * FROM info");
?>
index.php
<?php include('server.php');
// fetch the record to be Update
if (isset($_GET['edit'])) {
$id = $_GET['edit'];
$edit_state = true;
$rec = mysqli_query($db, "SELECT * FROM info WHERE id=$id");
$record = mysqli_fetch_array($rec);
$name = $record['name'];
$plec = $record['plec'];
$poszukiwany = $record['poszukiwany'];
$karany = $record['karany'];
$opis = $record['opis'];
$policjant = $record['policjant'];
$data = $record['data'];
$id = $record['id'];
}
?>
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="utf-8">
<title>Baza Danych Los Santos</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php if (isset($_SESSION['msg'])): ?>
<div class="msg">
<?php
echo $_SESSION['msg'];
unset($_SESSION['msg']);
?>
</div>
<?php endif; ?>
<table>
<thead>
<tr>
<th>Name</th>
<th>Plec</th>
<th>Poszukiwany</th>
<th>Karany</th>
<th>Opis</th>
<th>Policjant</th>
<th>Data</th>
<th colspan="2">Action</th>
</tr>
</thead>
<tbody>
<?php while ($row = mysqli_fetch_array($results)) { ?>
<tr>
<td><?php echo $row['name'] ?></td>
<td><?php echo $row['plec'] ?></td>
<td><?php echo $row['poszukiwany'] ?></td>
<td><?php echo $row['karany'] ?></td>
<td><?php echo $row['opis'] ?></td>
<td><?php echo $row['policjant'] ?></td>
<td><?php echo $row['data'] ?></td>
<td>
<a class="edit_btn" href="index.php?edit=<?php echo $row['id']; ?>">Edytuj</a>
</td>
<td>
<a class="del_btn" href="server.php?del=<?php echo $row['id']; ?>">Usuń</a>
</td>
</tr>
<?php } ?>
</tbody>
</table>
<form method="post" action="server.php">
<input type="hidden" name="id" value="<?php echo $id; ?>" />
<div class="input-group">
<label>Name</label>
<input type="text" name="name" value="<?php echo $name; ?>" />
</div>
<div class="input-group">
<label>Plec</label>
<input type="text" name="plec" value="<?php echo $plec; ?>" />
</div>
<div class="input-group">
<label>Poszukiwany</label>
<input type="text" name="poszukiwany" value="<?php echo $poszukiwany; ?>" />
</div>
<div class="input-group">
<label>Karany</label>
<input type="text" name="karany" value="<?php echo $karany; ?>" />
</div>
<div class="input-group">
<label>Opis</label>
<input type="text" name="opis" value="<?php echo $opis; ?>" />
</div>
<div class="input-group">
<label>Policjant</label>
<input type="text" name="policjant" value="<?php echo $policjant; ?>" />
</div>
<div class="input-group">
<label>Data</label>
<input type="text" name="data" value="<?php echo $data; ?>" />
</div>
<div class="input-group">
<?php if ($edit_state == false): ?>
<button type="submit" name="save" class="btn">Zapisz</button>
<?php else: ?>
<button type="submit" name="update" class="btn">Zmień</button>
<?php endif ?>
</div>
</form>
</body>
</html>
style.css
body {
front-size: 19px;
}
table{
width: 50%;
margin: 30px auto;
border-collapse: collapse;
text-align: left;
}
tr {
border-bottom: 1px solid #cbcbcb;
}
th, td{
border: none;
height: 30px;
padding: 2px;
}
tr:hover{
background: #F5F5F5;
}
form {
width: 45%;
margin: 50px auto;
text-align: left;
padding: 20px;
border: 1px solid #bbbbbb;
border-radius: 5px;
}
.input-group{
margin: 10px 0px 10px 0px;
}
.input-group label{
display: block;
text-align: left;
margin: 3px;
}
.input-group input{
height: 30px;
width: 93%;
padding: 5px 10px;
border-radius: 5px;
border: 1px solid gray;
}
.btn{
padding: 10px;
font-size: 15px;
color: white;
background: #5F9EA0;
border-radius: 5px;
}
.msg{
margin: 30px auto;
padding: 10px;
border-radius: 5px;
color: #3c763d;
background: #dff0d8;
border: 1px solid #3c763d;
width: 50%;
text-align: center;
}
.edit_btn{
text-decoration: none;
padding: 2px 5px;
background: #2E8B57;
color: white;
border-radius: 3px;
}
.del_btn{
text-decoration: none;
padding: 2px 5px;
color: white;
border-radius: 3px;
background: #800000;
}
Dodam że jestem amatorem przez duże A :) chętnie przyjmę krytykę i oczywiście pomoc z tym problemem :)
Robiłem pierw z poradnikiem (amator) działało wszystko zmieniłem tylko kilka rzeczy pod siebie (dodałem więcej miejsc do wpisywania danych itp.) i już nie działa poprawnie :)