id
catala
pron
tipus
c_a_t
qualificador
castella
ajuda
data_creacio
data_modif
found
num_alea
encert
nota
estrelles
aux
==============editar registre=================
- Obtenció del registre per editar:
- Si l’usuari accedeix al formulari amb un paràmetre
id
(per exemple,editar.php?id=1
), es realitza una consulta preparada per obtenir totes les dades del registre corresponent.
- Si l’usuari accedeix al formulari amb un paràmetre
edit.php
<?php
// Configuració de la connexió a la base de dades
$servername = "localhost";
$username = "root"; // Substitueix pel teu usuari
$password = ""; // Substitueix per la teva contrasenya
$dbname = "word"; // Nom de la base de dades
// Crear connexió
$conn = new mysqli($servername, $username, $password, $dbname);
// Comprovar la connexió
if ($conn->connect_error) {
die("Error de connexió: " . $conn->connect_error);
}
// Variables per emmagatzemar les dades del registre
$id = "";
$update_success = false;
// Inicialitzar variables per cada camp de la taula
$data = [
'catala' => '',
'pron' => '',
'tipus' => '',
'c_a_t' => '',
'qualificador' => '',
'castella' => '',
'ajuda' => '',
'data_creacio' => '',
'data_modi' => '',
'found' => 0,
'num_alea' => 0,
'encert' => 0,
'nota' => '',
'estrelles' => 0,
'aux' => ''
];
// Si s'envia el formulari per POST
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Validar i obtenir l'ID del registre
$id = intval($_POST['id']); // Assegurar que l'ID sigui un enter
// Obtenir i sanejar les dades del formulari
foreach ($data as $key => &$value) {
if (isset($_POST[$key])) {
$value = $conn->real_escape_string(trim($_POST[$key]));
}
}
// Actualitzar el registre amb una consulta preparada
$sql = "UPDATE diccionari SET
catala = ?, pron = ?, tipus = ?, c_a_t = ?, qualificador = ?,
castella = ?, ajuda = ?, data_creacio = ?, data_modi = ?,
found = ?, num_alea = ?, encert = ?, nota = ?, estrelles = ?, aux = ?
WHERE id = ?";
$stmt = $conn->prepare($sql);
if ($stmt) {
// Vincular tots els paràmetres
$stmt->bind_param(
"ssssssssiisissii", // Tipus de dades: cadenes (s), enters (i)
$data['catala'], $data['pron'], $data['tipus'], $data['c_a_t'], $data['qualificador'],
$data['castella'], $data['ajuda'], $data['data_creacio'], $data['data_modi'],
$data['found'], $data['num_alea'], $data['encert'], $data['nota'], $data['estrelles'], $data['aux'],
$id
);
if ($stmt->execute()) {
$update_success = true; // Indicar que l'actualització ha estat exitosa
} else {
echo "Error en l'actualització: " . $stmt->error;
}
$stmt->close();
} else {
echo "Error en preparar la consulta: " . $conn->error;
}
}
// Obtenir el registre seleccionat per ID (si s'especifica)
if (isset($_GET['id'])) {
$id = intval($_GET['id']); // Assegurar que l'ID sigui un enter
// Consulta per obtenir les dades del registre
$sql = "SELECT id, catala, pron, tipus, c_a_t, qualificador, castella, ajuda,
data_creacio, data_modi, found, num_alea, encert, nota, estrelles, aux
FROM diccionari WHERE id = ?";
$stmt = $conn->prepare($sql);
if ($stmt) {
$stmt->bind_param("i", $id); // "i" = enter
$stmt->execute();
$stmt->store_result();
if ($stmt->num_rows > 0) {
$stmt->bind_result(
$id, $data['catala'], $data['pron'], $data['tipus'], $data['c_a_t'], $data['qualificador'],
$data['castella'], $data['ajuda'], $data['data_creacio'], $data['data_modi'],
$data['found'], $data['num_alea'], $data['encert'], $data['nota'], $data['estrelles'], $data['aux']
);
$stmt->fetch(); // Emplenar les variables amb les dades del registre
} else {
echo "No s'ha trobat cap registre amb l'ID especificat.";
}
$stmt->close();
} else {
echo "Error en preparar la consulta: " . $conn->error;
}
}
// Tancar la connexió
$conn->close();
?>
<!DOCTYPE html>
<html lang="ca">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Editar Registre</title>
</head>
<body>
<h1>Editar Registre</h1>
<?php if ($update_success): ?>
<p style="color:green;">Registre actualitzat correctament.</p>
<?php endif; ?>
<!-- Formulari per editar el registre -->
<form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
<input type="hidden" name="id" value="<?php echo htmlspecialchars($id); ?>">
<label for="catala">Català:</label><br>
<input type="text" id="catala" name="catala" value="<?php echo htmlspecialchars($data['catala']); ?>" required><br><br>
<label for="pron">pronunciació:</label><br>
<input type="text" id="pron" name="pron" value="<?php echo htmlspecialchars($data['pron']); ?>"><br><br>
<label for="tipus">Tipus:</label><br>
<input type="text" id="tipus" name="tipus" value="<?php echo htmlspecialchars($data['tipus']); ?>"><br><br>
<label for="c_a_t">Categoria:</label><br>
<input type="text" id="c_a_t" name="c_a_t" value="<?php echo htmlspecialchars($data['c_a_t']); ?>"><br><br>
<label for="qualificador">Qualificador:</label><br>
<input type="text" id="qualificador" name="qualificador" value="<?php echo htmlspecialchars($data['qualificador']); ?>"><br><br>
<label for="castella">Castellà:</label><br>
<input type="text" id="castella" name="castella" value="<?php echo htmlspecialchars($data['castella']); ?>"><br><br>
<label for="ajuda">Ajuda:</label><br>
<textarea id="ajuda" name="ajuda" rows="4" cols="50"><?php echo htmlspecialchars($data['ajuda']); ?></textarea><br><br>
<label for="data_creacio">Data de creació:</label><br>
<input type="date" id="data_creacio" name="data_creacio" value="<?php echo htmlspecialchars($data['data_creacio']); ?>"><br><br>
<label for="data_modi">Data de modificació:</label><br>
<input type="date" id="data_modi" name="data_modi" value="<?php echo htmlspecialchars($data['data_modi']); ?>"><br><br>
<label for="found">Freqüència/Trobada:</label><br>
<input type="number" id="found" name="found" value="<?php echo htmlspecialchars($data['found']); ?>"><br><br>
<label for="num_alea">Número aleatori:</label><br>
<input type="number" id="num_alea" name="num_alea" value="<?php echo htmlspecialchars($data['num_alea']); ?>"><br><br>
<label for="encert">Encerts:</label><br>
<input type="number" id="encert" name="encert" value="<?php echo htmlspecialchars($data['encert']); ?>"><br><br>
<label for="nota">Notes:</label><br>
<textarea id="nota" name="nota" rows="4" cols="50"><?php echo htmlspecialchars($data['nota']); ?></textarea><br><br>
<label for="estrelles">Nombre d'estrelles:</label><br>
<input type="number" id="estrelles" name="estrelles" value="<?php echo htmlspecialchars($data['estrelles']); ?>"><br><br>
<label for="aux">Camp auxiliar:</label><br>
<input type="text" id="aux" name="aux" value="<?php echo htmlspecialchars($data['aux']); ?>"><br><br>
<button type="submit">Actualitzar</button>
</form>
<!-- Enllaç per tornar a la pàgina principal (opcional) -->
<p><a href="index.php">Tornar al llistat</a></p>
</body>
</html>