Ciao a tutti,
cercherò di spiegarvi il mio problema nel modo più chiaro possibile, anche se essendo alle prime armi può darsi che non riesca. Per questo fate pure domande
Il mio obiettivo è quello di salvare dei rapporti mensili di ogni dipendente.
Ho quindi messo un input dove scelgo il mese. Una volta selezionato viene caricata tramite javascript una pagina php che prende il mese in input tramite POST, dopodiché carica dal database i dati relativi ad ogni dipendente di quel mese. Quindi i dati vengono visualizzati dentro inputbox.
A questo punto l'utente può inserire o modificare i dati e poi salvarli.
Il mio problema è che non funziona il salvataggio dei dati sul database.
Vi allego il codice delle due pagine e il link della pagina che lavora sul database.
http://densitsw.altervista.org/rapporti/rapp_modif.php
Grazie mille del vostro aiuto!
Codice HTML:
<!DOCTYPE HTML>
<html>
<head>
<script>
function data(m) {
if (m == "") {
document.getElementById("rap_tabella").innerHTML = "";
return;
} else {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("rap_tabella").innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open("GET","rapp_tabella_modif.php?m="+m,true);
xmlhttp.send();
}
}
</script>
<?php include 'head_rap.php';?>
</head>
<body>
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.php">
<span class="glyphicon glyphicon-home"></span>
</a>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
<li><a href="/rapporti/anag.php">Anagrafica</a></li>
<li class="active"><a href="/rapporti/rapp.php">Rapporto Mensile</a></li>
</ul>
</div>
</div>
</nav>
<div class="container-fluid">
<div class="row">
<div class="col-sm-2 sidebar">
<ul class="nav nav-sidebar">
<li><a href="/rapporti/rapp.php">
<span class="glyphicon glyphicon-arrow-left" aria-hidden="true"></span> Rapp. Mensile</a>
</li>
</ul>
</div>
<div class="col-sm-10 main">
<form method="get" class="form-inline">
<?php
$d=strtotime("-1 Month");
echo "<input type='month' class='form-control' name='mese' style='width: auto;' onchange='data(this.value)'>\n";
//value=".date("Y-m",$d)."
?>
<div id="rap_tabella">
</div>
<?php
?>
</form>
</div>
</div>
</div>
</body>
</html>
Codice PHP:
<?php
$link = new mysqli("localhost","densitsw","","my_densitsw");
if ($link->connect_error) {
die("Errore connessione: " . $link->connect_error);
}
echo "<form method='post' class='form-horizontal'>";
echo "<div class=\"table-responsive\">\n";
echo "<table class=\"table table-hover\">\n";
echo "<thead>\n";
echo "<tr>\n";
echo "\t\t<th>Proclamatore</th>\n";
echo "\t\t<th>Inc</th>\n";
echo "\t\t<th>Pubb</th>\n";
echo "\t\t<th>Video</th>\n";
echo "\t\t<th>Ore</th>\n";
echo "\t\t<th>VU</th>\n";
echo "\t\t<th>Studi</th>\n";
echo "\t\t<th>Osservazioni</th>\n";
echo "</tr>\n";
echo "</thead>\n";
echo "<tbody>\n";
$query = 'SELECT CP_Anag, Nome FROM rap_anag ORDER BY rap_anag.Nome';
$tab_nomi = $link->query($query);
if ($tab_nomi->num_rows > 0) {
while($riga = $tab_nomi->fetch_assoc()) {
echo "\t<tr>\n";
echo "\t\t<td>".$riga["Nome"]."</td>\n";
$query2 = 'SELECT rap_rapporti.* FROM rap_rapporti
WHERE Mese="'.$_GET["m"].'" AND CE_Anag="'.$riga["CP_Anag"].'"';
$tab = $link->query($query2);
$r = $tab->fetch_assoc();
$indici[$x] = $r["CP_Rap"];
echo "\t\t<td><input type='text' class='form-control' name='Inc"
.$r["CP_Rap"]."' value='".$r["Inc"]."'></td>\n";
echo "\t\t<td><input type='text' class='form-control' name='Pubb"
.$r["CP_Rap"]."' value='".$r["Pubb"]."'></td>\n";
echo "\t\t<td><input type='text' class='form-control' name='Video"
.$r["CP_Rap"]."' value='".$r["Video"]."'></td>\n";
echo "\t\t<td><input type='text' class='form-control' name='Ore"
.$r["CP_Rap"]."' value='".$r["Ore"]."'></td>\n";
echo "\t\t<td><input type='text' class='form-control' name='VU"
.$r["CP_Rap"]."' value='".$r["VU"]."'></td>\n";
echo "\t\t<td><input type='text' class='form-control' name='Studi"
.$r["CP_Rap"]."' value='".$r["Studi"]."'></td>\n";
echo "\t\t<td><input type='text' class='form-control' name='Note"
.$r["CP_Rap"]."' value='".$r["Note"]."'></td>\n";
echo "\t</tr>\n";
}
} else {
echo "\t<tr>\n";
echo "\t\t<td>Database vuoto</td>\n";
echo "\t</tr>\n";
}
echo "</tbody>";
echo "</table>\n";
echo "</div>\n";
echo "<div class='form-group'>\n";
echo "<input type=\"submit\" class=\"btn btn-default\">\n";
echo "</div>\n";
echo "</form>\n";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
foreach ($indici as $i) {
$query = "UPDATE rap_rapporti SET Inc='".$_POST["Inc".$i].
"', Pubb='".$_POST["Pubb".$i].
"', Video='".$_POST["Video".$i].
"', Ore='".$_POST["Ore".$i].
"', VU='".$_POST["VU".$i].
"', Studi='".$_POST["Studi".$i].
"', Note='".$_POST["Note".$i].
"' WHERE CP_Rap='".$i."'";
if ($link->query($query) === TRUE) {
} else {
$errore = $link->error;
}
}
if (isset($errore)) {
echo "<div class=\"alert alert-danger\" role=\"alert\">
<span class=\"glyphicon glyphicon-warning-sign\" aria-hidden=\"true\"></span>
<span class=\"sr-only\">Error:</span>
Errore: " . $errore . "</div>" ;
} else {
echo "<div class=\"alert alert-success\" role=\"alert\">
<span class=\"glyphicon glyphicon-ok\" aria-hidden=\"true\"></span>
<span class=\"sr-only\">Ok:</span>
Modifiche effettuate</div>" ;
}
}
$link->close();
?>