Salve, ho la necessità di compilare i campi in input con i dati dati presi dal db automaticamente sulla pagina di inserimento.
Cerco di spiegarmi meglio: adesso ho una pagina dove digitando il codice fiscale con POST lo invio ad un altra pagina dove recupero i dati dal db, usando quindi 2 pagine.
Adesso vorrei che digitando il codice fiscale i campi si compilassero nella stessa pagina.
ho trovato questo modulo pubblicato dall'utente alessandro1997 che sembra faccia al caso mio, ma al solito non riesco a farlo funzionare.
Qualcuno sa darmi una mano?
Grazie
Max61
Cerco di spiegarmi meglio: adesso ho una pagina dove digitando il codice fiscale con POST lo invio ad un altra pagina dove recupero i dati dal db, usando quindi 2 pagine.
Adesso vorrei che digitando il codice fiscale i campi si compilassero nella stessa pagina.
ho trovato questo modulo pubblicato dall'utente alessandro1997 che sembra faccia al caso mio, ma al solito non riesco a farlo funzionare.
PHP:
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="utf-8">
<title>Compilazione automatica</title>
</head>
<body>
<form action="#" method="post">
<div>
<label>id_residente:</label>
<input type="text" name="id_residente" id="id_residente">
</div>
<div>
<label>cognome:</label>
<input type="text" name="cognome" id="cognome">
</div>
<div>
<label>nome:</label>
<input type="text" name="nome" id="nome">
</div>
<div>
<label>codice_fiscale:</label>
<input type="text" name="codice_fiscale" id="codice_fiscale">
</div>
<div>
<button type="submit">Invia</button>
<button id_residente="autofill">Compilazione automatica</button>
</div>
</form>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
$(function() {
$("#autofill").click(function() {
$.getJSON("autofill.php", {
'id_residente': $("#id_residente").val()
}, function(data) {
if (data.result == 'success') {
$("#cognome").val(data.info.cognome);
$("#nome").val(data.info.nome);
$("#codice_fiscale").val(data.info.codice_fiscale);
} else if (data.result == 'not-found') {
alert("ID non trovato.")
} else if (data.result == 'error') {
alert("Errore interno.");
}
});
});
});
</script>
</body>
</html>
PHP:
<?php
$id = isset($_POST['id']) ? trim($_POST['id']) : 0;
try {
$pdo = new PDO('mysql:host=localhost;dbname=test', 'root', 'password');
} catch (PDOException $e) {
die(json_encode(array(
'result' => 'error',
)));
}
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stm = $pdo->prepare('SELECT title, category, year FROM tabella WHERE id = ?');
try {
$stm->execute(array($id));
} catch (PDOException $e) {
die(json_encode(array(
'result' => 'error',
)));
}
if ($stm->rowCount() == 0) {
die(json_encode(array(
'result' => 'not-found',
)));
}
$data = $stm->fetch();
echo json_encode(array(
'result' => 'success',
'info' => $data,
));
Grazie
Max61