par
jfgarnier » 10 mars 2021, 13:27
Bonjour Saian,
Grace à ton aiguillage mon insertion fonctionne dans la table de declaration en incluant simplement les saisies effectives.
Merci, c'est parfait ! Je suis réellement épaté par le temps que vous consacrez à aider les autres. J'espère réellement dans quelques temps lorsque mon niveau en php le permettra d'aider les autres ainsi.
J'avais une autre question.
Peux tu également me donner un aiguillage pour remplir à nouveau le formulaire avec les infos en bdd dans une autre page qui permettrai de modifier leur saisie.
J'ai récupéré les données avec ma requête sql et recréer le formulaire avec l'ensemble des dates.
J'ai tenté de boucler sur le tableau créer par la requête SQL pour remplir la value de mon input, mais évidemment il manque les données non saisies et je pense que je m'emmêle en mettant deux boucles.
<?php
include_once("connexion.php");
if (isset($_GET["id"])) {
$id_prof = $_GET["id"];
$query = $mysqli->query("SELECT * FROM `declaration` WHERE `id_profs` = $id_prof");
$nb = $query->num_rows;
if ($nb > 0) {
$list = array();
while ($row = $query->fetch_array()) {
array_push($list, $row);
}
$nb = count($list);
}
}
?>
<head>
<style>
table {
border-collapse: collapse;
}
th,
td {
border: 1px solid black;
padding: 10px;
}
</style>
</head>
<body>
<!-- Page Wrapper -->
<div id="wrapper">
<form action="index.php" method="post" class="form-horizontal">
<!-- <input name = "" type="text"/>
<input name = "hor_comp[]" type="text"/> -->
<table id="myTable">
<thead>
<tr>
<th>Date</th>
<th>Hres Compl.</th>
<th>Motifs Hres Compl.</th>
<th>Deplacnts Prévus</th>
<th>Deplacnts Except.</th>
<th>Motifs Deplacnts Except.</th>
</tr>
</thead>
<tbody>
<tr>
<?php
// for each day in the month
for ($i = 1; $i <= date("t", strtotime("-1 month")); $i++) {
// add the date to the dates array
$dates[] = date('Y') . "-" . date("m", strtotime("-1 month")) . "-" . str_pad($i, 2, '0', STR_PAD_LEFT);
}
foreach ($dates as $value) {
$date_Hora = date("d/m/Y", strtotime($value));
echo '<td>' . $date_Hora . '<input name = "date[]" type="hidden" value="' . $value . '" /></td>';?>
<?php echo '<td><input name = "hor_comp[]" type="text" class ="txtCal1" '?>
<?php
if (isset($list)) {
for ($i = 0; $i < $nb; $i++) {
$dateM = $list[$i]['hrs_compl'];
echo 'value="'.$dateM.'" /></td>';
}
}
?>
<?php echo '<td><input name = "motifs_hr_comp[]" type="text" '?>
<?php echo 'value="" /></td>'?>
<?php echo '<td><input name = "depla[]" type="text" class ="txtCal2" '?>
<?php echo 'value="" /></td>'?>
<?php echo '<td><input name = "depla_exc[]" type="text" class ="txtCal3" '?>
<?php echo 'value="" /></td>'?>
<?php echo '<td><input name = "motifs_depla_exc[]" type="text" '?>
<?php echo 'value="" /></td>'?>
<?php echo '</tr>'?>
<?php } ?>
</tbody>
<tfoot>
<tr>
<td>Total</td>
<td id="total_sum_value1"></td>
<td></td>
<td id="total_sum_value2"></td>
<td id="total_sum_value3"></td>
<td></td>
</tr>
</tfoot>
<div>
<input type="submit" name="go" class="btn btn-primary" value="Valider">
</div>
</table>
</form>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
function CalculSum(i) {
var textCal = ".txtCal" + i;
var total_sum_value = "#total_sum_value" + i;
var tableTxt = "#myTable " + textCal;
// document.write(tableTxt);
$("#myTable").on('input', textCal, function() {
var calculated_total_sum = 0;
$(tableTxt).each(function() {
var get_textbox_value = $(this).val();
if ($.isNumeric(get_textbox_value)) {
calculated_total_sum += parseFloat(get_textbox_value);
}
});
$(total_sum_value).html(calculated_total_sum);
});
}
$("#myTable").on('input', '.txtCal1', function() {
CalculSum(1)
});
$("#myTable").on('input', '.txtCal2', function() {
CalculSum(2)
});
$("#myTable").on('input', '.txtCal2', function() {
CalculSum(3)
});
});
</script>
</body>
</html>
J’espère être assez clair
Merci de votre aide
Jeff
Bonjour Saian,
Grace à ton aiguillage mon insertion fonctionne dans la table de declaration en incluant simplement les saisies effectives.
Merci, c'est parfait ! Je suis réellement épaté par le temps que vous consacrez à aider les autres. J'espère réellement dans quelques temps lorsque mon niveau en php le permettra d'aider les autres ainsi.
J'avais une autre question.
Peux tu également me donner un aiguillage pour remplir à nouveau le formulaire avec les infos en bdd dans une autre page qui permettrai de modifier leur saisie.
J'ai récupéré les données avec ma requête sql et recréer le formulaire avec l'ensemble des dates.
J'ai tenté de boucler sur le tableau créer par la requête SQL pour remplir la value de mon input, mais évidemment il manque les données non saisies et je pense que je m'emmêle en mettant deux boucles.
[PHP]
<?php
include_once("connexion.php");
if (isset($_GET["id"])) {
$id_prof = $_GET["id"];
$query = $mysqli->query("SELECT * FROM `declaration` WHERE `id_profs` = $id_prof");
$nb = $query->num_rows;
if ($nb > 0) {
$list = array();
while ($row = $query->fetch_array()) {
array_push($list, $row);
}
$nb = count($list);
}
}
?>
<head>
<style>
table {
border-collapse: collapse;
}
th,
td {
border: 1px solid black;
padding: 10px;
}
</style>
</head>
<body>
<!-- Page Wrapper -->
<div id="wrapper">
<form action="index.php" method="post" class="form-horizontal">
<!-- <input name = "" type="text"/>
<input name = "hor_comp[]" type="text"/> -->
<table id="myTable">
<thead>
<tr>
<th>Date</th>
<th>Hres Compl.</th>
<th>Motifs Hres Compl.</th>
<th>Deplacnts Prévus</th>
<th>Deplacnts Except.</th>
<th>Motifs Deplacnts Except.</th>
</tr>
</thead>
<tbody>
<tr>
<?php
// for each day in the month
for ($i = 1; $i <= date("t", strtotime("-1 month")); $i++) {
// add the date to the dates array
$dates[] = date('Y') . "-" . date("m", strtotime("-1 month")) . "-" . str_pad($i, 2, '0', STR_PAD_LEFT);
}
foreach ($dates as $value) {
$date_Hora = date("d/m/Y", strtotime($value));
echo '<td>' . $date_Hora . '<input name = "date[]" type="hidden" value="' . $value . '" /></td>';?>
<?php echo '<td><input name = "hor_comp[]" type="text" class ="txtCal1" '?>
<?php
if (isset($list)) {
for ($i = 0; $i < $nb; $i++) {
$dateM = $list[$i]['hrs_compl'];
echo 'value="'.$dateM.'" /></td>';
}
}
?>
<?php echo '<td><input name = "motifs_hr_comp[]" type="text" '?>
<?php echo 'value="" /></td>'?>
<?php echo '<td><input name = "depla[]" type="text" class ="txtCal2" '?>
<?php echo 'value="" /></td>'?>
<?php echo '<td><input name = "depla_exc[]" type="text" class ="txtCal3" '?>
<?php echo 'value="" /></td>'?>
<?php echo '<td><input name = "motifs_depla_exc[]" type="text" '?>
<?php echo 'value="" /></td>'?>
<?php echo '</tr>'?>
<?php } ?>
</tbody>
<tfoot>
<tr>
<td>Total</td>
<td id="total_sum_value1"></td>
<td></td>
<td id="total_sum_value2"></td>
<td id="total_sum_value3"></td>
<td></td>
</tr>
</tfoot>
<div>
<input type="submit" name="go" class="btn btn-primary" value="Valider">
</div>
</table>
</form>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
function CalculSum(i) {
var textCal = ".txtCal" + i;
var total_sum_value = "#total_sum_value" + i;
var tableTxt = "#myTable " + textCal;
// document.write(tableTxt);
$("#myTable").on('input', textCal, function() {
var calculated_total_sum = 0;
$(tableTxt).each(function() {
var get_textbox_value = $(this).val();
if ($.isNumeric(get_textbox_value)) {
calculated_total_sum += parseFloat(get_textbox_value);
}
});
$(total_sum_value).html(calculated_total_sum);
});
}
$("#myTable").on('input', '.txtCal1', function() {
CalculSum(1)
});
$("#myTable").on('input', '.txtCal2', function() {
CalculSum(2)
});
$("#myTable").on('input', '.txtCal2', function() {
CalculSum(3)
});
});
</script>
</body>
</html>
[/PHP]
J’espère être assez clair
Merci de votre aide
Jeff