fixed edit class

This commit is contained in:
Claudio 2024-09-25 21:32:59 +02:00
parent 1e9fa25639
commit 3ed815e2e3
4 changed files with 78 additions and 65 deletions

View File

@ -1,35 +1,65 @@
<?php <?php include('include/headscript.php');
include('include/headscript.php');
// Connessione al database // Verifica se l'ID della classe è stato passato correttamente tramite GET
$conn = new mysqli($servername, $username, $password, $database);
// Verifica se l'ID della classe è passato tramite GET
if (isset($_GET['idyogaclass']) && is_numeric($_GET['idyogaclass'])) { if (isset($_GET['idyogaclass']) && is_numeric($_GET['idyogaclass'])) {
$idyogaclass = intval($_GET['idyogaclass']); $idyogaclass = intval($_GET['idyogaclass']);
} else { } else {
// Se non c'è un ID valido, reindirizza alla pagina delle classi
header("Location: yogaclass.php"); header("Location: yogaclass.php");
exit; exit;
} }
// Recupera i dati della classe dal database // Recupera i dati della classe corrente dal database
$conn = new mysqli($servername, $username, $password, $database);
$query = $conn->prepare("SELECT * FROM yogaclass WHERE idyogaclass = ?"); $query = $conn->prepare("SELECT * FROM yogaclass WHERE idyogaclass = ?");
$query->bind_param("i", $idyogaclass); $query->bind_param("i", $idyogaclass);
$query->execute(); $query->execute();
$result = $query->get_result(); $result = $query->get_result();
$classData = $result->fetch_assoc(); $classData = $result->fetch_assoc();
if (!$classData) { // Se il form è stato inviato, aggiorna i dati
header("Location: yogaclass.php"); if ($_SERVER['REQUEST_METHOD'] === 'POST') {
exit; $nameyogaclass = $_POST['nameyogaclass'];
$idclasscategory = $_POST['idclasscategory'];
$descriptionyogaclass = $_POST['descriptionyogaclass'];
$productcode = $_POST['productcode'];
// Se è stata caricata una nuova immagine
if (!empty($_FILES['imgyogaclass']['name'])) {
$img_name = $_FILES['imgyogaclass']['name'];
$img_tmp_name = $_FILES['imgyogaclass']['tmp_name'];
$ext = pathinfo($img_name, PATHINFO_EXTENSION);
$new_img_name = time() . '-' . $idyogaclass . '.' . $ext;
$upload_path = 'uploadphotoclass/' . $new_img_name;
// Elimina l'immagine precedente
if (!empty($classData['imgyogaclass']) && file_exists('uploadphotoclass/' . $classData['imgyogaclass'])) {
unlink('uploadphotoclass/' . $classData['imgyogaclass']);
} }
// Variabili per popolare il form // Carica la nuova immagine
$nameyogaclass = $classData['nameyogaclass']; move_uploaded_file($img_tmp_name, $upload_path);
$descriptionyogaclass = $classData['descriptionyogaclass']; } else {
$idclasscategory = $classData['idclasscategory']; // Mantieni l'immagine esistente se non viene caricata una nuova
$imgyogaclass = $classData['imgyogaclass']; $new_img_name = $_POST['existing_img'];
$productcode = $classData['productcode']; }
// Aggiorna i dati della classe nel database
$update_query = $conn->prepare("
UPDATE yogaclass
SET nameyogaclass = ?, idclasscategory = ?, descriptionyogaclass = ?, imgyogaclass = ?, productcode = ?
WHERE idyogaclass = ?
");
$update_query->bind_param("sisssi", $nameyogaclass, $idclasscategory, $descriptionyogaclass, $new_img_name, $productcode, $idyogaclass);
if ($update_query->execute()) {
// Reindirizza alla pagina delle classi con un messaggio di successo
header("Location: yogaclass.php?message=class_updated");
exit;
} else {
echo "Errore durante l'aggiornamento della classe.";
}
}
?> ?>
@ -37,18 +67,20 @@ $productcode = $classData['productcode'];
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Edit Class</title> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Modifica Classe</title>
<?php include('include/seo.php'); ?>
<link href="assets/css/bootstrap.min.css" rel="stylesheet" type="text/css"> <link href="assets/css/bootstrap.min.css" rel="stylesheet" type="text/css">
<link href="assets/css/icons.css" rel="stylesheet" type="text/css"> <link href="assets/css/icons.css" rel="stylesheet" type="text/css">
<link href="assets/css/style.css" rel="stylesheet" type="text/css"> <link href="assets/css/style.css" rel="stylesheet" type="text/css">
<script src="https://cdn.ckeditor.com/ckeditor5/35.0.1/classic/ckeditor.js"></script>
</head> </head>
<body class="fixed-left"> <body class="fixed-left">
<div id="wrapper"> <div id="wrapper">
<?php include('include/navigationbar.php'); ?> <?php include('include/navigationbar.php'); ?>
<div class="content-page"> <div class="content-page">
@ -60,54 +92,56 @@ $productcode = $classData['productcode'];
<div class="row"> <div class="row">
<div class="col-sm-12"> <div class="col-sm-12">
<div class="page-title-box"> <div class="page-title-box">
<div class="btn-group float-right">
<ol class="breadcrumb hide-phone p-0 m-0">
<li class="breadcrumb-item"><a href="#">YogiWhere</a></li>
<li class="breadcrumb-item active">Modifica Classe</li>
</ol>
</div>
<h4 class="page-title">Modifica Classe</h4> <h4 class="page-title">Modifica Classe</h4>
</div> </div>
</div> </div>
</div> </div>
<!-- Form di modifica della classe --> <!-- Form per modificare la classe -->
<div class="row"> <div class="row">
<div class="col-lg-12"> <div class="col-lg-12">
<div class="card card-body"> <div class="card card-body">
<form method="POST" action="update_class.php" enctype="multipart/form-data"> <h4 class="card-title font-20 mt-0">Modifica Classe</h4>
<input type="hidden" name="idyogaclass" value="<?php echo $idyogaclass; ?>"> <form method="POST" enctype="multipart/form-data">
<div class="form-group"> <div class="form-group">
<label for="nameyogaclass">Nome Classe</label> <label for="nameyogaclass">Nome Classe</label>
<input type="text" class="form-control" id="nameyogaclass" name="nameyogaclass" value="<?php echo htmlspecialchars($nameyogaclass); ?>" required> <input type="text" class="form-control" id="nameyogaclass" name="nameyogaclass" value="<?php echo htmlspecialchars($classData['nameyogaclass']); ?>" required>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="idclasscategory">Categoria Classe</label> <label for="idclasscategory">Categoria Classe</label>
<select class="form-control" id="idclasscategory" name="idclasscategory" required> <select class="form-control" id="idclasscategory" name="idclasscategory" required>
<?php <?php
// Recupera le categorie esistenti
$query_categories = $conn->query("SELECT * FROM classcategory"); $query_categories = $conn->query("SELECT * FROM classcategory");
while ($row = $query_categories->fetch_assoc()) { while ($row = $query_categories->fetch_assoc()) {
$selected = $row['idclasscategory'] == $idclasscategory ? 'selected' : ''; $selected = ($row['idclasscategory'] == $classData['idclasscategory']) ? 'selected' : '';
echo '<option value="' . $row['idclasscategory'] . '" ' . $selected . '>' . $row['namecategory'] . '</option>'; echo '<option value="' . $row['idclasscategory'] . '" ' . $selected . '>' . $row['namecategory'] . '</option>';
} }
?> ?>
</select> </select>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="descriptionyogaclass">Descrizione Classe</label> <label for="descriptionyogaclass">Descrizione Classe</label>
<textarea class="form-control" id="descriptionyogaclass" name="descriptionyogaclass" rows="10"><?php echo htmlspecialchars($descriptionyogaclass); ?></textarea> <textarea class="form-control" id="descriptionyogaclass" name="descriptionyogaclass" rows="10"><?php echo htmlspecialchars($classData['descriptionyogaclass']); ?></textarea>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="imgyogaclass">Immagine Classe</label> <label for="imgyogaclass">Immagine Classe</label>
<?php if (!empty($imgyogaclass)): ?>
<img src="uploadphotoclass/<?php echo $imgyogaclass; ?>" alt="Immagine Classe" width="100" class="mb-3">
<?php endif; ?>
<input type="file" class="form-control" id="imgyogaclass" name="imgyogaclass"> <input type="file" class="form-control" id="imgyogaclass" name="imgyogaclass">
<input type="hidden" name="existing_img" value="<?php echo $classData['imgyogaclass']; ?>">
<?php if (!empty($classData['imgyogaclass'])): ?>
<img src="uploadphotoclass/<?php echo $classData['imgyogaclass']; ?>" alt="Immagine Classe" style="width: 150px; height: auto;">
<?php endif; ?>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="productcode">Codice Prodotto (Opzionale)</label> <label for="productcode">Codice Prodotto (Opzionale)</label>
<input type="text" class="form-control" id="productcode" name="productcode" value="<?php echo htmlspecialchars($productcode); ?>"> <input type="text" class="form-control" id="productcode" name="productcode" value="<?php echo htmlspecialchars($classData['productcode']); ?>">
</div> </div>
<button type="submit" class="btn btn-primary">Salva Modifiche</button> <button type="submit" class="btn btn-primary">Salva Modifiche</button>
<a href="yogaclass.php" class="btn btn-secondary">Annulla</a> <a href="yogaclass.php" class="btn btn-secondary">Annulla</a>
</form> </form>
@ -115,14 +149,15 @@ $productcode = $classData['productcode'];
</div> </div>
</div> </div>
</div><!-- container --> </div> <!-- container-fluid -->
</div> <!-- page-content-wrapper --> </div> <!-- page-content-wrapper -->
</div> <!-- content --> </div> <!-- content -->
<?php include('include/footer.php'); ?>
</div> <!-- content-page --> </div> <!-- content-page -->
</div> <!-- wrapper --> </div> <!-- wrapper -->
<!-- Includi CKEditor --> <!-- Includi CKEditor -->
<script src="https://cdn.ckeditor.com/ckeditor5/35.0.1/classic/ckeditor.js"></script>
<script> <script>
ClassicEditor ClassicEditor
.create(document.querySelector('#descriptionyogaclass')) .create(document.querySelector('#descriptionyogaclass'))

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 478 KiB

View File

@ -210,28 +210,6 @@ $longitudedb = $schoolData['longitude'];
<div class="row">
<div class="col-lg-12">
<div class="card card-body">
<h4 class="card-title font-20 mt-0"><?php echo $settingtitle; ?></h4>
<p class="font-13 text-muted"><?php echo $settinginstruction; ?></p>
<!-- Area di caricamento -->
<!-- Tabella per visualizzare le immagini caricate -->
</div>
</div>
</div>