File "traitement006.php"
Full Path: /home/analogde/www/MDPH/Json/traitement006.php
File size: 5.29 KB
MIME-type: text/html
Charset: utf-8
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Interrogation DB</title>
<script>
// Définir le tableau de données
/*const tableau = {
"id": "row-1",
"name": "1",
"selectValue": "1",
"count": "14",
"cells": [
{ "value": "0", "color": "white" },
{ "value": "1", "color": "green" },
{ "value": "1", "color": "green" },
{ "value": "1", "color": "green" },
{ "value": "1", "color": "green" },
{ "value": "1", "color": "green" },
{ "value": "1", "color": "green" },
{ "value": "1", "color": "green" },
{ "value": "1", "color": "green" },
{ "value": "1", "color": "green" },
{ "value": "1", "color": "green" },
{ "value": "1", "color": "green" },
{ "value": "1", "color": "green" },
{ "value": "1", "color": "green" },
{ "value": "0", "color": "white" },
{ "value": "0", "color": "white" },
{ "value": "0", "color": "white" },
{ "value": "0", "color": "white" },
{ "value": "0", "color": "white" },
{ "value": "0", "color": "white" },
{ "value": "0", "color": "white" }
]
};*/
function loadFromDB()
{
return fetch("load_mysql.php")
.then(response => response.json())
.then(data => {
console.log("plouf");
return data;
})
.catch(error => {
console.error("Erreur :", error);
showMessageModal("Une erreur est survenue lors du chargement des données.");
});
}
// Fonction pour compter les sous-tableaux avec "value": "1"
/*function countSubarraysWithValueOne(cells) {
let count = 0;
let currentLength = 0;
for (let i = 0; i < cells.length; i++) {
if (cells[i].value === "1") {
currentLength++;
if (currentLength === 1) {
count++;
}
} else {
currentLength = 0;
}
}
return count;
}*/
// Fonction pour compter les occurrences de "value": "1" dans les cellules
function countValueOneInCells(cells) {
let count = 0;
for (let i = 0; i < cells.length; i++) {
if (cells[i].value === "1") {
count++;
}
}
return count;
}
// Fonction pour afficher le résultat dans la page HTML
async function displayResult() {
let data = await loadFromDB();
//console.log(data);
// Créer un tableau avec des sous-tableaux [ligne, valeur count]
/*
let countArray = [];
for (let i = 0; i < data.length; i++) {
countArray.push([i + 1, data[i].count]);
}
console.log(countArray);*/
// Utiliser les cellules de la première ligne de data pour countSubarraysWithValueOne
//const firstRowCells = data.length > 0 ? data[0].cells : [];
//const result = countSubarraysWithValueOne(firstRowCells);
//document.getElementById('result').innerText = `Nombre de sous-tableaux avec "value": "1" : ${result}`;
// Récupérer la valeur associée à "count"
//const countValue = tableau.count;
//document.getElementById('countValue').innerText = `Valeur associée à "count" : ${countValue}`;
// Afficher le tableau dans la section HTML
/*const tableContainer = document.getElementById('tableContainer');
let tableHTML = '<table border="1"><tr><th>Ligne</th><th>Valeur count</th></tr>';
countArray.forEach(row => {
tableHTML += `<tr><td>${row[0]}</td><td>${row[1]}</td></tr>`;
});
tableHTML += '</table>';
tableContainer.innerHTML = tableHTML;*/
// redondant
// Parcourir les sous-tableaux cells et compter les occurrences de "value": "1"
const cellsContainer = document.getElementById('cellsContainer');
let cellsHTML = '<table border="1"><tr><th>Ligne</th><th>Nombre de "value": "1"</th></tr>';
data.forEach((row, rowIndex) => {
const cells = row.cells;
const count = countValueOneInCells(cells);
cellsHTML += `<tr><td>${rowIndex + 1}</td><td>${count}</td></tr>`;
});
cellsHTML += '</table>';
cellsContainer.innerHTML = cellsHTML;
}
// Appeler la fonction pour afficher le résultat lorsque la page est chargée
window.onload = displayResult;
</script>
</head>
<body>
<h1>Compteur de Sous-Tableaux</h1>
<p id="result"></p>
<p id="countValue"></p>
<div id="tableContainer"></div>
<div id="cellsContainer"></div>
</body>
</html>